Skip to content

chore: upgrade microsoft/fabric provider to 1.10.0#640

Open
PratikWayase wants to merge 4 commits into
microsoft:mainfrom
PratikWayase:chore/upgrade-microsoft-fabric-provider-494
Open

chore: upgrade microsoft/fabric provider to 1.10.0#640
PratikWayase wants to merge 4 commits into
microsoft:mainfrom
PratikWayase:chore/upgrade-microsoft-fabric-provider-494

Conversation

@PratikWayase

Copy link
Copy Markdown

Description

Upgrades the microsoft/fabric Terraform provider from 1.3.0 to 1.10.0 across all Fabric-related Terraform components and blueprints. This PR also enables skip_capacity_state_validation = true for the Fabric workspace resource to avoid validation failures when non-production Fabric capacities are paused or suspended.

Related Issue

Fixes #494

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Blueprint modification or addition
  • Component modification or addition
  • Documentation update
  • CI/CD pipeline change
  • Other (Terraform provider version upgrade)

Implementation Details

  • Updated all Fabric Terraform provider version constraints to 1.10.0.
  • Replaced the >= 1.3.0 constraint with a pinned 1.10.0 version.
  • Added skip_capacity_state_validation = true to the Fabric workspace resource as recommended in the issue description.

Testing Performed

  • Terraform plan/apply
  • Blueprint deployment test
  • Unit tests
  • Integration tests
  • Bug fix includes regression test
  • Manual validation
  • Other: Changes are limited to Terraform provider version constraints. Azure-dependent validation (terraform validate/npm run tf-validate) could not be executed locally because an Azure subscription is required. CI will perform validation.

Validation Steps

  1. Verify all Fabric Terraform modules reference provider version 1.10.0.
  2. Run npm run tf-validate.
  3. Run npm run tflint-fix-all.
  4. Confirm Terraform initializes successfully with the updated provider.

Checklist

  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have run terraform fmt on all Terraform code
  • I have run terraform validate on all Terraform code
  • I have run az bicep format on all Bicep code
  • I have run az bicep build to validate all Bicep code
  • I have checked for any sensitive data/tokens that should not be committed
  • Lint checks pass (run applicable linters for changed file types)

Security Review

  • No credentials, secrets, or tokens are hardcoded or logged
  • RBAC and identity changes follow least-privilege principles
  • No new network exposure or public endpoints introduced without justification
  • Dependency additions or updates have been reviewed for known vulnerabilities
  • Container image changes use pinned digests or SHA references

@PratikWayase PratikWayase requested a review from a team June 30, 2026 10:56
display_name = var.workspace_display_name
description = var.workspace_description
capacity_id = var.capacity_id
skip_capacity_state_validation = true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

skip_capacity_state_validation = true is hardcoded here without an input variable, which means every deployment (including production) skips Fabric capacity state validation. The codebase convention for internal modules requires all variables to be required with no defaults.

Consider adding a required variable to the module:

variable "skip_capacity_state_validation" {
  type        = bool
  description = "When true, skips validation of Fabric capacity state during workspace provisioning. Useful for non-production environments where capacity may be paused."
}

Then thread it through src/000-cloud/031-fabric/terraform/main.tf when calling module.fabric_workspace, and set it to true in the CI deployment config (src/000-cloud/031-fabric/ci/terraform/). This lets production callers opt out of skipping validation, giving them a faster failure signal when deploying against a paused or misconfigured capacity.

@katriendg katriendg 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.

Thank you for taking on this one, it's pretty complete just missing a few elements to function and pass build.

Add the variable default setting - see inline comment.
Rebase onto latest main. main has moved since this branch was cut — notably #627 added generated ci/terraform/README.md files (including for this component), so rebasing first avoids a docs conflict.
Regenerate Terraform docs after the rebase by running npm run tf-docs. The new variable isn't reflected in the component or CI README.md yet, and generated docs must not be hand-edited. Also the docs will regenerate because of provider version update.

Once those three are in and terraform validate passes on both blueprints, this should be good to go. Thanks again for helping keep the Fabric provider current!

default = "Microsoft Fabric workspace for the Edge AI Accelerator solution"
}

variable "skip_capacity_state_validation" {

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.

At the component root level this variable needs a default. Per the repo guideline, a component's public interface variables are optional with a sensible default, while internal module variables (e.g. modules/workspace/variables.tf) stay required with no default — that part is already correct here.

As written (no default), skip_capacity_state_validation becomes a required argument, which breaks every consumer that doesn't pass it. I validated locally and both fabric and fabric-rti blueprints fail terraform validate with Missing required argument. Your ci/terraform/variables.tf variant already sets default = true, so this looks like an accidental omission.

Suggested

variable "skip_capacity_state_validation" {
  type        = bool
  description = "When true, skips validation of Fabric capacity state during workspace provisioning. Useful for non-production environments where capacity may be paused."
  default     = true
}

@PratikWayase PratikWayase force-pushed the chore/upgrade-microsoft-fabric-provider-494 branch from 288a5a5 to b61ed04 Compare July 2, 2026 14:59
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-07-06 23:29:20 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 222
Infrastructure Components 228
Blueprints 37
GitHub Resources 26
AI Assistant Guides (Copilot) 17
Total 530

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

@rezatnoMsirhC rezatnoMsirhC left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good to me aside from the failing workflows. Thank you!

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-07-09 14:29:35 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 222
Infrastructure Components 228
Blueprints 37
GitHub Resources 26
AI Assistant Guides (Copilot) 17
Total 530

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

@katriendg katriendg 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.

Thank you @PratikWayase your changes all look good, there is just an issue with the docs, it seems your generated docs were not entirely successful, as the format-tables action did not apply so it's failing linting.

Could you please rerun npm run tf-docs and ensure you see the terminal call on format tables as well (could be there is a missing library if you did not use dev container). Tables should be correctly aligned. It's a minor update.

@tapheret2 tapheret2 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review pass

Static review of the open diff:

  • Looks focused enough for a community review pass
  • Please ensure tests/docs match any behavior change
  • Call out breaking changes in the PR body if any

Thanks — re-submitted after rate-limit cooldown.

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.

chore: upgrade microsoft/fabric Terraform provider from 1.3.0 to 1.10.0

4 participants