Files
agentrunner/cleargrow-agent-runner.service
CI System 5903b69b2d Initial commit: ClearGrow Agent Runner
Automated task orchestration system for YouTrack + Gitea + Woodpecker CI:

- runner.py: Main orchestration engine with state machine workflow
- agent.py: Claude Code subprocess pool management
- youtrack_client.py: YouTrack API wrapper
- gitea_client.py: Gitea API + git CLI operations
- woodpecker_client.py: CI build monitoring
- webhook_server.py: Real-time event handling
- prompts/: Agent prompt templates (developer, qa, librarian)

Workflow: Ready → In Progress → Build → Verify → Document → Review → Done

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 21:05:31 -07:00

54 lines
1.1 KiB
Desktop File

[Unit]
Description=ClearGrow Agent Runner
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
# Run as dedicated user (not root!)
User=cleargrow
Group=cleargrow
# Working directory
WorkingDirectory=/opt/agent_runner
# Main process
ExecStart=/opt/agent_runner/venv/bin/python /opt/agent_runner/runner.py -c /opt/agent_runner/config.yaml
# Restart policy
Restart=always
RestartSec=30
# Stop timeout (allow agents to finish)
TimeoutStopSec=120
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=cleargrow-agent-runner
# Environment
Environment="PYTHONUNBUFFERED=1"
Environment="HOME=/home/cleargrow"
Environment="YOUTRACK_URL=https://track.yourdomain.com"
# Token should be in a separate env file for security
EnvironmentFile=-/opt/agent_runner/.env
# Security hardening
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=read-only
PrivateTmp=true
# Allow write access to required directories
ReadWritePaths=/opt/repos
ReadWritePaths=/var/log/cleargrow_agent_runner.log
# Allow network access
PrivateNetwork=false
[Install]
WantedBy=multi-user.target