chore: import upstream snapshot with attribution
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
[Unit]
|
||||
Description=Memory Shepherd — MEMORY.md Baseline Reset
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=%h/ods/memory-shepherd/memory-shepherd.sh ods-agent-memory
|
||||
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Memory Shepherd — MEMORY.md Timer (3h)
|
||||
|
||||
[Timer]
|
||||
OnBootSec=5min
|
||||
OnCalendar=*-*-* 00/3:00:00
|
||||
RandomizedDelaySec=5min
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=Memory Shepherd — Workspace Files (AGENTS.md + TOOLS.md)
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=%h/ods/memory-shepherd/memory-shepherd.sh ods-agent-agents
|
||||
ExecStart=%h/ods/memory-shepherd/memory-shepherd.sh ods-agent-tools
|
||||
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Memory Shepherd — Workspace Files Timer (60s)
|
||||
|
||||
[Timer]
|
||||
OnBootSec=20s
|
||||
OnUnitActiveSec=60s
|
||||
AccuracySec=5s
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@@ -0,0 +1,32 @@
|
||||
[Unit]
|
||||
Description=ODS first-boot AP mode (hostapd + dnsmasq captive portal)
|
||||
# Order AFTER NetworkManager, not before. ap-mode.sh's bring-up calls
|
||||
# `nmcli device set <iface> managed no` to release the wireless
|
||||
# interface — that only works if NetworkManager is actually running.
|
||||
# An earlier draft had `Before=NetworkManager.service`, which let the
|
||||
# unit start before NM was up; the nmcli release was a no-op, and NM
|
||||
# could then reclaim the interface from hostapd a moment later. By
|
||||
# ordering after, we're guaranteed NM is alive to honor the release.
|
||||
After=network-pre.target NetworkManager.service
|
||||
Wants=NetworkManager.service
|
||||
|
||||
# OPT-IN. This unit is installed but NOT enabled by the installer.
|
||||
# Enable it manually with `systemctl enable --now ods-ap-mode`
|
||||
# only after writing /etc/ods/ap-mode.conf with the AP credentials.
|
||||
# See docs/AP-MODE.md.
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
# ap-mode.sh launches hostapd + dnsmasq in the background then exits.
|
||||
# Both daemons write PID files into /run/ods-ap-mode/.
|
||||
ExecStart=__INSTALL_DIR__/scripts/ap-mode.sh up
|
||||
ExecStop=__INSTALL_DIR__/scripts/ap-mode.sh down
|
||||
PIDFile=/run/ods-ap-mode/hostapd.pid
|
||||
RemainAfterExit=yes
|
||||
# Don't restart automatically — if hostapd died, we want the operator
|
||||
# to see why. Auto-restart would hide a deeper problem (bad config,
|
||||
# driver, kernel) behind retry loops.
|
||||
Restart=no
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=ODS Host Agent
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=__INSTALL_USER__
|
||||
SupplementaryGroups=docker
|
||||
ExecStart=__PYTHON3__ __INSTALL_DIR__/bin/ods-host-agent.py
|
||||
WorkingDirectory=__INSTALL_DIR__
|
||||
Environment=ODS_HOME=__INSTALL_DIR__
|
||||
Environment=HOME=__HOME__
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
TimeoutStopSec=15
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=ODS mDNS Announcer
|
||||
After=network-online.target avahi-daemon.service
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=__INSTALL_USER__
|
||||
ExecStart=__PYTHON3__ __INSTALL_DIR__/bin/ods-mdns.py
|
||||
WorkingDirectory=__INSTALL_DIR__
|
||||
Environment=ODS_INSTALL_DIR=__INSTALL_DIR__
|
||||
Environment=HOME=__HOME__
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=OpenClaw Session Cleanup
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
Environment=SESSIONS_DIR=%h/ods/data/openclaw/home/agents/main/sessions
|
||||
Environment=MAX_SIZE=80000
|
||||
ExecStart=%h/ods/scripts/session-cleanup.sh
|
||||
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=OpenClaw Session Cleanup Timer
|
||||
|
||||
[Timer]
|
||||
OnBootSec=30s
|
||||
OnUnitActiveSec=60s
|
||||
AccuracySec=5s
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
Reference in New Issue
Block a user