Welcome to the FUAM deploymenator. Which is a FUAM deployment accelerator that was developed in order to push FUAM deployments from a GitHub repository to a Microsoft Fabric tenant.
Which utilizes both the Fabric CLI and the fabric-cicd Python library.
You can find an overview about this solution in my introduction to the FUAM deploymenator post.
All the prerequisites covered in the FUAM deployment guide still apply. Plus, you need the below details.
- Object ID for a Microsoft Entra user. So that they are granted permissions to view created connections. Plus, be an additional administrator for FUAM alongside the service principal. Ideally this user should be a Fabric admin.
- Name of the Fabric capacity that the new workspace will be connected to in the target tenant.
In addition, the below Tenant admin settings need to be enabled. If they are currently disabled recommend that you add the service principal to a Microsoft Entra group. You can then enable the setting for that Entra group only.
- Service principals can call Fabric can create workspaces, connections, and deployment pipelines. - Required for the workflow to complete.
- Service principals can call Fabric public APIs. - Also required for the workflow to complete.
- Service principals can access read-only APIs - Required for data Pipelines to work after deployment.
For the FUAM deploymenator to work it is crucial that the "parameter.yml" file is in-place and is accurate. Because it replaces the below values:
- Original workspace GUID.
- FUAM_Backup_Lakehouse GUID.
- FUAM_Lakehouse GUID.
- SQL endpoint connection string.
- Value for the fuam pbi-service-api admin connection Id (dynamically updated).
- Value for the fuam fabric-service-api admin connection Id (also dynamically updated).
- SQL Endpoint database id (again dynamically updated)
In addition, you must fork, import or clone the GitHub repository that I made available. In order to start the workflow from the Actions tab within your own GitHub repository. Because it will not work in my public repository.
To start the FUAM deploymenator you must start the workflow in GitHub. You do this by going to the Actions tab and selecting the "Deploy FUAM" workflow. You must then click on the "Run workflow" button and enter the requested parameters as below:
- Tenant ID of the target Microsoft Entra tenant.
- Client ID of service principal used for FUAM connections and deployment.
- Secret value of service principal used for FUAM connections and deployment.
- Object Id of Entra user to add as FUAM admin.
- New workspace name.
- Fabric capacity name that the new workspace will be automatically assigned to.
After the deployment you can follow the FUAM deployment guide from step five. Where you need to configure the Capacity Metrics app.
However, I need to highlight one very important manual task you must do before you run the orchestration pipeline.
Which is that you must make a change to the Load_Capacity_Metrics_E2E Data Pipeline and save your change before you run the Load_FUAM_Data_E2E Data Pipeline. Otherwise this pipeline will fail due to permissions context.
I recommend copying the name of one of the notebooks into the description for the activity.
In addition, you need to do this with the Load_Inventory_E2E as well if you are not using the Key Vault Parameters for the orchestration pipeline.
Even though this workaround is unorthodox it works.
This repository is provided "as is" based on the MIT license. Basically, I am not responsible for your use of it.