Modularity affects not only the services themselves, but also their data storage. For many years, registry data have been divided into two databases, the registry itself and the log database. However, the registry database itself already takes up 100 GB and its partitioning would greatly facilitate its maintenance. One of the largest parts is the news archive, which takes up about a third of its size.
We started changes in architecture already in 2018 with the establishment of a new administration interface Ferda (all-around craftsman). Together with the introduction of this interface, we have started a gradual rewriting of registry services. Ferda thus works exclusively with gRPC services, each of which manages just one logical unit.
A motivation of this year’s changes was primarily to replace the outdated pyfred project, which still uses Python 2.7. Due to its condition, we decided to cease its maintenance and replace it with completely new projects to replace its services. The biggest item were the messaging modules. In addition to the separation, this will provide long-missing features, especially unification of templates for different types of messages, template management, more options for archiving, and facilitated integration of custom extensions. Other new features include new modules for zone generation and logging, a module for generating statistics is also being developed. Automatic DNS key management is also undergoing a significant change. This will allow scanning from multiple locations, among other things.
Overview of changes in FRED architecture (new modules in green, replaced ones in red):
