Skip to content

robototes/robototes-website

Repository files navigation

robototes-website

trello

This repository is the control repository for our microservice-based site. Our site is comprised of the following microservices:

robototes/robototes-website-web robototes/robototes-website-api robototes/robototes-website-team

The code on the v2 branch is deprecated, and was split up into the above microservices. The much older v1 code is available from the master branch at commit 3b18b9f.

What's a control repository and why do we use it?

This repository is used to manage our site, from configuring our DNS to managing our server. We use git because it allows us the ability to version our configurations, and to control any number of deployments through indirect modification and CI triggers rather than direct changes. This allows our entire site to be server and service agnostic, in that we could pick up our entire website and move it to other infrastructure. In addition, we use this repository for common documentation that is relevant to all microservices and the site as a whole.

What do we control from here?

We control our Rancher server and the Docker-based microservices above that make up our site using a docker-compose.yml file for basic Docker container configuration, and a rancher-compose.yml file to configure Rancher-specific settings for each stack.

Once pushed to this repository, any changes will be deployed to our server by Semaphore CI.

Using this repository

When updating CI or DNS settings, make sure to update the relevant files in this repository (CI.md and DNS.md).

When microservice updates are truly ready for production, fetch and checkout the stable commit in the relevant submodule. Then, update the image entries in the docker-compose.yml.

For programmer documentation, see DOCS.md