App Deployment Engine
The Coblyn MDM software provisioning engine allows system administrators to distribute applications silently and independently of the currently logged-in user. It supports a variety of modern installers, specifically focusing on MSI and parametric EXE execution for Windows, and native integration with apt for Linux.
Execution Architecture
The deployment process follows a precise flow directed by the Go Agent:
- Discovery (Task Synchronization): Through the
GetApplicationspolling flow, the Agent receives a JSON payload mapping all the installers assigned to it from the Coblyn Server (via Device or Group links). - Detection (Idempotency): Before downloading anything, the Agent executes pre-defined detection scripts (Powershell/Bash) to check if the exact application version is already present. If the condition is met, the deployment is correctly bypassed.
- Downloading: The agent securely fetches the binary installer and places it inside its staging area (
C:\ProgramData\Coblyn\Downloads). - Execution (Silent Install): Coblyn fires the binary and injects the defined Silent Args (
/qn,/S,/norestart). The child process is monitored, capturing bothstdoutand the final exit code. - Reporting: The exit code translates into a successful or failed state and is shipped back to the server using
POST /api/mdm/agent/task_result. Exit code 0 clears the task as successful.
Best Practices
- Magic Silent Arguments: For Microsoft-compiled packages (
.msi), the magic argument is universally/qn /norestart. For.exewrappers, it's typically/S(Nullsoft) or/VERYSILENT(Inno Setup). We strongly recommend running local dry-run tests for foreign.exeinstallers. - Custom Config Bundling: If an application requires a configuration file alongside its run script, we suggest creating a
.bator.ps1deployment wrapper instead of calling the raw.exe.