How synchronization works
Synchronization is enabled by default (every 5 minutes). On each run, formae reads the current state of every resource it knows about, managed and unmanaged alike, and compares it against what’s recorded. If something changed outside formae, through the cloud console, another IaC tool, or a script, formae updates its own state to match immediately. This does not touch your forma code or your cloud resources; formae just stops being stale. What happens on your nextapply depends on the mode: soft reconcile (the default) rejects the apply so you can review the drift, and --force (hard reconcile) overwrites it with your declared state. See Apply modes for the full mechanism.
Synchronization is what lets you:
- Use formae alongside other tools without conflicts
- Make emergency changes through the cloud console when you need to
- Collaborate with teammates using different workflows
- Always have an accurate view of your infrastructure, regardless of how it was last touched
Configuration
Synchronization is on by default. Tune the interval, or turn it off, in your agent configuration:Use cases
- Emergency fixes. Make a quick change through the cloud console during an incident. formae picks it up on the next sync, so your recorded state stays current even if your forma code hasn’t changed yet.
- Multi-tool environments. If your team uses more than one tool to manage infrastructure, synchronization keeps formae’s view accurate regardless of what made the change.
- Gradual adoption. Keep using your existing tools while formae tracks everything in the background, building a complete, current view of your infrastructure as you migrate.
See also
- Discovery: how formae finds resources it doesn’t manage yet.
- Apply modes: soft vs. hard reconcile, and how out-of-band changes affect an apply.

