Logos is a microservice framework built with Bazel. It assembles Java services and TypeScript clients into a Kubernetes stack. Modules are provided as Guice bindings and discovered at runtime.
app/
– example services, including the Cognito authentication moduledev/
– framework libraries and service stacksvendor/
– third-party dependencies used by Bazel.devcontainer/
– container image for local development
- Use the dev container. It includes all needed prerequisites.
- Install Node dependencies
bazel build //:node_modules
- Run the stack
This builds the backend and client and applies the Kubernetes manifests.
bazel run //dev/logos
- gRPC services are defined in protobuf (see
cognito.proto
). - Dependency injection and module discovery are handled by
ModuleLoader
. - The backend server is assembled in
ServerModule
. - AWS infrastructure stacks are defined with the AWS CDK.
InfrastructureModule
installs modules likeEcrModule
andVpcModule
which Guice uses to build the stack. TheSynthesizer
creates an injector viaModuleLoader
and obtains theCloudAssembly
for deployment. - Front-end modules under
dev/logos/web
use Inversify for dependency injection.
Use this repository as a starting point for your own Logos-based services.