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