Skip to content

[Hubs] Make upgrades and redeploys from the portal keep existing options #2397

Open

Description

📝 Scenario

As a FinOps hub admin, I need to upgrade or redeploy my hub from the Azure portal without re-entering every option in order to avoid options resetting to defaults or the deployment failing on options that can't change after creation.

⚠️ Problem

The portal path (createUiDefinition) starts from defaults on every deployment. Admins must remember and re-set every option each time. Options not set again reset to defaults, and some create-only options fail the deployment if they differ from the existing hub. Retention is the only area that already keeps current values when left at the default (#2206). Unknown whether this can be fixed in the toolkit alone or needs portal/ARM support, so the scope below starts with what we control.

💎 Solution

  • Docs: recommend a parameter file for every upgrade/redeploy (upgrade guide and deploy guide), with how to create and upload one.
  • PowerShell: add a command that reads the existing hub's deployment options, writes a parameter file, then deploys with it. Proposed name: Export-FinOpsHubParameter (reads and writes the file) plus a -ParameterFile option on Deploy-FinOpsHub; or one command, Update-FinOpsHub, that does all three steps. Pick one during spec; both use approved verbs.
  • Investigate whether the portal path can prefill from the existing deployment; if not, say so in the upgrade docs.

📋 Tasks

  • Docs: parameter-file upgrade steps in the upgrade guide and deploy guide
  • PowerShell: command to read existing options, create a parameter file, and deploy with it (with unit tests and docs-mslearn page)
  • Decide and document which options can't change after creation
  • Changelog entry

✅ Acceptance

  • A user can upgrade an existing hub to the latest version, keeping every option, without typing any option twice.
  • Docs state clearly which upgrade paths keep current options and which don't.

ℹ️ Additional context

Related: #2206 (upgrade lost retention). Raised in PR #2394 review.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions