# Hardcoded IPs in zlh-agent — Need to Fix

## Artifact server IP (10.60.0.251:8080) — ACTION REQUIRED

| File | Type | Fix |
|------|------|-----|
| internal/update/update.go:23 | **Compiled constant** | Code change + recompile required |
| internal/provision/common.go:35 | Fallback | Set ZLH_ARTIFACT_BASE_URL env var |
| internal/provcommon/common.go:59 | Fallback | Set ZLH_ARTIFACT_BASE_URL env var |
