The Cloud ODS depends on several different Ed-Fi code repos within GitHub.
- Ed-Fi-Alliance-OSS/Ed-Fi-ODS-AdminApp
- Ed-Fi-Alliance-OSS/Ed-Fi-ODS
- Ed-Fi-Exchange-OSS/Ed-Fi-X-Ods-Deploy-Azure
- Ed-Fi-Alliance-OSS/Ed-Fi-ODS-Implementation
After cloning the above repositories locally, perform the following steps in order to be able to debug the Cloud ODS locally:
-
Install / Build the Ed-Fi ODS if you have not done so already
-
Deploy an instance Cloud ODS on Azure (see Readme.md in Ed-Fi-Ods-Deploy-Azure repo
-
Run the from Ed-Fi-Ods-Deploy-Azure/Application/Published/ScaleDown-EdFiOds.ps1 script to minimize the costs of keeping the instance running. You can even delete the databases if the only purpose is to do local testing - that will get you to $0 per month
-
Edit and place the following code in EdFi.Ods.AdminApp.Web/appsettings.json
"IdaAADInstance": "https://login.microsoftonline.com/" "IdaClientId": "" "IdaClientSecret": "" "IdaTenantId": "" "IdaSubscriptionId": ""
- IdaTenantId (same as Directory ID) and IdaSubscriptionId can be procured from the Azure portal
- IdaClientId is the “Application (client) ID” in Azure Active Directory
App Registrations for the Azure AD app registered when you deployed - IdaClientSecret - In the App Registration screen for the AdminApp. Click on "Certificates & secrets" and add a New Client Secret. This key value is your IdaClientSecret
-
Create an account on your local SQL Server that matches the credentials you provided for the Azure SQL server during deployment
- This account must be added to the sysadmin fixed role
-
Edit EdFi.Ods.Admin.Web/appsettings.json
- Ensure the ApiStartupType is configured to run in SharedInstance mode
- Ensure the ProductionOds connection string is pointing to a valid database name
-
Run the Ed-Fi ODS API
-
Edit EdFi.Ods.AdminApp.Web\appsettings.json
- Ensure the “DefaultOdsInstance” value matches the “Install Friendly Name” you provided when the Cloud ODS was deployed
- Set "AppStartup" to "Azure"
-
In Visual Studio with the AdminApp project open, start a Debugging Session and you should be able login via Azure Active Directory while the app itself runs locally