Skip to content

Version Management

Draft Versioning for Blueprints and Add-ons

To simplify version management and reduce unnecessary duplication, the Blueprint and Add-on management process now supports draft versioning. Previously, any modification required creating a new version, leading to excessive versioning.

With draft versions, users can refine configurations without generating multiple versions while ensuring in-progress changes remain isolated from shared projects. This enhances flexibility and controlled updates. Once finalized, a draft version can be marked active, making it available for use while maintaining version stability. Once a version is marked active, it can no longer be modified. To make any changes, users must create a new version and manage configurations through versioning from that point forward.

The edit option is exclusive to draft versions, whereas active or disable versions (for Blueprints) remain immutable to preserve configuration integrity.

⚠️ Important: The DISABLE state is only available for Blueprints, not Add-ons.

Did you know ?

Add-ons and Blueprint versions can be managed through various methods:

Supported States for Blueprints and Add-ons

State Behavior
draft Modifiable, visible only in the parent project, not available to child projects
active No modifications allowed. Only active versions are available for use when the parent object is shared with other projects
disable Not available for new use but does not impact existing deployment (e.g., clusters running a disable Blueprint version)

Version Management via RCTL

Blueprint Spec with Version Parameters

Below is an example Blueprint spec where the version parameters are defined:

apiVersion: infra.k8smgmt.io/v3
kind: Blueprint
metadata:
  name: demo-bp
  project: default
spec:
  base:
    name: minimal
    version: 2.11.0
  customAddons:
  - name: demo-addon
    version: v1
  defaultAddons:
    csiSecretStoreConfig:
      providers: {}
    enableIngress: true
    enableLogging: true
    enableMonitoring: true
    enableVM: true
  drift:
    enabled: true
  sharing:
    enabled: false
  type: custom
  version: v2
  versionState: draft

Add-On Spec with Version Parameters

Below is an example Add-On spec where the version parameters are defined:

apiVersion: infra.k8smgmt.io/v3
kind: Addon
metadata:
  name: demo-addon
  project: default
spec:
  artifact:
    artifact:
      paths:
      - name: file://demopath.yaml
    type: Yaml
  namespace: demo-ns
  sharing: {}
  version: v1
  versionState: draft