v0.14.0

ConduitPlatform/Conduitv0.14.0Jul 15, 2022by kkopanidis

AI Summary

Conduit 0.14 introduces a major architecture refactor where Security and Router have been extracted from the core into a standalone microservice, allowing individual scaling. The core now handles only admin routes, service-discovery, and configuration management, using Redis as the primary store and no longer requiring the database to fully initialize.

Key Highlights

  • Major architecture change: Router extracted from core into standalone microservice for individual scaling
  • Core no longer has hard database dependency - uses Redis as primary store
  • Admin server now defaults to port 3030 without /admin prefix
  • Admin now supports GraphQL and sockets
  • Config update endpoint changed from POST to PATCH operation

Breaking Changes

  • Admin HTTP server now defaults to port 3030 (previously different)
  • Admin HTTP server no longer uses /admin prefix
  • Admin ports now specified via ADMIN_HTTP_PORT and ADMIN_SOCKET_PORT
  • Router no longer part of core service - requires grpc-sdk 0.14
  • Config update admin route changed from POST to PATCH operation

New Features

  • Router can now be individually scaled as a standalone microservice
  • Core does not have hard dependency on database (required for admin functionality)
  • Admin now supports GraphQL and WebSocket connections
  • Database engine connection retry attempts during startup
  • Schema collection names renamed for new deployments

Full Release Notes

Conduit 0.14 is here 🎉 🎉

This release is focused on stability, performance improvements and cleanups.

tldr; The Conduit Core now handles only admin routes, service-discovery and configuration management. Security and Router have been merged and extracted from core into a standalone microservice. The core also no longer requires the database to fully initialize, it uses Redis as a primary store.

Breaking Changes:
- Admin's HTTP server now defaults to port `3030`
- Admin's HTTP server no longer uses an `/admin` prefix
- Admin's http/socket ports are now specified via `ADMIN_HTTP_PORT` and `ADMIN_SOCKET_PORT`
- Router is no longer part of the core service, so usage of grpc-sdk 0.14 is needed
- Config update admin route is now a `PATCH` operation

Features:
- Router can be individually scaled now
- Core does not have a hard dependency on the database (it is required to be running in order for admin to work though)
- Admin now supports GraphQL and sockets

## Details:
* refactor(router,config,core,admin,commons)!: architecture change by @kkopanidis in https://github.com/ConduitPlatform/Conduit/pull/212
* feat(admin): Helmet middleware by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/217
* fix(router): not registering SetConfig rpc by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/218
* fix(grpc-sdk,commons,core,admin): config validation by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/219
* chore: cleanup by @kkopanidis in https://github.com/ConduitPlatform/Conduit/pull/221
* refactor(grpc-sdk): remove "on" function which introduced callbacks by @kkopanidis in https://github.com/ConduitPlatform/Conduit/pull/220
* fix(grpc-sdk): module connectivity reporting by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/222
* fix(storage): registering routes while disabled by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/224
* fix(grpc-sdk): module configurations being reset on startup by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/225
* chore(deps): bump moment from 2.29.2 to 2.29.4 by @dependabot in https://github.com/ConduitPlatform/Conduit/pull/226
* chore: dependencies update by @kkopanidis in https://github.com/ConduitPlatform/Conduit/pull/227
* chore: update packages by @kkopanidis in https://github.com/ConduitPlatform/Conduit/pull/228
* feat(database): db engine connection attempts during startup by @Michael-Vol in https://github.com/ConduitPlatform/Conduit/pull/223
* Database admin routes register without router by @ChrisPdgn in https://github.com/ConduitPlatform/Conduit/pull/233
* refactor(forms): decouple form controller and admin router from router fixes #229 by @ChrisPdgn in https://github.com/ConduitPlatform/Conduit/pull/236
* Schema collection names renaming (on new deployments) by @Michael-Vol in https://github.com/ConduitPlatform/Conduit/pull/231
* chore(admin): remove admin prefix from REST routes by @Michael-Vol in https://github.com/ConduitPlatform/Conduit/pull/242
* build: docker-compose v0.14 by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/234
* chore(core): convert update config to a PATCH route by @kon14 in https://github.com/ConduitPlatform/Conduit/pull/243
* fix(database): CMS crudOperations migration not aggregating schemas correctly by @Michael-Vol in https://github.com/ConduitPlatform/Conduit/pull/244
* fix(database): createWithPopulations looking for wrong properties by @kkopanidis in https://github.com/ConduitPlatform/Conduit/pull/245
* fix(database): get pending schema model based on collection name by @Michael-Vol in https://github.com/ConduitPlatform/Conduit/pull/246

## New Contributors
* @ChrisPdgn made their first contribution in https://github.com/ConduitPlatform/Conduit/pull/233

**Full Changelog**: https://github.com/ConduitPlatform/Conduit/compare/v0.13.1...v0.14.0