Current 2.5 production environment:

How things will look with 2.7

The following files will are obsolete in 2.7:
(1)
https://github.com/triplea-game/triplea/blob/master/lobby_server.yaml
(2)
https://github.com/triplea-game/triplea/blob/master/triplea_maps.yaml
File (1) contains the data for a client to know which lobby it should connect to. Keep in mind there can be multiple lobbies running at the same time (eg: 2.4 & 2.5). Each lobby exists at a different URL, the client needs to know which URL to use for the lobby.
In 2.7; we will solve this by adding routing rules to NGINX. The client simply sends a request to the lobby at a known URL: prod.triple-game.org. The client also sends a header with its version number. From there, NGINX will route the request to the correct lobby server for that version number.
File (2) contains all the information in the 'download maps' window. The full list of all maps, their descriptions and more. To solve this, we will make the support server keep a database of all the maps in github maps. We can ask github for a list of repositories, from there assume there will be a "map.yml" and a "description.html" file in the repository, the server reads those files and puts it all into database.
With that setup, instead of the TripleA game client requesting map information by downloading a file (triplea_maps.yml) from github, instead the game client sends a request to our server. Our server now has a database of all maps, we can give the exact same data back to the client.
Notice how 'triplea_maps.yml' is no longer needed. The 'yml' file contains 5 pieces of information about each map:
(1) Map URI. We can instead get this from github when we ask for a list of all repositories. Each repository is a map, therefore the URI of all repositories is the list of all maps.
(2) Map Name. If we assume there will be a 'map.yml' file at the top level folder of each repository, then we can download that file & read the 'map_name' attribute to now know the map name. We read the map name from a file that is checked in with the repository now.
(3) Preview image location: if we assume a preview image is called 'preview.png' or similar then we know the preview location based on the URI of the map alone.
(4) description: instead of finding this information from 'triplea_maps.yml', if we assume there is a 'description.html' file in each map repository, we can read the description data from there.
(5) version: before there was a version number in triplea-maps that simply notified clients to install a new version of the map. Keep in mind, this version number is only used to notify game clients to out of date maps. The core game engine assume that any map will always have exactly one version, the game engine does not actually support the true concept of map versions (beyond showing the value to users, it's totally unused and [to the best of my knowledge] has always been otherwise unused)...
So, to replace version number, we mandate a new rule. Whenever the repository changes, we automatically increment the version number. So, whenever a map repo changes, automatically game clients will be notified that the map is out of date. Instead of storing the 'version' of a map, we can get the timestamp of the last change to the repository. The support server can read this timestamp and automatically manage the version number. In this manner, the version number works exactly in the same way as before (as far as the TripleA client is concerned). Except, the version number is entirely managed by our servers and is automatically incremented whenever a map repository on github is updated.