
This patch set adds use cases for each of the mutation operations used by Deckhand: * substitution * layering * replacement To help document authors decide which operations they should use. Change-Id: I8bc470c7ddc2f3c0aa9d4372a2323fa84632e369
2.2 KiB
2.2 KiB
Document Rendering
Document rendering involves extracting all raw revision documents from Deckhand's database, retrieving encrypted information from Barbican, and applying substitution, layering and replacement algorithms on the data.
The following algorithms are involved during the rendering process:
substitution
Substitution provides an "open" data sharing model in which any source document can be used to substitute data into any destination document.
Use Cases
- Sharing of data between specific documents no matter their
schema
. - Data sharing using pattern matching.
- Fine-grained sharing of specific sections of data.
layering
Layering provides a "restricted" data inheritance model intended to help reduce duplication in configuration.
Use Cases
- Sharing of data between documents with the same
schema
. - Deep merging of objects and lists.
- Layer order with multiple layers, resulting in a larger hierarchy of documents.
- Source document for data sharing can be identified via labels,
allowing for different documents to be used as the source for sharing,
depending on
parent-selection
.
replacement
Replacement builds on top of layering to provide yet another mechanism for reducing data duplication.
Use Cases
- Same as layering, but with a need to replace higher-layer documents with lower-layer documents for specific site deployments.