Blueprint Bindings

Blueprint Bindings are used to automate the assignment of Kanister blueprints to applications. Once a Blueprint Binding is created, K10 will use it during snapshot, export, and restore operations to automatically run a desired blueprint for matching workloads, including those workloads that have not yet been created in a cluster. Kanister blueprints can be explored in greater detail in this section.

Warning

When a resource satisfies a BlueprintBinding and has a blueprint annotation simultaneously, K10 will use the blueprint specified in the BlueprintBinding.

The Blueprint Bindings page in the navigation sidebar can be used to manage these Bindings.

../_images/bindings-main.png

Creating a New Blueprint Binding Resource

To create a new Blueprint Binding resource, follow the steps below:

  1. Click the Add New button. This action will open a multi-step form.

  2. On the Binding Configuration page, provide the following information:
    • Name of the binding.

    • Blueprint name that will be applied to all matched resources.

    • Optionally, enable the binding for it to take effect immediately.

../_images/bindings-form-first.png
  1. Click the Next button to proceed to the Constraints page.

  2. On the Constraints page, create a query for resources.

    • Use the Match All Constraints list to match all the resources and perform the operation on each resource if all of the requirements are met.

    • Use the Match Any Constraints list to match any resource and perform the operation on each resource if any of the requirements are met.

Note

There is a logical operator AND between Match All and Match Any lists.
../_images/bindings-form-second.png
  1. On the Summary page, the binding configuration can be reviewed before creating or updating it. If using Kubectl is preferred, the Show YAML button can be clicked to open a modal window displaying all the details.

../_images/bindings-form-third.png
  1. After the review is complete, click the Submit button.

  2. After creating a Blueprint Binding, the View may be accessed by:

    • Clicking the binding's name on the Blueprints Binding page.

    • Or, accessing it via the three vertical dots just to the right of the binding row.

../_images/bindings-view.png
  1. On the View page, the form can be edited by clicking the Editing Binding button. Click the Show YAML button to edit or view the YAML.

Viewing Bound Blueprints for a Resource

The Applications page in the navigation sidebar can be used to view blueprint bindings associated with a particular resource. To view bound blueprints for a resource, follow the steps below:

  1. Navigate to the Applications page by clicking the Applications link in the navigation sidebar.

../_images/applications_page.png
  1. Select an application by clicking on a row in the applications table; this action will display a side panel containing details for the selected application.

../_images/application_details.png
  1. When a resource meets the constraints of a blueprint binding, the associated bound blueprint will be displayed as a badge in the Blueprints & Bindings column of the resource table.

../_images/bound_resource.png

Note

A resource can satisfy multiple bindings simultaneously. In such cases, the blueprint binding that was created first will take priority.
  1. To view the details of the currently active binding, click the quick action menu button and select View Blueprint YAML.

../_images/bound_resource_view_yaml.png
  1. To get an expanded view of all currently bound blueprints for a given resource, click the ellipsis menu, and select Configure Blueprints. Under Matching Bindings, if there are bound blueprints, a table will appear, displaying the name of the binding(s), their status, and the reasons for their current status.

../_images/configure_blueprints_modal.png

Note

The drop-down under Blueprint Annotation is intended for manually assigning a blueprint. Blueprints can be explored in greater detail in the blueprints section.