User story #21247
closedAdd an API endpoint to export rules, directives, techniques, groups and their dependencies in an archive
Description
Add an API endpoint that would export rules and their dependencies: directives, techniques (with resources), groups.
Add the corresponding endpoint to import the same things (or a sub-set of that).
Part of the user story is to define the serialization format.
We want to use an archive, likely zip because of its wide availability, of files organized in directory by type that mimic content of /var/rudder/config-repo
We want to use a similar format too.
There is a question around revision since it does not have meaning out of the context of a Rudder, but may be important for understand things afterward. A middle ground could be to export it in archive, but ignore it in import (since we can't import things at a given revision, just on a branch).
Serialisation should be easely human updatable, even with long text. Yaml is a good candidate. A first version can use another format, as long as the feature is put behind a feature flag that needs to be enabled so that people are informed that the format is not definitive.
EDIT: this first user story will only be for exporting archive of items with (optionaly) their dependencies.
We use json for now, but would like to be able to change the format latter on, so we will put the feature behind a feature switch.
A second user story for the opposite action (import zip archive with json serialized objects) will be added as a subtask.
Updated by François ARMAND over 2 years ago
- Status changed from New to In progress
- Assignee set to François ARMAND
Updated by Alexis Mousset over 2 years ago
- Tracker changed from Bug to User story
- Priority deleted (
0)
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/2eb4fed1ab94442dde8c66f43c9aa293beef86b4
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/7cbf119955fb84f90eeed100b4247b27c4bd955f
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/dfd2d2bdd8b017c07e566bafad57c4eec4e6c517
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/293d59506456ba432338a97451716eec23b75046
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/d0cddc0d92b4bff306d940d04eba09c6af751cf0
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/96c37443042efcb6d8be03bf6d4484f1128d6d20
Updated by François ARMAND over 2 years ago
Work in progess here: https://github.com/fanf/rudder/commit/458275487bb892f89404b003e63f58b8d4d854c0
Updated by François ARMAND over 2 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Vincent MEMBRÉ
- Pull Request set to https://github.com/Normation/rudder/pull/4345
Updated by François ARMAND over 2 years ago
- Subject changed from Add API endpoint to export/import a rules, their directives, techniques, groups in an archive to Add API endpoint to export a rules, their directives, techniques, groups in an archive
- Description updated (diff)
Updated by François ARMAND over 2 years ago
- Subject changed from Add API endpoint to export a rules, their directives, techniques, groups in an archive to Add Aan PI endpoint to export rules, directives, techniques, groups and their dependencies in an archive
Updated by François ARMAND over 2 years ago
- Subject changed from Add Aan PI endpoint to export rules, directives, techniques, groups and their dependencies in an archive to Add an API endpoint to export rules, directives, techniques, groups and their dependencies in an archive
Updated by François ARMAND over 2 years ago
- Pull Request changed from https://github.com/Normation/rudder/pull/4345 to https://github.com/Normation/rudder/pull/4367
Merged with PR from #21321
Updated by François ARMAND over 2 years ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|f30a1a454bc8067d48fc97c3b83fa5fc45c1dd29.
Updated by Vincent MEMBRÉ over 2 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 7.2.0~beta1 which was released today.
Updated by François ARMAND about 2 years ago
- Related to User story #21675: User documentation of archive import/export added
Updated by François ARMAND almost 2 years ago
- Related to Enhancement #22333: Avoid sync group when importing a rule archive added
Updated by François ARMAND almost 2 years ago
- Related to Enhancement #22342: Add a "all" keyword for export API in place of listing UUIDs of rule/directive/etc added
Updated by François ARMAND about 1 year ago
- Related to User story #5738: Export and import (create, update) Rule with all dependencies added