setup-contract.json
|
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "schemaVersion": 1, "cloud": { "name": "AzurePublic", "authorityHost": "https://login.microsoftonline.com", "armEndpoint": "https://management.azure.com", "graphEndpoint": "https://graph.microsoft.com" }, "authentication": { "redirectPath": "/", "defaultPreset": "maester", "presets": { "microsoft": { "displayName": "Microsoft applications", "description": "Uses the Azure CLI and Microsoft Graph PowerShell applications through the local PowerShell token bridge.", "authenticationMethod": "nativeBridge", "azureClientId": "04b07795-8ddb-461a-bbee-02f9e1bf7b46", "graphClientId": "14d82eec-204b-4c2f-b7e8-296a70dab67e" }, "maester": { "displayName": "Maester Self Deploy Setup", "description": "Uses the verified Maester multi-tenant native application through the local PowerShell token bridge.", "authenticationMethod": "nativeBridge", "azureClientId": "69271b19-dc53-488d-a9d0-58204cc05b19", "graphClientId": "69271b19-dc53-488d-a9d0-58204cc05b19" }, "hosted": { "displayName": "Maester Cloud Setup (hosted)", "description": "The hosted setup app at setup.maester.cloud: a separate verified multi-tenant single-page application that signs in from the browser (no PowerShell token bridge). Its client ID is stamped at build time.", "authenticationMethod": "browser", "azureClientId": "", "graphClientId": "" } }, "azureScopes": [ "openid", "profile", "https://management.azure.com/user_impersonation" ], "graphScopes": [ "openid", "profile", "User.Read", "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" ] }, "arm": { "apiVersions": { "resources": "2021-04-01", "deployments": "2022-09-01", "subscriptions": "2022-12-01", "containerApps": "2024-03-01" }, "requiredProviders": [ "Microsoft.App", "Microsoft.Insights", "Microsoft.ManagedIdentity", "Microsoft.OperationalInsights", "Microsoft.Storage" ], "requiredLocationResourceTypes": { "Microsoft.App": [ "managedEnvironments", "containerApps", "jobs" ], "Microsoft.OperationalInsights": [ "workspaces" ], "Microsoft.Insights": [ "components" ], "Microsoft.Storage": [ "storageAccounts" ] }, "retry": { "maximumAttempts": 5, "initialDelayMilliseconds": 750, "maximumDelayMilliseconds": 10000 }, "polling": { "providerTimeoutSeconds": 300, "deploymentTimeoutSeconds": 1800, "applicationUpdateTimeoutSeconds": 600, "healthTimeoutSeconds": 600, "defaultIntervalSeconds": 10 } }, "deployment": { "model": "aca-self-host", "templateSchemaVersion": 4, "tagName": "MaesterCloud", "tagValue": "self-hosted", "versionTagName": "MaesterCloudVersion", "defaultResourceGroupName": "rg-maestercloud", "defaultContainerAppName": "ca-maestercloud", "defaultApplicationDisplayName": "Maester Cloud", "containerName": "maester-cloud", "deploymentNamePrefix": "maester-cloud", "releaseVersion": "private-preview" }, "graph": { "apiVersion": "v1.0", "permissionCapabilities": { "applicationCreate": [ "AppRegistration.Create", "Application.ReadWrite.OwnedBy", "Application.ReadWrite.All" ], "applicationRead": [ "Application.Read.All", "Application.ReadUpdate.All", "Application.ReadWrite.OwnedBy", "Application.ReadWrite.All", "Directory.Read.All", "Directory.ReadWrite.All" ], "appRoleAssignmentWrite": [ "AppRoleAssignment.ReadWrite.All" ], "applicationRestore": [ "Application.ReadWrite.All" ] }, "portalScopeValue": "access_as_user", "portalIdentifierPathPrefix": "maestercloud", "deploymentTagPrefix": "MaesterCloud", "defaultAccessRoleId": "00000000-0000-0000-0000-000000000000", "graphPowerShellClientId": "14d82eec-204b-4c2f-b7e8-296a70dab67e", "microsoftGraphAppId": "00000003-0000-0000-c000-000000000000", "runnerAppTag": "MaesterCloudRunnerApp", "runnerAppHiddenTag": "HideApp", "managedByTag": "MaesterCloudSetup", "azureTenantTagPrefix": "MaesterCloudAzureTenant:", "subscriptionTagPrefix": "MaesterCloudSubscription:", "resourceGroupTagPrefix": "MaesterCloudResourceGroup:", "federatedCredentialAudience": "api://AzureADTokenExchange", "federatedCredentialNamePrefix": "maester-cloud-", "runnerAppDelegatedScopes": [ "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All", "Directory.Read.All" ] }, "portal": { "apiPathPrefix": "/api", "primaryConnectionId": "graph", "hostedUrl": "", "consentReturnPath": "/tenants/consent" }, "verification": { "healthPaths": [ "/health/live", "/api/health" ], "configurationPath": "/api/config" }, "telemetry": { "connectionString": "" } } |