microsoft / spring-cloud-playground Goto Github PK
View Code? Open in Web Editor NEWAzure Spring Cloud Playground helps you scaffold and generate Microservice projects
License: MIT License
Azure Spring Cloud Playground helps you scaffold and generate Microservice projects
License: MIT License
In the generated azure module, all the example controllers, models and repositories are in a single directory.
It is better to separate them into each directory.
Docker compose should be generic enough to support each service define by Service
metadata
e.g., test generate project
the boot data rarely changes, we can make it constant for now.
Fetching boot metadata from https://spring.io/project_metadata/spring-boot
Fetching boot metadata from https://spring.io/project_metadata/spring-boot
Fetching boot metadata from https://spring.io/project_metadata/spring-boot
Includes:
e.g. spring.cloud.config.uri=http://localhost:8888. replace localhost to hostname in docker
3 different deploy guidelines are provided.
if users just select one module, playground still says modules
rather module
. Suggest change wording to module(s)
.
e.g.
cloud-config-server, modules: cloud-config-server, port: 8888
Allow user to see the spring cloud azure repo link easily on the homepage, e.g., a github repo badge
Caused by generated cloud-gateway.yml has wrong route url for service.
Generated:
routes:
- id: AzureServiceBusApplication
uri: lb://AzureServiceBusApplication
predicates:
- Path=/AzureServiceBusApplication/**
Expected:
routes:
- id: AzureServiceBusApplication
uri: lb://azure-service-bus
predicates:
- Path=/azure-service-bus/**
still see this in the generated project:
Some infra modules are must, so by default it should be selected.
Project request should sent POST request with Json body to backend.
Content-Type: application/json
{
"name":"demo",
"type":"maven-project",
"groupId":"com.example",
"artifactId":"demo",
"version": "0.0.1-SNAPSHOT",
"bootVersion":"2.0.3.RELEASE",
"language":"java",
"packageName":"com.example.demo",
"javaVersion":"1.8",
"baseDir":"demo",
"packaging": "pom",
"description": "Project for spring cloud on azure",
"microServices":[
{
"name":"cloud-config-server",
"modules": ["cloud-config-server"],
"port": 8888
},
{
"name":"cloud-eureka-server",
"modules": ["cloud-eureka-server"],
"port": 8761
},
{
"name":"cloud-gateway",
"modules": ["cloud-gateway"],
"port": 9999
},
{
"name":"azure-service-bus",
"modules": ["azure-service-bus"],
"port": 8081
},
{
"name":"cloud-hystrix-dashboard",
"modules": ["cloud-hystrix-dashboard"],
"port": 7979
}
]
}
Test the compile and runtime status when selecting all Azure starters from Playground.
In select azure modules step, the service name and port is configurable, but no restriction for input value
ideally have a FQDN for it.
Some tab indexes are conflicting and order is incorrect.
it's not covered in test as far as i know. could be a big issue.
Developers can choose to use it on Playground Portal, or use it where supports Spring Initailizr (as a customized URL).
Remove value = "/". The path in @RequestMapping on the method is relative to the path on the class annotation.
@RequestMapping(value = "/", method = RequestMethod.GET)
public String readBlobFile() throws IOException {
return StreamUtils.copyToString(
this.blobFile.getInputStream(),
Charset.defaultCharset()) + "\n";
}
The reset to default configuration link is confusing, from the link description, sounds like port will be reset to default value, but actually it's hide port configuration.
In the select azure modules and generate project step, by default the generate and previous button does not show up.
As header will be shown for every page, in order to reuse the navigation header, separate header to a standalone template. Expected sample result:
Homepage:
<html>
<head>omitted</head>
<body>
{{> header}}
{{> home}}
</body>
</html>
Deploy page:
<html>
<head>omitted</head>
<body>
{{> header}}
{{> deploy}}
</body>
</html>
Consider whether users need to watch the video and why we need the video here.
After users finalize the microservice moduels, he/she can choose to push the project to a new GitHub repository. This may require users to login the GitHub.
The dependencies of some of the beans in the application context form a cycle:
servletEndpointRegistrar defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]
↓
healthEndpoint defined in class path resource [org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]
↓
org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthIndicatorAutoConfiguration
┌─────┐
| dataSource
↑ ↓
| scopedTarget.dataSource defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]
↑ ↓
| org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker
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.