What Is a Country-Specific Meta Package?
A country-specific meta package is a mechanism that enables overriding default configuration values on the X-Road ecosystem level. The default configuration values are available here.
X-Road comes with a default configuration, but sometimes it’s desired to change some of the default values on the ecosystem level. For example, the default key length needs to be adjusted, message logging must be limited to metadata logging only, etc. However, usually it’s enough to override some of the default values and use the rest of the values as-is. Since different X-Road ecosystems have various requirements, it’s necessary to support multiple configuration profiles that do not affect the default configuration or each other.
A country-specific meta package is a mechanism that enables overriding the Security Server default configuration values on the X-Road ecosystem level. When a country-specific meta package is used, the values defined in the package override the X-Road default values. Instead, for all the other values the system defaults are used. In this way, it’s possible to override only specific values on the ecosystem-level.
How to create a new meta package?
Creating a country-specific meta package requires changes to the X-Road packaging. The meta packages are operating system-specific which means that each supported operating system requires its own meta package implementation. However, source code level changes are not required. Instead, the dockerized Security Server supports country-specific meta packages through additional Docker images. In practice, each country-specific meta package has a separate Docker image.
Changes to the default configuration values are defined in a new ini file (override-securityserver-<COUNTRY-CODE>.ini
), e.g., override-securityserver-fi.ini
:
In addition, Debian and RPM packaging require some changes, e.g.:
Debian
RPM
Including a meta package in the X-Road core
A country-specific meta package can be submitted as contribution to the X-Road core. In that way, the package becomes a part of the X-Road core. The benefit of this approach is that the package owner doesn’t need to build and publish their own X-Road packages, but they can use the official packages released by NIIS instead.