Skip to content

chore: unify nullplatform provider version (~> 0.0.86) and module hygiene#405

Merged
gdrojas merged 5 commits into
mainfrom
chore/unify-nullplatform-provider-version
Jun 25, 2026
Merged

chore: unify nullplatform provider version (~> 0.0.86) and module hygiene#405
gdrojas merged 5 commits into
mainfrom
chore/unify-nullplatform-provider-version

Conversation

@gdrojas

@gdrojas gdrojas commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

What

Normalizes the nullplatform provider usage across all 26 modules under nullplatform/ and adds some module hygiene. Three logical commits:

1. Unify the provider version constraint (chore(deps))

  • All 26 modules that declare the provider now use ~> 0.0.86.
  • Previously: most used the unbounded >= 0.0.86 (no ceiling on a 0.0.x provider, so init -upgrade could pull any future breaking release), plus two outliers — scope_configuration (~> 0.0.67) and asset/ecr (~> 0.0.88).
  • Regenerated every .terraform.lock.hcl so the locked provider version is uniform at 0.0.95 (the current latest, within ~> 0.0.86), with hashes for linux_amd64, darwin_amd64 and darwin_arm64. Other providers' lock entries are untouched.

2. Standardize file naming (chore)

  • Rename scope_configuration/provider.tfproviders.tf to match the other 25 modules.

3. Input validation + missing descriptions (feat)

  • users: validate email format and require at least one role_slug.
  • metrics: prometheus_url must be http(s) when set.
  • scope_configuration: provider_specification_slug must not be empty.
  • scope_definition_agent_association: validate github_repo_url is an HTTP(S) URL and add the missing description on the nrn variable.

Why

>= 0.0.86 with no ceiling is risky on a 0.0.x provider (every release can be breaking). ~> 0.0.86 keeps patch updates within 0.0.x but blocks 0.1.0+. Unifying the constraint and the lockfiles makes provider resolution reproducible and consistent across modules. The validations catch common misconfigurations at plan time instead of failing against the API.

Verification

  • tofu validate passes on the touched modules.
  • All added validations tested with valid/invalid inputs (14/14 accept-good / reject-bad with the right error message).
  • Schema-compatibility check of the resources these modules use between provider 0.0.86 and 0.0.95: only additive-optional fields and relaxations (e.g. provider_config.dimensions RequiredOptional), no removed attributes, no new Required, no new ForceNew — i.e. the version bump is backward-compatible.

gdrojas added 4 commits June 24, 2026 17:59
Standardize the nullplatform provider version across the 26 modules that
declare it. Most used the unbounded ">= 0.0.86" (no ceiling on a 0.0.x
provider, so `init -upgrade` could pull any future breaking release),
plus two outliers: scope_configuration ("~> 0.0.67") and asset/ecr
("~> 0.0.88").

Switch all to "~> 0.0.86" (allows 0.0.x patches, blocks 0.1.0+) and
regenerate every .terraform.lock.hcl so the locked nullplatform version
is uniform at 0.0.95, with hashes for linux_amd64, darwin_amd64 and
darwin_arm64. Other providers' lock entries are left untouched.
…nsistency

Match the providers.tf filename used by the other 25 nullplatform modules.
- users: validate email format and require at least one role_slug
- metrics: require prometheus_url to be http(s) when set
- scope_configuration: require non-empty provider_specification_slug
- scope_definition_agent_association: validate github_repo_url is an
  HTTP(S) URL and add the missing description on the nrn variable

@sebastiancorrea81 sebastiancorrea81 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@gdrojas gdrojas merged commit 9553828 into main Jun 25, 2026
44 checks passed
@gdrojas gdrojas deleted the chore/unify-nullplatform-provider-version branch June 25, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants