This guide is a temporary document that walks through the process to convert the graphrag solution accelerator to a managed app.
2. This managed app uses storage account to deploy, so please copy the storage account name and the SAS key.
3. When publishing the managed app , please turn on anon access to the Blob where the package can be accessed.
As a precaution, start by auto-formating and linting the bicep code to detect any mistakes early-on.
cd <repo_root_directory>/infra
find . -type f -name "*.bicep" -exec az bicep format --file {} \;
find . -type f -name "*.bicep" -exec az bicep lint --file {} \;
az bicep build --file main.bicep --outfile managed-app/mainTemplate.json
Use the Azure Portal Sandbox to test and make any UI changes that are defined in createUiDefinition.json. To make additional changes to the Azure portal experience, start by reading some documentation and copying the contents of createUiDefinition.json
into the sandbox environment.
The name of the final two files (mainTemplate.json
and createUiDefinition.json
) cannot be changed. The file names are also case-sensitive and cannot be changed at this time. Managed apps require these files to be packaged up into a zip file (where the json files must be at the root directory).
cd <repo_root_directory>/infra/managed-app
tar -a -c -f managed-app.zip createUiDefinition.json mainTemplate.json openapi.json artifacts
This zip file can then be uploaded to an Azure Storage location when setting up a Service Catalog Managed Application Definition.
In the Azure Portal, go to Marketplace and create a Service Catalog Managed App Definition
. You must provide a uri link to the uploaded managed-app.zip
file as part of the creation process.
You can deploy from the portal using the following steps In the Azure Portal, find and click on the managed app definition resource that was created in the previous step. A button option to Deploy from definition
will be available. Click on it and proceed through the setup steps (defined by the createUiDefinitions.json
file) that a consumer would experience when installing the managed app.