Documentation
Configuration drift is a difference between what Veltrix deployed and what is actually live on the target system, typically because someone changed it by hand outside the pipeline. Drift detection is the Monitor stage of the pipeline: after a configuration is deployed, Veltrix keeps checking that the live system still matches it.
Drift detection is part of the Starter plan and above. See Plans, permissions and gotchas.
| Place | What you get |
|---|---|
Sidebar, Drift (/pipeline/drift) | The full list of drift records for your organization. The sidebar badge is the number of unresolved records. |
Pipeline dashboard (/pipeline) | A Drift Alerts count and a panel with up to ten unresolved records. |
| A configuration's details window, Drift tab | The records for that one configuration, Check drift now, Acknowledge and Correct. The tab label shows the number of unresolved records. |
Settings, Drift Detection (/settings/drift-detection) | The organization-wide check schedule. |
| Marketplace, an app's Settings (gear) icon | A per-app schedule override under "Drift detection". |
A sweep runs every hour. For each deployed configuration it works out the effective frequency (see Setting the schedule) and checks the configuration only when it is due: when it has never been checked, or when the last check is older than its frequency (one hour, one day or one week). Tenants on a plan without drift detection are skipped. Hourly is therefore the finest granularity. Because a check is timestamped when it finishes, the due test allows a 15-minute tolerance, so an hourly configuration is checked at every hourly sweep.
| Where | Scope | Behaviour |
|---|---|---|
| Drift page, Check drift now | Every deployed configuration in your organization | Runs immediately and waits for the result. It can take a while on large estates. When it finishes you see "Checked — N unresolved drift records." The list refreshes. |
| Configuration details, Drift tab, Check drift now | That configuration | Runs in the background; the tab shows the result when it finishes, waiting up to two minutes. If it is still running you are told results will appear shortly. |
Both buttons need write access and a plan with drift detection. On-demand checks count toward the pipeline rate limit of 30 operations per minute per organization.
| Part | Meaning |
|---|---|
| Title | "Configuration Drift" with the severity. "Resolved" appears when closed, and "Acknowledged, awaiting correction" when someone has acknowledged it. |
| Target line | Target server (or domain), environment, and the number of changes detected. |
| Detected | When Veltrix first recorded the drift. Repeated checks keep the first detection time and any acknowledgment. |
| Changed by | Who made the change and when, plus "+N others" when several people were involved. This comes from the target tool's own audit trail where the app can read it; when it cannot, the record simply has no attribution. |
| Expanded view | A table with Field, Expected (the deployed value), Actual (the live value), Severity and Changed by. Hover a name to see the email. |
| Severity | Meaning |
|---|---|
| Critical | At least one difference is critical. A critical record also raises a security alert. |
| Warning | The most serious difference is a warning. |
| Info | Only informational differences. |
Each difference carries its own severity, set by the app's drift handler; the record takes the highest.
| State | Meaning |
|---|---|
| Unresolved | The live state still differs from the deployed version. |
| Acknowledged | Someone has taken ownership. The record stays open until the live state is corrected. |
| Resolved | Closed. The recorded action is drift cleared (a later check found a match), redeployed (corrected from the portal) or verified. |
There is no "accept" or "dismiss" button. A record closes only when the live state matches the deployed version. To keep a live change, put it into the configuration, get it approved and deploy it. Resolving through the API re-verifies first and refuses with a conflict if drift is still present.
If you have never set it, the default is Hourly.
A per-app setting always wins over the organization default. Choosing Inherit removes the override.
| Value | Effect |
|---|---|
| Off | No scheduled checks. On-demand checks still work. |
| Hourly | Checked at a sweep once at least an hour has passed since its last check. |
| Daily | Checked once 24 hours have passed. |
| Weekly | Checked once seven days have passed. |
| Item | Free | Starter | Professional | Enterprise |
|---|---|---|---|---|
| Drift detection | No | Yes | Yes | Yes |
On the Free plan the Pipeline dashboard and Drift page show an upgrade prompt, the scheduled sweep skips your organization, and the drift API answers "Configuration drift detection requires a paid plan." The Drift Detection settings page shows the same upgrade prompt instead of the schedule.
| You can | Permission needed |
|---|---|
| View drift records and the schedule | Configuration Canvas read |
| Check now, Acknowledge, Correct, change the schedule | Configuration Canvas write |