Table of Contents
The archive feature of Rudder allows to:
- Exchange configuration between multiple Rudder instances, in particular when having distinct environments;
- Keep an history of major changes.
Export the current configuration of Rudder before you begin to make any change you have to test: if anything goes wrong, you can return to this archived state.
Assuming you have multiple Rudder instances, each on dedicated for the development, qualification and production environment. You can prepare the changes on the development instance, export an archive, deploy this archive on the qualification environment, then on the production environment.
Versions of the Rudder servers | |
---|---|
If you want to export and import configurations between environments, the version of the source and target Rudder server must be exactly the same. If the versions don’t match (even if only the minor versions are different), there is a risk that the import will break the configuration on the target Rudder server. |
In the Administration > Archives section of the Rudder Server web interface, you can export and import the configuration of Rudder Groups, Directives and Rules. You can either archive the complete configuration, or only the subset dedicated to Groups, Directives or Rules.
When archiving configuration, a git tag is created into /var/rudder/configuration-repository
.
This tag is then referenced in the Rudder web interface, and available for download
as a zip file. Please note that each change in the Rudder web interface is also
committed in the repository.
Warning | |
---|---|
Currently, Archiving also add all unstaged files in the commit in |
The content of this repository can be imported into any Rudder server (with the same version).
To archive Rudder Rules, Groups, Directives, or make a global archive, you need to go to the Administration > Archives section of the Rudder Server web interface.
To perform a global archive, the steps are:
- Click on Archive everything - it will update the drop down list Choose an archive with the latest data
- In the drop down list Choose an archive, select the newly created archive (archives are sorted by date), for example 2015-01-08 16:39
- Click on Download as zip to download an archive that will contains all elements.
On the target server, importing the configuration will "merge" them with the existing configuration: every groups, rules, directives or techniques with the same identifier will be replaced by the import, and all others will remain untouched.
To import the archive on the target Rudder server, you can follow the following steps:
- Uncompress the zip archive in /var/rudder/configuration-repository
-
If necessary, correct all files permissions:
chown -R root:rudder directives groups parameters ruleCategories rules techniques
andchown -R ncf-api-venv:rudder ncf/50_techniques techniques/ncf_techniques
-
Add all files in the git repository:
git add . && git commit -am "Importing configuration"
- Finally, in the Web interface, go to the Administration > Archives section, and select Latest Git commit in the drop down list in the Global archive section, and click on Restore everything to restore the configuration.
Tip | |
---|---|
You can also perform the synchronisation from on environment to another by using git, through a unique git repository referenced on both environment. For instance, using one unique git repository you can follow this workflow:
|
You can use the procedures of Archiving and Restoring configuration to deploy preconfigured instance. You would prepare first in your labs the configuration for Groups, Directives and Rules, create an Archive, and import the Archive on the new Rudder server installation