Skip to content

๐Ÿš€ WORK IN PROGRESS: The/r/openttd infrastructure. Proudly overengineered.

Notifications You must be signed in to change notification settings

ropenttd/tsubasa

Repository files navigation

Tsubasa, The /r/openttd Infrastructure

Tsubasa is all of /r/openttd's custom infrastructure in one handy monorepository.

It is built using the microservices model, which means individual components can be modified / screwed with without bring the rest of the service down.

Mostly written in Go / Docker, though some Make magic happens occasionally. Other languages are perfectly acceptable.

Intraservice communication and management happens using the following:

  • JSON REST - RPC between services.
  • Kubernetes - Service discovery, deployment, etcetera.
  • Kafka - Message / job queue.

Directories

  • generics - Contains generic, importable files intended for use by other parts of the project.
  • service.* - Services that run completely independently from each other. These services may communicate with other internal services only, or with data providers (like external servers, message queues, or databases).
    • service.*.api - Services which provide the external JSON REST API by communicating with their related service.
  • deploy.* - Dependent services with their deploy files (like Kafka, Cassandra, etc).

About

๐Ÿš€ WORK IN PROGRESS: The/r/openttd infrastructure. Proudly overengineered.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published