The Design Center is a public repository for data-driven policy templates called sketches that is deeply integrated with CFEngine Enterprise.

[Sketches][Sketch Structure] are ready-to-use components (e.g. collections of bundles, support files, etc.) that can be directly imported and used in CFEngine policies. Most sketches are specialized for achieving specific tasks, or for maintaining a specific piece of software, but their scope and capabilities can range beyond. They are organized in categories and tagged according to their functionality.

Sketches are managed (installed, configured, enabled and uninstalled) through a specialized tool called cf-sketch which in turn talks to a specialized Design Center API. That API is available for third-party integrations.

In CFEngine Enterprise, the Design Center interactions are driven by the Mission Portal Design Center App for great ease of use.

This is a guide to the Design Center functionality. For the reference pages for its API and code structure, start with [Design Center][Design Center].

Use Design Center Sketches to Deploy Policy

The CFEngine Design Center is a collection of data-driven policy templates called sketches. Sketches can be configured and deployed (“activated”) without prior knowledge of the CFEngine language.

The Design Center also contains tools that help you to manipulate and manage sketches:

The Design Center Sketch Workflow

A sketch is installed, configured, and deployed (the whole process is called an “activation”), as shown in the diagram below:

Sketch Workflow

  1. Install a sketch from a master repository. At this point, the sketch is merely a template that cannot do anything because it doesn’t contain parameters. With CFEngine Enterprise, installations are handled invisibly.

  2. Configure the sketch by providing parameters. Now, you can create sketch configurations. One sketch can have multiple configurations with different parameter sets that will get applied under different conditions. With CFEngine Enterprise, you do this from a GUI screen.

  3. Deploy the runfile. This makes the sketch visible to CFEngine, so it can begin to execute. Typically the intermediate stage here is to generate a runfile (the policy glue that enables all the Design Center magic) and check it into your version control repository. With CFEngine Enterprise, this step is handled invisibly, you just enter a commit message for the change you’ve made.

Value of Sketches to Users

Sketches provide value to CFEngine users, especially Enterprise customers:

Design Center Terminology

See Also