Using Initializr requires a complex setup of:
- InitializrWeb
- InitializrService
- InitializrConfig
- InitializrConfigServer
- NetCoreToolService
- NetCoreToolTemplates
They all need to be available for the Initializr UI, resulting in a complicated environment setup for production, PRs and local development.
The bits we ultimately need are:
- InitializrWeb: A port of the Java-based UI, customized for Steeltoe (as-is)
- NetCoreToolTemplates: The
dotnet new templates that generate a project (as-is)
- A web-based API that connects these, let's call it InitializrApi for now
I don't see the point of storing settings in Config Server, because changes in dependencies need to be applied in the templates too, which must be json files. InitializrApi should store its mappings in appsettings[.Environment].json|yaml to facilitate loading minimal settings during local development, while using the full mappings in production and integration tests.
Using Initializr requires a complex setup of:
They all need to be available for the Initializr UI, resulting in a complicated environment setup for production, PRs and local development.
The bits we ultimately need are:
dotnet newtemplates that generate a project (as-is)I don't see the point of storing settings in Config Server, because changes in dependencies need to be applied in the templates too, which must be json files. InitializrApi should store its mappings in
appsettings[.Environment].json|yamlto facilitate loading minimal settings during local development, while using the full mappings in production and integration tests.