From 3c92d4286590221271b1bca0f379035b1e69ff84 Mon Sep 17 00:00:00 2001 From: Alexandre Alves Date: Tue, 7 May 2024 13:25:12 +0100 Subject: [PATCH] change logic to get operator version from custom CRD included in elemental-operator + change min operator version for feature gating to 1.6.2 + bump version --- package.json | 2 +- pkg/elemental/config/elemental-types.js | 1 + pkg/elemental/package.json | 2 +- pkg/elemental/types.js | 1 + pkg/elemental/utils/feature-versioning.ts | 15 +++++++-------- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index bb5a11c..4109554 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "elemental-ui", "description": "Elemental UI extension", - "version": "1.3.1-rc5", + "version": "1.3.1-rc6", "private": false, "engines": { "node": ">=12" diff --git a/pkg/elemental/config/elemental-types.js b/pkg/elemental/config/elemental-types.js index 50787f4..8445962 100644 --- a/pkg/elemental/config/elemental-types.js +++ b/pkg/elemental/config/elemental-types.js @@ -10,6 +10,7 @@ export const ELEMENTAL_SCHEMA_IDS = { MACHINE_INV_SELECTOR: 'elemental.cattle.io.machineinventoryselector', MACHINE_INV_SELECTOR_TEMPLATES: 'elemental.cattle.io.machineinventoryselectortemplate', SEED_IMAGE: 'elemental.cattle.io.seedimage', + METADATA: 'elemental.cattle.io.metadata', }; export const KIND = { MACHINE_INV_SELECTOR_TEMPLATES: 'MachineInventorySelectorTemplate' }; diff --git a/pkg/elemental/package.json b/pkg/elemental/package.json index f4e2bc3..f5302b4 100644 --- a/pkg/elemental/package.json +++ b/pkg/elemental/package.json @@ -1,7 +1,7 @@ { "name": "elemental", "description": "OS Management extension", - "version": "1.3.1-rc5", + "version": "1.3.1-rc6", "private": false, "rancher": { "annotations": { diff --git a/pkg/elemental/types.js b/pkg/elemental/types.js index 3b583d5..1b15985 100644 --- a/pkg/elemental/types.js +++ b/pkg/elemental/types.js @@ -19,4 +19,5 @@ export const ELEMENTAL_SCHEMAS = { MANAGED_OS_VERSIONS: 'elemental.cattle.io.managedosversions', MACHINE_INV_SELECTOR: 'elemental.cattle.io.machineinventoryselectors', MACHINE_INV_SELECTOR_TEMPLATES: 'elemental.cattle.io.machineinventoryselectortemplates', + METADATA: 'elemental.cattle.io.metadata', }; diff --git a/pkg/elemental/utils/feature-versioning.ts b/pkg/elemental/utils/feature-versioning.ts index 475650b..94dc168 100644 --- a/pkg/elemental/utils/feature-versioning.ts +++ b/pkg/elemental/utils/feature-versioning.ts @@ -1,7 +1,6 @@ import semver from 'semver'; import { _CREATE, _VIEW } from '@shell/config/query-params'; -import { WORKLOAD_TYPES } from '@shell/config/types'; import { ELEMENTAL_SCHEMA_IDS } from '../config/elemental-types'; import { ELEMENTAL_TYPES } from '../types'; @@ -20,19 +19,19 @@ const FEATURES_GATING:FeaturesGatingConfig[] = [ { area: ELEMENTAL_SCHEMA_IDS.MACHINE_REGISTRATIONS, mode: [_CREATE], - minOperatorVersion: '1.6.0', + minOperatorVersion: '1.6.2', features: [MACH_REG_CONFIG_DEFAULTS] }, { area: ELEMENTAL_TYPES.DASHBOARD, mode: [_VIEW], - minOperatorVersion: '1.6.0', + minOperatorVersion: '1.6.2', features: [BUILD_MEDIA_RAW_SUPPORT] }, { area: ELEMENTAL_SCHEMA_IDS.MACHINE_REGISTRATIONS, mode: [_VIEW], - minOperatorVersion: '1.6.0', + minOperatorVersion: '1.6.2', features: [BUILD_MEDIA_RAW_SUPPORT] } ]; @@ -43,11 +42,11 @@ const FEATURES_GATING:FeaturesGatingConfig[] = [ * @returns Promise */ export async function getOperatorVersion(store: any): Promise { - // needed to check operator version installed (on the deployment) - if (store.getters['management/canList'](WORKLOAD_TYPES.DEPLOYMENT)) { - const elementalOperatorDeployment = await store.dispatch('management/find', { type: WORKLOAD_TYPES.DEPLOYMENT, id: 'cattle-elemental-system/elemental-operator' }); + // needed to check operator version installed (on a custom CRD called metadata, which is installed/created from elemental-operator) + if (store.getters['management/canList'](ELEMENTAL_SCHEMA_IDS.METADATA)) { + const elementalOperatorMetadata = await store.dispatch('management/find', { type: ELEMENTAL_SCHEMA_IDS.METADATA, id: 'cattle-elemental-system/elemental-operator' }); - return elementalOperatorDeployment?.metadata?.labels?.['app.kubernetes.io/version'] || '0.1.0'; + return elementalOperatorMetadata?.spec?.appVersion || '0.1.0'; } return '0.1.0';