|
1 |
| -# Micronaut Requirements |
| 1 | +# Micronaut ROADMAP |
2 | 2 |
|
3 |
| -## Minimum Feature Set |
| 3 | +## Micronaut 1.0 GA |
4 | 4 |
|
5 |
| -The following features are a TODO list of things to do on Micronaut before launching |
| 5 | +- Support for OpenAPI doc generated at compile time |
| 6 | +- Support for Kafka Stream applications |
| 7 | +- Support for Cassandra |
| 8 | +- AWS Systems Manager Parameter Store (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html and Example https://gist.github.com/ariesmcrae/b72aa0f986f87977ffc2de42481c8885) |
| 9 | +- Amazon Route 53 (see https://docs.aws.amazon.com/Route53/latest/APIReference/overview-service-discovery.html) |
| 10 | +- JMX Support in Endpoints |
| 11 | +- WebSocket Support |
| 12 | +- Micro Meter Support |
6 | 13 |
|
7 |
| -### Core Features |
8 | 14 |
|
9 |
| -#### Documentation Generation |
10 |
| - |
11 |
| -- We should generate asciidoc documentation for @ConfigurationProperties |
12 |
| -- Add generic annotated type visitor API to allow generating OpenAPI doc |
13 |
| -
|
14 |
| -#### Aspect Implementations |
15 |
| - |
16 |
| -We need to implement AOP annotations for: |
17 |
| - |
18 |
| -- Spring @Transactional |
19 |
| -
|
20 |
| -### Configuration Sharing |
21 |
| - |
22 |
| -Need a mechanism for configuration discovery and sharing across the federation. Configuration sharing should initially support: |
23 |
| - |
24 |
| -* AWS Systems Manager Parameter Store (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html and Example https://gist.github.com/ariesmcrae/b72aa0f986f87977ffc2de42481c8885) |
25 |
| -
|
26 |
| -### Auto Configurations and Health Checks |
27 |
| - |
28 |
| -We still need auto-configurations for the following: |
29 |
| - |
30 |
| -* Apache Kafka (ivan) |
31 |
| -* Cassandra (nero) |
32 |
| -* RabbitMQ (ben) |
33 |
| -
|
34 |
| -### Security / JWT Token Solution |
35 |
| - |
36 |
| -Need to implement support for JWT token based authorization |
37 |
| - |
38 |
| -### Management Features |
39 |
| - |
40 |
| -Tasks to complete: |
41 |
| - |
42 |
| -- Endpoints shouldn't be exposed to the web by default |
43 |
| -- Integrate Endpoints with Security solution above such that @Endpoint.defaultSensitive is honoured |
44 |
| -- Add support for JMX |
45 |
| -
|
46 |
| -#### Endpoints |
47 |
| - |
48 |
| -We need endpoints for managing and/or exposing information about: |
49 |
| - |
50 |
| -- logging |
51 |
| -
|
52 |
| -These should be built on the `Endpoint` API. |
53 |
| - |
54 |
| -### HTTP Server |
55 |
| - |
56 |
| -#### Content Negotiation |
57 |
| - |
58 |
| -Content negotiation must be supported |
59 |
| - |
60 |
| -#### WebSocket Support |
61 |
| - |
62 |
| -WebSocket Support must be implemented |
63 |
| - |
64 |
| -### HTTP Client |
65 |
| - |
66 |
| -* Connection Pooling |
67 |
| -* Server Sent Events |
68 |
| -* CONTINUE request handling |
69 |
| -
|
70 |
| -#### Distributed Tracing |
71 |
| - |
72 |
| -Built in distributed tracing should be activated by default and allow integration with third-party tools (zipkin, opentracing etc.). |
73 |
| - |
74 |
| -#### Metrics |
75 |
| - |
76 |
| -Built in metrics support on-top of Micro Meter (jack) |
77 |
| - |
78 |
| -#### File Upload Features |
79 |
| - |
80 |
| -* Add support for @Size on blocking types that receive multipart data. Should override the global setting |
81 |
| -* Support multiple form data parts with the same name |
82 |
| -
|
83 |
| -
|
84 |
| -### CLI |
85 |
| - |
86 |
| -#### Profiles |
87 |
| - - Function/Lambda (serverless) |
88 |
| - |
89 |
| -#### Features |
90 |
| - - Http Client |
91 |
| - - Tracing |
92 |
| - - Mongodb |
93 |
| - - GORM |
94 |
| - |
95 |
| -#### Commands |
96 |
| - - Create Controller |
97 |
| - - Create Test |
98 |
| - - Create Job (@Scheduled) |
99 |
| - |
100 |
| -## POST 1.0 Items |
| 15 | +## Micronaut 2.0 |
101 | 16 |
|
102 | 17 | The following items are postponed until after 1.0
|
103 | 18 |
|
104 |
| -### HTTP/2 Support |
105 |
| - |
106 |
| -* The HTTP server should support HTTP/2 |
107 |
| -
|
108 |
| -### Configuration Sharing |
109 |
| - |
110 |
| -* Google Cloud Runtime Configurator (https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/) |
111 |
| -
|
112 |
| -
|
113 |
| -### Service Discovery |
114 |
| - |
115 |
| -* Amazon Route 53 (see https://docs.aws.amazon.com/Route53/latest/APIReference/overview-service-discovery.html) |
116 |
| -* Google Cloud Metadata Server (see https://cloud.google.com/compute/docs/storing-retrieving-metadata?hl=en) |
117 |
| -
|
118 |
| -### HTTP Gateway |
119 |
| - |
120 |
| -An HTTP gateway that loads on port 8080 and uses the aforementioned HTTP client. The gateway need to be responsible for: |
121 |
| - |
122 |
| -- JWT Token based authentication |
123 |
| -- Load Balancing |
124 |
| -- Starting Distributed Tracing |
125 |
| -- Retry |
126 |
| -- Rate limiting |
127 |
| -- Route matching on HTTP Request (Path, Method, Header, Host, etc…) |
128 |
| -- Filters to modify downstream HTTP Request and HTTP Response (Add/Remove Headers, Add/Remove Parameters, Rewrite Path etc…) |
| 19 | +- HTTP/2 Support |
| 20 | +- Google Cloud Runtime Configurator (https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/) |
| 21 | +- Micronaut-based Service Gateway |
129 | 22 |
|
130 | 23 |
|
0 commit comments