dnf install reads metadata for every enabled repo and downloads the
vendored vault RPM on every pipeline run. Fetch the pinned upstream zip
from the artifactapi hashicorp-releases remote instead, matching
terraform-vault and terraform-artifactapi.
- Replace dnf install vault with a pinned curl of the vault zip from the
artifactapi hashicorp-releases remote, extracted to /usr/local/bin.
PR plan pipelines were failing with "Error acquiring the state lock"
when they collided with a concurrent apply (or another plan) holding
the lock on the same Consul-backed state.
- plan: pass -lock=false to terragrunt plan; apply keeps locking
The versions.tf conflicts with terragrunt's generated backend.tf which
already has required_providers. Exclude modules/ from tofu-validate and
tflint pre-commit hooks since they can't init without the full terragrunt
context.
Reorder quality_groups to match provider state (highest quality first),
use correct group structure (omit id/name for single-quality entries),
add lifecycle ignore_changes for sensitive fields (api_key, password),
support explicit name override via YAML for display name mismatches,
and add min_upgrade_format_score attribute.
The devopsarr sonarr provider cannot handle float min/max values in
SizeSpecification as set element keys. Remove size custom formats from
terraform management and look up their IDs via a data source instead.
Also change variable types from map(any) to any to allow heterogeneous
quality profile structures.
Use nested attribute assignment instead of dynamic blocks for
specifications, quality_groups, and format_items. Remove unsupported
season_search_maximum_single_episode_age from indexer configs. Flatten
custom format specifications to use value/min/max directly.