2.5 KiB
2.5 KiB
| ui_doc_type | component_id | status | source_evidence | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| component | runner-self-update-form | 계획 |
|
Runner Self Update Form
Component ID: runner-self-update-form
Status: 계획
Source Evidence
| Type | Path | Notes |
|---|---|---|
| code | packages/flutter/oto_console/lib/src/oto_runners_surface.dart |
_buildSelfUpdateForm 구현 |
| code | packages/flutter/oto_console/lib/src/oto_console_contract.dart |
OtoRunnerSelfUpdateDraft validation |
| docs | agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md |
self-update write action audit 후보 |
Purpose
runner별 target version과 HTTPS download URL을 받아 self-update action을 제출한다.
Used By
runners:runners.self-update-form
Anatomy
- version text field
- download URL text field
- Update button
- inline submitting spinner
- action feedback
Jenkins Reference Alignment
- Jenkins plugin/core update action의 운영 밀도를 참고하되, runner self-update는 OTO 고유 action으로 정의한다.
- HTTPS URL guard는 Jenkins update center처럼 신뢰 가능한 artifact source를 요구하는 UX 신호로 둔다.
- update accepted/deferred/failed 결과는 같은 runner row 안에서 확인할 수 있어야 한다.
Target Layout Delta
- self-update form은 runner row의 always-open 입력 영역이 아니라 action panel 또는 inline expanded action으로 제한한다.
- version/URL validation은 유지하고, failed/deferred feedback은 같은 runner context에 묶는다.
- 현재 row 내부 form은 목표 management action layout 전 단계이므로 코드 반영 전 상태는
계획이다.
Variants
- enabled: version과 HTTPS URL이 유효하고 handler가 있음
- disabled: 입력 부족, HTTP URL, submitting, handler 없음
States
- default
- editing
- submitting
- disabled
- result-visible
Rules
- download URL은
https://로 시작해야 한다. - private release credential 원문을 문서나 UI fixture에 남기지 않는다.
Decision History
- 2026-06-24: runner self-update form을 독립 component로 정의했다.