Skip to content

Fall: Progress Report 2

Matt C edited this page Apr 24, 2026 · 1 revision

Technical Tasks:

  • Bootstrap a Python server using HTTP to talk to and from clients
    • Make at least a barebones database structure for storing endpoint & task info (**NOTE: ** DB schema (syntax) is on Draft Methodology, will eventually become it's own page
  • Bootstraped a Go client program to ping the server, and print task data

API function documentation

image

API Communication Flow

Step Direction Description Purpose Implementation Details
1 Backend Server → CapyDaemon Backend server sends task action via API call Initiate tasks on endpoint agent (e.g., run scripts, execute commands, collect data) • Authentication: Mutual TLS (mTLS) for bidirectional certificate validation
• CapyDaemon receives task payload with action type and parameters
• Task types include: powershell/cmd/bash scripts or predefined tasks
• Built-in retry logic in management program for failed dispatch attempts to backend API
2 CapyDaemon → Backend Server CapyDaemon updates results and status of command to backend server Report task execution results and maintain agent heartbeat with backend • CapyDaemon calls backend API with task completion status (success/failure)
• Includes output data, logs, or error messages
• Periodic status updates: CapyDaemon regularly reports general health and checks for new tasks (heartbeat mechanism)
• Built-in retry logic in CapyDaemon for failed API calls to backend
• mTLS authentication for secure communication
3 CapyDaemon → Backend Server CapyDaemon pulls additional resources based on task requirements Pull-on-demand model for configuration files needed by tasks or services • Pull-based model: Task payload in Step 1 may include references to required files
• CapyDaemon initiates separate pull request(s) to backend API to retrieve needed resources
• Resources may include: service configs (HTTP server, etc.), scripts, data files
• State safety: Pull model prevents unknown/inconsistent states if CapyDaemon is offline
• Config files delivered to monitored host's filesystem
• No concern for missed updates—CapyDaemon only pulls what it needs when active
Debug Function Local (Monitored Host) Debug function within CapyDaemon for ad-hoc command execution Development/troubleshooting capability to execute commands without full task workflow • Debug function built into CapyDaemon
• Bypasses normal task workflow
• Direct powershell/cmd/bash command execution
• Security: Should be disabled/restricted in production environments

Clone this wiki locally