This repository is the central repository for the metadata defined in the Azure Portal's Solution center.
Solution center enables our partners to deploy and manage Azure and open-source services and software all with a single metadata-driven repository. Some examples could be deploying webapps or using inexpensive virtual machines for machine learning. Solution center uses the concept of a "solution" to help customers understand and configure services and software with ease.
To get started,
- Fork the repository.
- Copy
starter-template-v1
and customize the name of the folder with your solution name (must be unique). - Follow the instructions below to author your first solution and solution card.
- Add an ARM template per configuration to your solution folder, and reference it using the
templateFileName
. - Replace the solutionId in this URL and test your experience at: https://ms.portal.azure.com/?feature.canmodifystamps=true&Microsoft_Azure_SolutionCenter=flight1&feature.testmode=true#view/Microsoft_Azure_SolutionCenter/SolutionInfo.ReactView/solutionId/<your solution id>
A solution includes:
Configuration metadata is how your solution looks to others. It defines pricing, resources deployed, and the path for the ARM template.
- overviewContent: a single paragraph defining the solution, when & why customers might consider your solution, and its use case.
- associatedResources: a list of resources which will be deployed as apart of the deployment.
- If a portal asset type, enter:
- resourceType: found in portal asset types
- type: "AzureResource"
- If not a portal asset type, upload the icon and specify a reference, i.e.:
- displayName: custom display name
- type: "Custom"
- icon:
- iconType: "CustomIcon"
- iconFileName: enter the name of the file, typically uploaded to the
icons
directory
- If a portal asset type, enter:
- pivots: the differences between the configurations, choose a unique name and display name for each pivot
- documentationFileName: a markdown file in the repository which helps with architecture diagrams and addditional resources for deployment (2nd tab of solution).
- configurations: the details for each configuration.
- id: Vertical column unique ID.
- title: Vertical column header 1.
- templateFileName: The ARM JSON with parameters specified. This will auto-load a create flow once the user selects your configuration.
- subTitle: Vertical column header 2.
- cost
- supports a cost score or currency value (hourly/daily/monthly)
- maintenanceScore
- pivotValues
- pivotName
- content
Discovery metadata is how you define your solution in a solution grouping page. It is also how your solution will look in Solution center.
- icon
- title
- shortDescription
- cost
- activationString
- keywords
- detailsDescription
- learnMoreLink
- learnMoreLinkText
- highlights: info on the card when expanded
- content
- highlightLearnMoreLink: optional
- highlightLearnMoreLinkText: optional
See pivots
and options
in configuration.metadata
for implementation
So you have at least 3 solutions you'd like to help customers compare? Copy the ExampleGroup.json
file under scenariogroups
in the repository and add the solution IDs. Solution groups reference each individual discovery.metadata.json
file to render the page.
You can direct link to a solution or solution group URI from any experience in the Azure portal.
Any relevant solutions will also be accessible via VM browse / create dropdown, with 2MM monthly active users.