Skip to content

This repo houses the entrypoint of Ubivius's documentation by providing links and context to every repository

License

Notifications You must be signed in to change notification settings

Ubivius/ubivius

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ubivius IconUbivius

This repo houses the entrypoint of Ubivius's documentation by providing links to every products and putting some context for them. Ubivius is a suite of products made to deploy and manage an online plateform for game development. The projects are split in the following families: microservices, infrastructure, telemetry, and game.

Microservices

We have three parts linked to microservices: workflows-microservices, microservice-* and shared-*.

Microservice's Workflow

This single repository is used to centralize and distribute CI/CD scripts to all microservices. This enables your team to modify it in one place and distribute it with one merge on dev and another one on master when it was successful.

Microservices

The services are developped in Golang and are mostly independent. There are two parts: core services and feature services.

  • There is also a template service to enable your team to develop and deploy your own microservices: microservice-template.

Core Services

These services must be present in your cluster for basic functionnality of the platform.

Feature Services

Theses services are feature-specific and your team can customize which ones to deploy based on your game's needs.

Shared libraries

Those git repositories are for shared libraries that could be used in any of the microservices.

Infrastructure

Infrastructure are components developped by various external teams that are customized to support functions like routing, authentication management, databases and databases content viewers.

  • deploy-traefik: A component that acts as a router for incoming requests to the cluster. Uses ingresses to route in the cluster
  • deploy-keycloak: A component managing user logins, token generation and user groups for access levels in authentication. Work with microservice-authentication as access API
  • deploy-elasticsearch: A database used for telemetry data ingested by jaeger and logstash
  • deploy-mongodb: A database used by the microservices' platform
  • deploy-kibana: A database viewer for Elastic Search
  • deploy-traefik: A router for the Kubernetes cluster
  • deploy-cert-manager: A cert manager for the cluster
  • deploy-agones: A game server management tool

Telemetry

Telemetry projects are also from external teams and were picked out form the Cloud Native Computing Foundation's(CNCF) landscape page. They are the way administrators can monitor health and state from all deployed components in your Kubernetes cluster.

  • telemetry-grafana: A dashboard manager to display all the relevant informations to enable your team to deploy and diagnose the cluster's content
  • telemetry-jaeger: A tool that aggregates network traces for the cluster
  • telemetry-logstash: A tool that aggregates and structures logs of the cluster's components
  • telemetry-prometheus: A tool that scrapes metrics (ex: Cpu, memory and disk usage) from the cluster's components
  • telemetry-filebeat: A tool that scrapes the logs from the pods in the cluster

Telemetry's Workflow

This single repository is used to centralize and distribute CI/CD scripts to all telemetry applications. This enables your team to modify it in one place and distribute it with one merge on dev and another one on master when it was successful.

Game

Here is our game. Its purpose is to provide an example of the integration of our platform and give an easy way to customize DevOps scripts to create, build and deploy a game server and client package: ubivius-game.

About

This repo houses the entrypoint of Ubivius's documentation by providing links and context to every repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published