From ae667e82cbc9d994206628cc199eca91102c1151 Mon Sep 17 00:00:00 2001 From: Lasha Kakabadze Date: Wed, 6 Sep 2023 10:57:34 +0400 Subject: [PATCH 1/3] change generic postgres image selection, update array --- .../shared/pages/Configuration/index.tsx | 55 +++++++++--------- .../shared/pages/Configuration/utils/index.ts | 56 +++++++++++++++++++ 2 files changed, 86 insertions(+), 25 deletions(-) diff --git a/ui/packages/shared/pages/Configuration/index.tsx b/ui/packages/shared/pages/Configuration/index.tsx index 4fdaa05cf..5f6a239a6 100644 --- a/ui/packages/shared/pages/Configuration/index.tsx +++ b/ui/packages/shared/pages/Configuration/index.tsx @@ -449,27 +449,30 @@ export const Configuration = observer( e: React.ChangeEvent, ) => { if (e.target.value === 'Generic Postgres') { - const currentDockerImage = - genericDockerImages[genericDockerImages.length - 1] + const genericImageVersions = genericDockerImages + .map((image) => image.pg_major_version) + .filter((value, index, self) => self.indexOf(value) === index) + .sort((a, b) => Number(a) - Number(b)) + const currentDockerImage = genericImageVersions.slice(-1)[0] + setDockerState({ ...dockerState, - images: genericDockerImages.map((image) => image.pg_major_version), tags: genericDockerImages - .filter((image) => - image.tag.startsWith(currentDockerImage.pg_major_version), - ) - .map((image) => image.tag), + .map((image) => image.tag) + .filter((tag) => tag.startsWith(currentDockerImage)), + locations: genericDockerImages + .map((image) => image.location) + .filter((location) => location?.includes(currentDockerImage)), + images: genericImageVersions, data: genericDockerImages, }) formik.setValues({ ...formik.values, - dockerImage: currentDockerImage.pg_major_version, - dockerPath: currentDockerImage.location, + dockerImage: currentDockerImage, dockerImageType: e.target.value, - dockerTag: genericDockerImages.filter((image) => - image.tag.startsWith(currentDockerImage.pg_major_version), - )[0].tag, + dockerTag: genericDockerImages.map((image) => image.tag)[0], + dockerPath: genericDockerImages.map((image) => image.location)[0], sharedPreloadLibraries: 'pg_stat_statements,pg_stat_kcache,pg_cron,pgaudit,anon', }) @@ -542,27 +545,29 @@ export const Configuration = observer( if (customOrGenericImage(configData?.dockerImageType)) { if (configData?.dockerImageType === 'Generic Postgres') { - const dockerObject = genericDockerImages.filter( - (image) => image.location === configData.dockerPath, + const genericImageVersions = genericDockerImages + .map((image) => image.pg_major_version) + .filter((value, index, self) => self.indexOf(value) === index) + .sort((a, b) => Number(a) - Number(b)) + const currentDockerImage = genericDockerImages.filter( + (image) => image.location === configData?.dockerPath, )[0] setDockerState({ ...dockerState, - images: genericDockerImages.map( - (image) => image.pg_major_version, - ), tags: genericDockerImages - .filter((image) => - image.tag.startsWith(dockerObject?.pg_major_version), - ) - .map((image) => image.tag), + .map((image) => image.tag) + .filter((tag) => + tag.startsWith(currentDockerImage.pg_major_version), + ), + images: genericImageVersions, data: genericDockerImages, }) - formik.setFieldValue('dockerTag', dockerObject?.tag) + formik.setFieldValue('dockerTag', currentDockerImage?.tag) formik.setFieldValue( 'dockerImage', - dockerObject?.pg_major_version, + currentDockerImage.pg_major_version, ) } else { formik.setFieldValue('dockerImage', configData?.dockerPath) @@ -812,8 +817,8 @@ export const Configuration = observer( className={classes.grayText} style={{ margin: '0.5rem 0 1rem 0', display: 'block' }} > - DBLab manages various database containers, such as clones. This - section defines default container settings. + DBLab manages various database containers, such as clones. + This section defines default container settings.
{ return values.length !== 0 ? nonEmptyDatabase : null } + +// using the same json data structue as se-images export const genericDockerImages = [ + { + package_group: 'postgresai', + pg_major_version: '9.6', + tag: '9.6-0.4.0', + location: `${genericImagePrefix}:9.6-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '9.6', tag: '9.6-0.3.0', location: `${genericImagePrefix}:9.6-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '10', + tag: '10-0.4.0', + location: `${genericImagePrefix}:10-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '10', tag: '10-0.3.0', location: `${genericImagePrefix}:10-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '11', + tag: '11-0.4.0', + location: `${genericImagePrefix}:11-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '11', tag: '11-0.3.0', location: `${genericImagePrefix}:11-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '12', + tag: '12-0.4.0', + location: `${genericImagePrefix}:12-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '12', tag: '12-0.3.0', location: `${genericImagePrefix}:12-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '13', + tag: '13-0.4.0', + location: `${genericImagePrefix}:13-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '13', tag: '13-0.3.0', location: `${genericImagePrefix}:13-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '14', + tag: '14-0.4.0', + location: `${genericImagePrefix}:14-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '14', tag: '14-0.3.0', location: `${genericImagePrefix}:14-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '15', + tag: '15-0.4.0', + location: `${genericImagePrefix}:15-0.4.0`, + }, { package_group: 'postgresai', pg_major_version: '15', tag: '15-0.3.0', location: `${genericImagePrefix}:15-0.3.0`, }, + { + package_group: 'postgresai', + pg_major_version: '16', + tag: '16rc1-0.4.0', + location: `${genericImagePrefix}:16rc1-0.4.0`, + }, + { + package_group: 'postgresai', + pg_major_version: '16', + tag: '16-0.3.0', + location: `${genericImagePrefix}:16-0.3.0`, + }, ] export const isSeDockerImage = (dockerImage: string | undefined) => { -- GitLab From 6597b2365f297ce5482916c42c27beb117ed37f7 Mon Sep 17 00:00:00 2001 From: Lasha Kakabadze Date: Tue, 19 Sep 2023 16:39:09 +0100 Subject: [PATCH 2/3] update tag to 0.4.1 --- .../shared/pages/Configuration/utils/index.ts | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/ui/packages/shared/pages/Configuration/utils/index.ts b/ui/packages/shared/pages/Configuration/utils/index.ts index 4dd63fed0..f69183b67 100644 --- a/ui/packages/shared/pages/Configuration/utils/index.ts +++ b/ui/packages/shared/pages/Configuration/utils/index.ts @@ -45,8 +45,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '9.6', - tag: '9.6-0.4.0', - location: `${genericImagePrefix}:9.6-0.4.0`, + tag: '9.6-0.4.1', + location: `${genericImagePrefix}:9.6-0.4.1`, }, { package_group: 'postgresai', @@ -57,8 +57,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '10', - tag: '10-0.4.0', - location: `${genericImagePrefix}:10-0.4.0`, + tag: '10-0.4.1', + location: `${genericImagePrefix}:10-0.4.1`, }, { package_group: 'postgresai', @@ -69,8 +69,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '11', - tag: '11-0.4.0', - location: `${genericImagePrefix}:11-0.4.0`, + tag: '11-0.4.1', + location: `${genericImagePrefix}:11-0.4.1`, }, { package_group: 'postgresai', @@ -81,8 +81,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '12', - tag: '12-0.4.0', - location: `${genericImagePrefix}:12-0.4.0`, + tag: '12-0.4.1', + location: `${genericImagePrefix}:12-0.4.1`, }, { package_group: 'postgresai', @@ -93,8 +93,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '13', - tag: '13-0.4.0', - location: `${genericImagePrefix}:13-0.4.0`, + tag: '13-0.4.1', + location: `${genericImagePrefix}:13-0.4.1`, }, { package_group: 'postgresai', @@ -105,8 +105,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '14', - tag: '14-0.4.0', - location: `${genericImagePrefix}:14-0.4.0`, + tag: '14-0.4.1', + location: `${genericImagePrefix}:14-0.4.1`, }, { package_group: 'postgresai', @@ -117,8 +117,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '15', - tag: '15-0.4.0', - location: `${genericImagePrefix}:15-0.4.0`, + tag: '15-0.4.1', + location: `${genericImagePrefix}:15-0.4.1`, }, { package_group: 'postgresai', @@ -129,8 +129,8 @@ export const genericDockerImages = [ { package_group: 'postgresai', pg_major_version: '16', - tag: '16rc1-0.4.0', - location: `${genericImagePrefix}:16rc1-0.4.0`, + tag: '16rc1-0.4.1', + location: `${genericImagePrefix}:16rc1-0.4.1`, }, { package_group: 'postgresai', -- GitLab From 9fa19f7bf07efd36dc4a55636bf35039dd7180c1 Mon Sep 17 00:00:00 2001 From: Lasha Kakabadze Date: Mon, 25 Sep 2023 17:18:49 +0100 Subject: [PATCH 3/3] add additional check for images without tag --- ui/packages/shared/pages/Configuration/index.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ui/packages/shared/pages/Configuration/index.tsx b/ui/packages/shared/pages/Configuration/index.tsx index 5f6a239a6..dc704ec79 100644 --- a/ui/packages/shared/pages/Configuration/index.tsx +++ b/ui/packages/shared/pages/Configuration/index.tsx @@ -549,9 +549,13 @@ export const Configuration = observer( .map((image) => image.pg_major_version) .filter((value, index, self) => self.indexOf(value) === index) .sort((a, b) => Number(a) - Number(b)) - const currentDockerImage = genericDockerImages.filter( - (image) => image.location === configData?.dockerPath, - )[0] + const currentDockerImage = + genericDockerImages.filter( + (image) => image.location === configData?.dockerPath, + )[0] || + genericDockerImages.filter((image) => + configData?.dockerPath?.includes(image.pg_major_version), + )[0] setDockerState({ ...dockerState, -- GitLab