4.7 KiB
4.7 KiB
Related Work
RW01: Gitea / Gitea Actions
- DOI: https://gitea.com / https://docs.gitea.com/usage/actions/overview
- Type: imports
- Delta:
- What changed: Gitea Actions is the CI/CD system used directly; this pipeline is built on its workflow syntax and act-runner infrastructure
- Why: Self-hosted alternative to GitHub Actions; compatible workflow YAML syntax; integrated with self-hosted Gitea git server
- Claims affected: C02, C03
- Adopted elements: Workflow YAML syntax (
.gitea/workflows/*.yaml), runner registration protocol, label-based job routing, act-cache-server cache protocol
RW02: act-runner (Gitea's official runner)
- DOI: https://gitea.com/gitea/act_runner
- Type: imports
- Delta:
- What changed: act-runner is the execution engine for all workflow jobs in this pipeline
- Why: Official runner for Gitea Actions; supports Docker container executor; manages job container lifecycle
- Claims affected: C01, C02, C03, C04, C05
- Adopted elements: Container executor, config.yml schema (capacity, shutdown_timeout, cache), label registration
RW03: nektos/act (upstream of act-runner)
- DOI: https://github.com/nektos/act
- Type: bounds
- Delta:
- What changed: act-runner is a fork/derivative of nektos/act; the container spawning model, act-cache-server protocol, and workflow execution engine are inherited from act
- Why: Understanding act's architecture explains act-runner's behavior (separate network namespace per job container, Docker socket mounting, cache server protocol)
- Claims affected: C03 (Docker bridge DNS isolation comes from act's container model)
- Adopted elements: Container lifecycle model, act-cache-server protocol (port 39913), job container network isolation
RW04: space-wizards/space-station-14
- DOI: https://github.com/space-wizards/space-station-14
- Type: imports
- Delta:
- What changed: wylab-station-14 is a fork of space-wizards/space-station-14; the build process, .NET SDK requirements, and project structure are inherited from upstream
- Why: SS14 is a C# game server codebase requiring .NET SDK; the dotnet build complexity and memory footprint drive the OOM constraints (C04)
- Claims affected: C04 (OOM due to dotnet build complexity)
- Adopted elements: .NET project structure, Dockerfile pattern for server containerization
RW05: OrbStack
- DOI: https://orbstack.dev
- Type: baseline
- Delta:
- What changed: OrbStack replaced Colima as the macOS Docker provider for the ARM64 runner
- Why: Lower overhead, faster startup than Docker Desktop and Colima; but introduces no-swap constraint
- Claims affected: C04 (no-swap behavior amplifies OOM risk)
- Adopted elements: Linux VM for Docker containers on macOS; Docker socket integration
RW06: Technitium DNS Server
- DOI: https://technitium.com/dns/
- Type: bounds
- Delta:
- What changed: Technitium runs on Unraid (192.168.1.50) and is the authoritative resolver for internal hostnames including git.wylab.me
- Why: Without Technitium, git.wylab.me is unresolvable; runner job containers need access to Technitium to complete git operations
- Claims affected: C03
- Adopted elements: Internal DNS authority for *.wylab.me; resolves to Gitea container IP
RW07: Traefik Reverse Proxy
- DOI: https://traefik.io
- Type: bounds
- Delta:
- What changed: Traefik handles TLS termination and HTTP routing for git.wylab.me on Unraid
- Why: Gitea is exposed externally and internally through Traefik; runner job containers need to route through Traefik to reach Gitea
- Claims affected: C03
- Adopted elements: TLS termination, routing for git.wylab.me → Gitea container
Additional Infrastructure References
- Docker (docker.com): Container runtime used by act-runner for job containers and by Unraid for all hosted services including Gitea and the SS14 server. Docker bridge networking is the root cause of DNS isolation issues (C03).
- GitHub Actions (github.com/features/actions): The spiritual predecessor and compatibility target for Gitea Actions. Workflow YAML syntax is largely compatible. Key difference: GitHub provides hosted runners with reliable DNS; self-hosted Gitea Actions requires manual DNS configuration.
- Microsoft .NET SDK (dotnet.microsoft.com): Build toolchain for Space Station 14 (C# codebase). The .NET build server's memory model is the root cause of OOM issues (C04). NuGet package cache is the primary cache target (C01, C02).
- Contabo VPS (45.137.68.83, Düsseldorf): External runner host attempted during 2025-12-15 debugging. Abandoned due to Node.js module errors and cache ETIMEDOUT. Later reused as SS14 CDN mirror server.