v1.7.2: Startup configuration validation

Server, Runner and Agent now validate their configuration at startup and fail with a single aggregated error listing everything that is missing, rather than starting and failing later at first use with a partial message.

Full notes: 1.7.2 on GitHub.

What changed

Settings classes carry [Required] and [NonEmptyGuid] annotations, and registration moved from services.Configure<T>() to AddOptions<T>().Bind().ValidateDataAnnotations().ValidateOnStart() across all three services. Conditional validators cover provider-dependent fields, where a setting is only required given some other choice.

Validation runs eagerly in Server startup before migrations, so a misconfigured server fails fast rather than part-way through a database change. The scattered ad-hoc ?? throw and if-throw checks that used to do this unevenly are gone.

Published schemas stay accurate

The settings schema generator emits required arrays from the same annotations, so the schemas the docs site publishes cannot drift from what the services actually demand. StateStoreSettings was missing from the server schema generator entirely and is now included.

Snap CD

Intelligent GitOps for Infrastructure as Code. Automate, orchestrate, and scale your infrastructure deployments with confidence.


© 2026 Snap CD. All rights reserved.

An unhandled error has occurred. Reload 🗙