Files
open-agent-library/workspace-template/basic-ubuntu.json
Thomas Marchand 98c58169e9 Sync generic content from production library
- Add skills: bugbot-review, ffmpeg, media-creation, video-editing
- Add mcp/servers.json with example remote MCP config
- Add opencode/oh-my-opencode.json with example agent config
- Update README to document new directories
- Make workspace templates generic (remove personal email)
2026-01-15 20:34:44 +00:00

9 lines
2.4 KiB
JSON

{
"name": "basic-ubuntu",
"description": "Ubuntu workspace with networking helpers for container environments.",
"distro": "ubuntu-noble",
"skills": [],
"env_vars": {},
"init_script": "#!/usr/bin/env bash\nset -euo pipefail\n\nexport DEBIAN_FRONTEND=noninteractive\n\nif command -v apt-get >/dev/null 2>&1; then\n apt-get update\n apt-get install -y --no-install-recommends ca-certificates curl iproute2 iptables busybox git\n git config --global user.name \"OpenAgent\"\n git config --global user.email \"agent@localhost\"\nfi\n\nif command -v busybox >/dev/null 2>&1; then\n ln -sf \"$(command -v busybox)\" /usr/local/bin/udhcpc\n ln -sf \"$(command -v busybox)\" /usr/local/bin/udhcpc6\nfi\n\ncat >/usr/local/bin/openagent-udhcpc-script <<'EOF'\n#!/bin/sh\nset -eu\n\nmask2cidr() {\n local nbits=0 IFS=.\n for dec in $1; do\n case $dec in\n 255) nbits=$((nbits+8));;\n 254) nbits=$((nbits+7));;\n 252) nbits=$((nbits+6));;\n 248) nbits=$((nbits+5));;\n 240) nbits=$((nbits+4));;\n 224) nbits=$((nbits+3));;\n 192) nbits=$((nbits+2));;\n 128) nbits=$((nbits+1));;\n 0) ;;\n esac\n done\n echo \"$nbits\"\n}\n\ncase \"$1\" in\n deconfig)\n ip addr flush dev \"$interface\" || true\n ;;\n bound|renew)\n ip addr flush dev \"$interface\" || true\n mask_val=${subnet:-${mask:-255.255.255.0}}\n cidr=$(mask2cidr \"$mask_val\")\n ip addr add \"$ip/$cidr\" dev \"$interface\"\n gateway=${router%% *}\n if [ -z \"$gateway\" ]; then\n gateway=10.88.0.1\n fi\n ip route replace default via \"$gateway\" dev \"$interface\"\n if [ -n \"${dns:-}\" ]; then\n printf \"nameserver %s\n\" $dns > /etc/resolv.conf\n fi\n ;;\n esac\nEOF\nchmod +x /usr/local/bin/openagent-udhcpc-script\n\n# Helper to bring up host0 networking (veth) with DHCP + sane DNS\ncat >/usr/local/bin/openagent-network-up <<'EOF'\n#!/usr/bin/env bash\nset -euo pipefail\n\nif ip link show host0 >/dev/null 2>&1; then\n ip link set host0 up\n if command -v udhcpc >/dev/null 2>&1; then\n udhcpc -s /usr/local/bin/openagent-udhcpc-script -i host0 -q -n || true\n elif command -v busybox >/dev/null 2>&1; then\n busybox udhcpc -s /usr/local/bin/openagent-udhcpc-script -i host0 -q -n || true\n fi\nfi\n\nprintf \"nameserver 1.1.1.1\nnameserver 8.8.8.8\n\" >/etc/resolv.conf\nEOF\nchmod +x /usr/local/bin/openagent-network-up\n"
}