Skip to main content
InfraAudit runs background jobs on a cron schedule to keep your infrastructure data current without manual intervention. The Jobs section lets you view job history, trigger manual runs, and — for self-hosted deployments — adjust schedules.

Job types

Job typeWhat it doesDefault schedule
resource_syncPulls the latest resource inventory from all providersEvery 6 hours
drift_detectionCompares current resource state to baselinesEvery 4 hours
vulnerability_scanRuns Trivy against scannable artifactsDaily at 02:00 UTC
cost_syncFetches billing data from provider APIsDaily at 03:00 UTC
compliance_checkRuns all enabled compliance frameworksDaily at 04:00 UTC

Job list

In the sidebar, click Jobs. The list shows all defined jobs with:
  • The job type and name
  • Next scheduled run time
  • Status of the last execution (succeeded, failed, or running)
Click a job to expand its execution history — a timeline of past runs with start time, duration, status, and a log excerpt.

Triggering a manual run

Click Run now on any job in the UI, or trigger one from the CLI:
# List all jobs
infraudit job list

# Trigger a manual run
infraudit job trigger <job-id>

# Trigger and wait for completion
infraudit job trigger <job-id> --wait

Job execution detail

Click any past execution to see:
  • Start and end timestamps
  • Duration
  • Status (running, succeeded, or failed)
  • Log output (last 500 lines)
  • Resources or findings affected by the run

Modifying schedules (self-hosted)

For self-hosted deployments, schedules are configured via environment variables. Edit .env and restart the API:
JOB_RESOURCE_SYNC_SCHEDULE=0 */6 * * *
JOB_DRIFT_DETECTION_SCHEDULE=0 */4 * * *
JOB_VULNERABILITY_SCAN_SCHEDULE=0 2 * * *
JOB_COST_SYNC_SCHEDULE=0 3 * * *
JOB_COMPLIANCE_CHECK_SCHEDULE=0 4 * * *
These use standard cron syntax (minute, hour, day-of-month, month, day-of-week). The scheduler supports an optional seconds prefix if you need sub-minute precision.
On SaaS, job schedules are not user-configurable. Contact support if you need a non-standard schedule for your plan.

Disabling a job

There’s no disable toggle in the UI. To stop a job from running on self-hosted deployments, remove or comment out its SCHEDULE environment variable and restart the API. Alternatively:
infraudit job disable <job-id>

Notifications on job failure

When a job fails, InfraAudit creates an alert in the Alerts section. To also receive a Slack notification when a job fails, add a routing rule for the job.failed event type under Settings → Notifications → Routing.

Next steps