steeltoeoss / initializr Goto Github PK
View Code? Open in Web Editor NEWSteeltoe Initializr - .NET Microservices Templates
Home Page: https://start.steeltoe.io
Steeltoe Initializr - .NET Microservices Templates
Home Page: https://start.steeltoe.io
starter.zip does not seem to honor query parameters. In the following, projectName is set in POST and GET requests. In the POST request, the namespace is set the requested value, whereas in the GET request, the namespace is the default value.
POST request:
% curl https://startsteeltoe.cfapps.io/starter.zip -d projectName=MyCompany.MySample -o foo.zip
% unzip -c foo.zip Program.cs | grep namespace
namespace MyCompany.MySample
GET request:
% curl https://startsteeltoe.cfapps.io/starter.zip\?projectName=MyCompany.MySample -o foo.zip
% unzip -c foo.zip Program.cs | grep namespace
namespace steeltoeProject
Steps to reproduce the behavior:
.NET Core 3.0 tab shown, just like at https://startsteeltoe.cfapps.io/#
Local
UI
All Projects
MySQL
-Update to suggested code (wrong controller was copied in)
Placeholder
RandomValue
Mongo
CloudFoundry
Actuators
Discovery
Should generate example models and db context and allow to run local.
MyCompany.SteeltoeExample.csproj: [NU1107] Version conflict detected for Microsoft.AspNetCore.Http.Abstractions. Install/reference Microsoft.AspNetCore.Http.Abstractions 2.2.0 directly to project MyCompany.SteeltoeExample to resolve this issue.
MyCompany.SteeltoeExample -> Steeltoe.Management.CloudFoundryCore 2.3.0 -> Steeltoe.Management.EndpointCore 2.3.0 -> Microsoft.AspNetCore.Diagnostics.HealthChecks 2.2.0 -> Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
MyCompany.SteeltoeExample -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.AspNetCore.Http.Abstractions (>= 2.1.1 && < 2.2.0).
support 2.1, 2.2 and 3.0
When I added in the Dockerfile dependency, line 9 was COPY. .
and it needs to be COPY . .
. Also line 18 was ENTRYPOINT["dotnet","xxx.dll"]
and it should be ENTRYPOINT ["dotnet","xxx.dll"]
.
Be compliant with lawyers
You'd want to switch to using the Google Tag Manager code from steeltoe.io, which loads the cookie consent script. We're also supposed to force ssl. I'm noticing that start.spring.io doesn't have the requisite legal footer...if you're talking with them, maybe you could pass that info along..should be the same as the spring.io footer. start.steeltoe.io should be the same as the steeltoe.io footer.
These steps should only run locally and not in CI.
update to latest release versions
I ran this:
curl https://start.steeltoe.io/starter.zip -o PiggyMetrics.zip -d projectName=piggymetrics -d dependencies=actuators,discovery,dynamiclogger,configserver,mongodb,oauthconnector
And it gave me this VS project type:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
<ItemGroup >
<PackageReference Include="Microsoft.AspNetCore.App"/>
<PackageReference Include="Steeltoe.Extensions.Configuration.ConfigServerCore" Version="2.3.0" />
<PackageReference Include="Steeltoe.Management.ExporterCore" Version="2.3.0"/>
<PackageReference Include="Steeltoe.Management.CloudFoundryCore" Version="2.3.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="2.3.0"/>
<PackageReference Include="Steeltoe.CloudFoundry.ConnectorCore" Version="2.3.0"/>
<PackageReference Include="MongoDB.Driver" Version="2.8.1" />
<PackageReference Include="Steeltoe.Extensions.Logging.DynamicLogger" Version="2.3.0"/>
</ItemGroup>
</Project>
It should have matched the defaults of the UI. Steeltoe packages 2.4.x
and netcoreapp3.1
.
When the 'generate project' button is clicked, send event info to analytics. Break out each dependency as an event as well as the download itself as an event.
Example 1:
A visitor chooses steeltoe2.3, netcoreapp23, dependency1, dependency2, dependency3. This should result in 6 events being sent to analytics.
Event info values
eventCategory - [Generated-Project]
eventAction - [Net-Framework, Steeltoe-Framework, Dependency, Clicked-Download]
eventLabel - [netcoreappX.X, steeltoeX.X, ]
Once the project name gets an invalid name, you can't submit anything
Steps to reproduce the behavior:
Once changed the project to something valid, the error should not fire
Adding _ breaks the project.
Add validations to make sure c# projects compile.
and remove Steeltoe 3.0.0-m3
We noticed that the netcoreapp3.0 target framework was bringing in 2.2 dependencies (last week). Is there an eta when netcoreapp3.0 will be added back to the initializr with the correct dependencies?
Thanks.
Using version 2.3.0 and selecting the Config Server and the SQL Server options, it generates bad code. The ValuesController.cs has two Get methods that conflict using the /api/values path.
I chose netcore31 in the UI with Dockerfile dependency, but within the Dockerfile a version of 2.2 was used. Looks it may be hardcoded. I think it should be relative to what is chosen by user.
Update app so that Steeltoe 2.4.x version is 2.4.4
More specifically, on OSX/Linux the permissions are 000.
Example:
% curl https://startsteeltoe.cfapps.io/starter.zip > foo.zip
% unzip foo.zip
Archive: foo.zip
inflating: Dockerfile
inflating: Program.cs
inflating: steeltoeProject.csproj
inflating: Startup.cs
inflating: app.config
inflating: appsettings.Development.json
inflating: appsettings.json
inflating: mustache.json
inflating: sourceExclusions.json
inflating: versions.props
inflating: Controllers/ValuesController.cs
inflating: Properties/launchSettings.json
% ls -l
total 17
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Controllers/
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Properties/
---------- 1 ccheetham qa 128 Aug 20 2019 app.config
---------- 1 ccheetham qa 137 Aug 20 2019 appsettings.Development.json
---------- 1 ccheetham qa 99 Aug 20 2019 appsettings.json
---------- 1 ccheetham qa 485 Aug 20 2019 Dockerfile
-rw-r--r-- 1 ccheetham qa 4729 Aug 20 11:07 foo.zip
---------- 1 ccheetham qa 4459 Aug 20 2019 mustache.json
---------- 1 ccheetham qa 819 Aug 20 2019 Program.cs
---------- 1 ccheetham qa 31 Aug 20 2019 sourceExclusions.json
---------- 1 ccheetham qa 1165 Aug 20 2019 Startup.cs
---------- 1 ccheetham qa 364 Aug 20 2019 steeltoeProject.csproj
---------- 1 ccheetham qa 695 Aug 20 2019 versions.props
Should be something like:
% ls -l
total 49
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Controllers/
drwxr-xr-x 2 ccheetham qa 3 Aug 20 11:07 Properties/
-rw-r--r-- 1 ccheetham qa 128 Aug 20 2019 app.config
-rw-r--r-- 1 ccheetham qa 137 Aug 20 2019 appsettings.Development.json
-rw-r--r-- 1 ccheetham qa 99 Aug 20 2019 appsettings.json
-rw-r--r-- 1 ccheetham qa 485 Aug 20 2019 Dockerfile
-rw-r--r-- 1 ccheetham qa 4729 Aug 20 11:07 foo.zip
-rw-r--r-- 1 ccheetham qa 4459 Aug 20 2019 mustache.json
-rw-r--r-- 1 ccheetham qa 819 Aug 20 2019 Program.cs
-rw-r--r-- 1 ccheetham qa 31 Aug 20 2019 sourceExclusions.json
-rw-r--r-- 1 ccheetham qa 1165 Aug 20 11:09 Startup.cs
-rw-r--r-- 1 ccheetham qa 364 Aug 20 11:09 steeltoeProject.csproj
-rw-r--r-- 1 ccheetham qa 695 Aug 20 2019 versions.props
new route start.steeltoe.io and start-staging.steeltoe.io and run it in pws.
Initially, we included dotnet template engine in with the initializr
code. This should live on its own separate from initializr.
Create integration tests to test the controllers
Add a version numbers to UI. Something that a user can use to determine current version of UI and backend being used.
Add to <head>
of page
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta charset="utf-8">
<meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta property='og:type' content='website'>
<meta property="og:title" content="Kick start your cloud-native .NET apps with Initializr" />
<meta property="og:url" content="https://start.steeltoe.io" />
<meta property="og:image" content="https://steeltoe.io/images/favicon.png" />
<meta property="og:description" content="Steeltoe Initializr provides an extensible API and UI to generate .NET WebAPI-based projects with customizations for specific cloud components in mind." />
<meta name='twitter:title' content='Kick start your cloud-native .NET apps with Initializr.'>
<meta content="Kick start your cloud-native .NET apps with Initializr." name="DC.Title" xml:lang="EN">
<meta content="cloud-native, .net, dotnet, framework, cloud, developer" name="DC.Subject" xml:lang="EN">
<meta content="Steeltoe Initializr provides an extensible API and UI to generate .NET WebAPI-based projects with customizations for specific cloud components in mind." name="description" xml:lang="EN">
<meta content="EN" name="DC.Language" scheme="dcterms:RFC1766">
<meta content="https://start.steeltoe.io/" name="DC.Identifier" schema="DCterms:URI">
<meta content="text/html" name="DC.Format" schema="DCterms:IMT">
<meta content="Pivotal Software" name="DC.Creator">
<meta content="Steeltoe OSS" name="DC.Publisher">
<meta content="[email protected]" name="DC.Publisher.Address">
<meta content="Steeltoe OSS" name="DC.Contributor">
<meta content="2019-10-03" name="DC.Date" scheme="ISO8601">
<meta content="text/html" name="DC.Type">
<meta content="https://start.steeltoe.io/" name="DC.Identifier">
<title>Steeltoe OSS - Initializr</title>
<link href='https://start.steeltoe.io/' rel='canonical'>
<link href="https://steeltoe.io/images/favicon.png" rel="icon" type="image/png" />
When using the initializer and selecting both the Cloud Foundry Hosting and Config Server, the code that is generated for the Program.cs file creates a conflict between the two libraries and results in an error when compiling. The workaround is to remove the hosting reference within the file.
Steps to reproduce the behavior:
The right reference is added to the Program.cs file and should compile without ambiguous reference message
The cache holds the version values and requires users to force refresh (sometime more than once).
Steps to reproduce the behavior:
1.Use App
2. Update app version i.e. Steeltoe 2.4.3 to Steeltoe 2.4.4
3. Check the app and the cached version will show.
4. If the user selects the cached version it will give an invalidparam error message.
Remove cache or add a cache timeout. We need to see the updated version.
The Config Values are returned as NULL for the scaffolded project - 'Spring Config Server', Please suggest if we can start using this for one of our Project.
Steeltoe 3.0 release imminent. Need to add template support for both Initializr and dotnet new
.
I created a project named "kpack_demo". Within the project's launchSettings.json there was a profile named "Company.WebApplication1" which I assume should have been named to match my project name.
Steps to reproduce the behavior:
I expected the profile name to match my project name, which matches my namespace.
Move the project generation code into its own library (nuget) and likely its own repository.
Releasing this separately will allow others to use it and allow a clear way for upgrading to later versions in the future.
This library will be used as the basis for the Steeltoe Initializr project generator.
When searching for dependencies on the Web App, once you select a dependency the screen turns white.
Steps to reproduce the behavior:
The dep is selected and added to dependency for application
Create end to end tests scripting out build and run
This Epic will track the issues left before we can have an official release of Initializr (i.e. removing the Beta designation).
For Beta site, we should disable caching so that users do not need to clear their caches when using the site.
Cache-Control: no-cache, must-revalidate
Preparation for 3.0.0 release
Related to #106 ...
But we found a potential bug: It always displays .NET 2 dependencies even when user switches to .NET 3.
Here is the related code I discovered, it will always return DotnetTemplateVersion.V2
dependencies because templateVersion
is always null
:_
Could someone take a look to confirm whether it is by-design or not, please? Thanks.
What actions or tests need to pass to remove beta marking?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.