Skip to content

Windows Native Operations

Recommended Windows production path. Installer: scripts/windows/service. Service name: IQVIntegrationAPI.

The current installer is source-based: it expects go.mod (so Get-RepoRoot works), Go, and Git on the build/install host. The GitHub Release *-windows-native-amd64.zip is that source snapshot plus these scripts. It is not a prebuilt .exe package. First install can run from the extracted zip after you copy .env.example to .env. update.ps1 still expects a git worktree; clone the matching tag or extract a newer zip and re-run install.ps1 (runtime config\.env is preserved by default).

Full install narrative: Windows Service Installation.

Runtime layout

text C:\IQVizyon\IQVIntegrationAPI\ bin\iqv-integration-api.exe config\.env logs\installer-update.log backups\ deployment\deployment.json

Canonical config path: C:\IQVizyon\IQVIntegrationAPI\config\.env. Do not use config.env in the runtime root.

Service status

powershell powershell.exe -ExecutionPolicy Bypass -File .\scripts\windows\service\status.ps1 Get-Service IQVIntegrationAPI sc.exe query IQVIntegrationAPI

Open Services (services.msc) and locate IQV Integration API.

status.ps1 reports service state, delayed auto-start, LocalService, PID, version, commit, port, MongoDB, /health/live, /health/ready, firewall, and a redacted recent installer log. Exit 0 only when the reported state is healthy.

Start / stop / restart

```powershell Start-Service IQVIntegrationAPI Stop-Service IQVIntegrationAPI Restart-Service IQVIntegrationAPI

sc.exe start IQVIntegrationAPI sc.exe stop IQVIntegrationAPI

.\bin\iqv-integration-api.exe service start .\bin\iqv-integration-api.exe service stop .\bin\iqv-integration-api.exe service restart .\bin\iqv-integration-api.exe service status ```

Prefer the project scripts for install/update/uninstall. Binary service commands manage SCM only.

Delayed automatic startup

Install registers Start=Automatic and DelayedAutoStart=true (Automatic (Delayed Start)). After a host reboot the service starts without a manual Start-Service.

MongoDB dependency

Default: SCM dependency on the Windows service named MongoDB. The installer does not install MongoDB. Disable only with the documented no-dependency flag when MongoDB is not a local Windows service.

Recovery policy

Restart after 5s, then 10s, then 30s. Reset period 86400 seconds.

Firewall

Installer creates inbound TCP allow for the configured HTTP port on Domain,Private only (never Public). Display name: IQV Integration API - TCP <port>.

powershell Get-NetFirewallRule -DisplayName "IQV Integration API - TCP *"

Logs

Application slog goes to process stdout. The SCM host does not redirect that stdout to logs\. The Event Log source IQVIntegrationAPI is registered; the application does not write slog lines there.

Installer/update file log:

text C:\IQVizyon\IQVIntegrationAPI\logs\installer-update.log

See Logging.

Backup and metadata

Backups: C:\IQVizyon\IQVIntegrationAPI\backups\<timestamp>\
Metadata: C:\IQVizyon\IQVIntegrationAPI\deployment\deployment.json (no secrets).

Health

powershell Invoke-RestMethod http://127.0.0.1:<HTTP_PORT>/health/live Invoke-RestMethod http://127.0.0.1:<HTTP_PORT>/health/ready

Repair / update / uninstall

Action Command
ServiceRepair / idempotent re-install install.ps1 while the service already exists (config preserved)
Update update.ps1 (NO-OP when same commit; -ForceRedeploy to redeploy)
Uninstall uninstall.ps1 (runtime preserved by default)

See Update and Rollback and Uninstall.