8a94ffd58f
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
# Demo module — tiny alpine container used to validate panel end-to-end
|
|
# without pulling multi-GB game server images. The container just sleeps,
|
|
# so the runtime exercises pull / create / start / stop / logs / wait without
|
|
# needing RCON or any real game behaviour.
|
|
id: demo
|
|
name: "Demo (alpine sleeper)"
|
|
version: 0.1.0
|
|
authors:
|
|
- panel contributors
|
|
supported_modes:
|
|
- docker
|
|
runtime:
|
|
docker:
|
|
image: alpine:3.21
|
|
# Host networking -- container shares the host net namespace, so
|
|
# any port the game/mod binds is directly on the LAN. AMP-like
|
|
# model. Multi-instance safety comes from env-driven per-instance
|
|
# ports (panel allocator + env: mapping on each ports entry).
|
|
network_mode: host
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
echo "demo instance starting";
|
|
i=0;
|
|
while true; do
|
|
echo "tick $i $(date -Iseconds)";
|
|
i=$((i+1));
|
|
sleep 2;
|
|
done
|
|
ports:
|
|
- { name: dummy, proto: tcp, default: 14000 }
|
|
resources:
|
|
min_ram_mb: 32
|
|
recommended_ram_mb: 64
|
|
update_providers:
|
|
# Exercise the Direct provider with a small, stable URL. Running the
|
|
# update places the GPL-3.0 text at /data-ish/license.txt.
|
|
- id: gpl
|
|
kind: direct
|
|
url: "https://www.gnu.org/licenses/gpl-3.0.txt"
|
|
target_path: "license.txt"
|
|
# GitHub provider: grabs the latest `buf` CLI release note as a demo
|
|
# (asset_regex matches any tar.gz).
|
|
- id: buf-latest
|
|
kind: github
|
|
repo: "bufbuild/buf"
|
|
asset_regex: "buf-Linux-x86_64.tar.gz"
|
|
target_path: "downloads/buf.tar.gz"
|
|
|
|
# --- Manifest-driven UI metadata (WI-07) --------------------------
|
|
# Consumed by the CONTROLLER/dashboard only (the controller loads its
|
|
# own ./modules copy at startup); the agent ignores these at runtime.
|
|
appearance:
|
|
emoji: "🧪"
|
|
grad: "linear-gradient(135deg,#4b5563,#9ca3af)"
|