3.1 KiB
| title | linkTitle | weight | description |
|---|---|---|---|
| Runner Orchestration | Runner Orchestration | 30 | GARM |
{{% alert title="Draft" color="warning" %}} Editorial Status: This page is currently being developed.
- Jira Ticket: TICKET-XXX
- Assignee: [Name or Team]
- Status: Draft
- Last Updated: YYYY-MM-DD
- TODO:
- Add detailed component description
- Include usage examples and code samples
- Add architecture diagrams
- Review and finalize content {{% /alert %}}
Overview
[Detailed description of the component - what it is, what it does, and why it exists]
Key Features
- [Feature 1]
- [Feature 2]
- [Feature 3]
Purpose in EDP
[Explain the role this component plays in the Edge Developer Platform and how it contributes to the overall platform capabilities]
Repository
Code: [Link to source code repository]
Documentation: [Link to component-specific documentation]
Getting Started
Prerequisites
- [Prerequisite 1]
- [Prerequisite 2]
Quick Start
[Step-by-step guide to get started with this component]
- [Step 1]
- [Step 2]
- [Step 3]
Verification
[How to verify the component is working correctly]
Usage Examples
[Use Case 1]
[Example with code/commands showing common use case]
# Example commands
[Use Case 2]
[Another common scenario]
Integration Points
- [Component A]: [How it integrates]
- [Component B]: [How it integrates]
- [Component C]: [How it integrates]
Architecture
The primary technical innovation was the integration of GARM to enable ephemeral, scalable runners. This required extending Forgejo's capabilities to support GitHub-compatible runner registration and webhook events.
Workflow Architecture:
- Event: A workflow event occurs in Forgejo.
- Trigger: A webhook notifies GARM.
- Provisioning: GARM spins up a fresh, ephemeral runner.
- Execution: The runner registers via the API, executes the job, and is terminated immediately after, ensuring a clean build environment.
sequenceDiagram
participant User
participant Forgejo
participant GARM
participant Runner as Ephemeral Runner
User->>Forgejo: Push Code / Trigger Event
Forgejo->>GARM: Webhook Event (Workflow Dispatch)
GARM->>Forgejo: Register Runner (via API)
GARM->>Runner: Spin up Instance
Runner->>Forgejo: Request Job
Forgejo->>Runner: Send Job Payload
Runner->>Runner: Execute Steps
Runner->>Forgejo: Report Status
GARM->>Runner: Terminate (Ephemeral)
Configuration
[Key configuration options and how to set them]
Troubleshooting
[Common Issue 1]
Problem: [Description]
Solution: [How to fix]
[Common Issue 2]
Problem: [Description]
Solution: [How to fix]
Status
Maturity: [Production / Beta / Experimental]
Additional Resources
- [Link to external documentation]
- [Link to community resources]
- [Link to related components]
Documentation Notes
[Instructions for team members filling in this documentation - remove this section once complete]