chore(feature flags): remove legacyIfcImporterEnabled & experimentalIfcImporterEnabled (#5270)

- experimentalIfcImporterEnabled is now assumed to be permanently true
- legacyIfcImporterEnabled is now assumed to be permanently false
This commit is contained in:
Iain Sproat
2025-08-20 13:54:15 +01:00
committed by GitHub
parent f94cd775aa
commit 7a222c6aae
9 changed files with 10 additions and 63 deletions
-2
View File
@@ -4,8 +4,6 @@ POSTGRES_MAX_CONNECTIONS_FILE_IMPORT_SERVICE='1'
POSTGRES_CONNECTION_ACQUIRE_TIMEOUT_MILLIS='16000'
POSTGRES_CONNECTION_CREATE_TIMEOUT_MILLIS='5000'
FF_WORKSPACES_MULTI_REGION_ENABLED=false
FF_LEGACY_IFC_IMPORTER_ENABLED=true
FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED=false
FF_NEXT_GEN_FILE_IMPORTER_ENABLED=false
REDIS_URL="redis://127.0.0.1:6379"
@@ -19,10 +19,6 @@ import {
getConnectionSettings,
obfuscateConnectionString
} from '@speckle/shared/environment/db'
import { getFeatureFlags } from '@speckle/shared/environment'
const { FF_LEGACY_IFC_IMPORTER_ENABLED, FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED } =
getFeatureFlags()
const HEALTHCHECK_FILE_PATH = '/tmp/last_successful_query'
@@ -179,10 +175,7 @@ async function doTask(
taskLogger.info('Triggering importer for {fileType}')
if (info.fileType.toLowerCase() === 'ifc') {
if (
info.fileName.toLowerCase().endsWith('.legacyimporter.ifc') ||
FF_LEGACY_IFC_IMPORTER_ENABLED
) {
if (info.fileName.toLowerCase().endsWith('.legacyimporter.ifc')) {
await runProcessWithTimeout(
taskLogger,
process.env['NODE_BINARY_PATH'] || 'node',
@@ -206,10 +199,7 @@ async function doTask(
TIME_LIMIT,
TMP_RESULTS_PATH
)
} else if (
info.fileName.toLowerCase().endsWith('.dotnetimporter.ifc') ||
!FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED
) {
} else if (info.fileName.toLowerCase().endsWith('.dotnetimporter.ifc')) {
await runProcessWithTimeout(
taskLogger,
process.env['DOTNET_BINARY_PATH'] || 'dotnet',
@@ -11,9 +11,6 @@ import { DOTNET_BINARY_PATH, RHINO_IMPORTER_PATH } from './config.js'
import { getIfcDllPath } from '@/controller/helpers/env.js'
import { z } from 'zod'
import { TIME_MS } from '@speckle/shared'
import { getFeatureFlags } from '@speckle/shared/environment'
const { FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED } = getFeatureFlags()
const jobSuccess = z.object({
success: z.literal(true),
@@ -123,9 +120,9 @@ export const jobProcessor = async ({
switch (fileType) {
case 'ifc':
parserUsed = 'ifc'
const useDotnetIfcImporter =
job.fileName.toLowerCase().endsWith('.dotnetimporter.ifc') ||
!FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED
const useDotnetIfcImporter = job.fileName
.toLowerCase()
.endsWith('.dotnetimporter.ifc')
if (useDotnetIfcImporter) {
await runProcessWithTimeout(
@@ -19,8 +19,6 @@ export type FeatureFlags = {
FF_RHINO_FILE_IMPORTER_ENABLED: boolean
FF_BACKGROUND_JOBS_ENABLED: boolean
FF_LEGACY_FILE_IMPORTS_ENABLED: boolean
FF_LEGACY_IFC_IMPORTER_ENABLED: boolean
FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED: boolean
FF_ACC_INTEGRATION_ENABLED: boolean
FF_SAVED_VIEWS_ENABLED: boolean
FF_USERS_INVITE_SCOPE_IS_PUBLIC: boolean
-12
View File
@@ -134,18 +134,6 @@ export const parseFeatureFlags = (
'Enables the legacy file importer. This proxies file uploads via REST API on the server instead of directly PUTing files to S3 via pre-signed urls.',
defaults: { _: false }
},
FF_LEGACY_IFC_IMPORTER_ENABLED: {
schema: z.boolean(),
description:
'Enables the legacy javascript based webIFC file importer (pre-2025). Even if disabled this importer can be accessed by appending `.legacyimporter.ifc` to the uploaded file name. This is deprecated and will be removed in the future.',
defaults: { _: false }
},
FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED: {
schema: z.boolean(),
description:
'Enables the IFC file importer based on IFCOpenShell (as of July 2025). Even if enabled, the previous webIFC & .Net importer can be accessed by appending `.dotnetimporter.ifc` to the uploaded file name.',
defaults: { _: false }
},
FF_ACC_INTEGRATION_ENABLED: {
schema: z.boolean(),
description:
@@ -184,14 +184,6 @@ spec:
- name: FF_NEXT_GEN_FILE_IMPORTER_ENABLED
value: {{ .Values.featureFlags.nextGenFileImporterEnabled | quote }}
{{- end }}
{{- if .Values.featureFlags.experimentalIfcImporterEnabled }}
- name: FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED
value: {{ .Values.featureFlags.experimentalIfcImporterEnabled | quote }}
{{- end }}
{{- if .Values.featureFlags.legacyIfcImporterEnabled }}
- name: FF_LEGACY_IFC_IMPORTER_ENABLED
value: {{ .Values.featureFlags.legacyIfcImporterEnabled | quote }}
{{- end }}
{{- with .Values.fileimport_service.additionalEnvVars }}
{{- toYaml . | nindent 10}}
{{- end }}
@@ -103,10 +103,6 @@ spec:
- name: FILE_IMPORT_TIME_LIMIT_MIN
value: {{ .Values.file_import_time_limit_min | quote }}
{{- if .Values.featureFlags.experimentalIfcImporterEnabled }}
- name: FF_EXPERIMENTAL_IFC_IMPORTER_ENABLED
value: {{ .Values.featureFlags.experimentalIfcImporterEnabled | quote }}
{{- end }}
{{- with .Values.ifc_import_service.additionalEnvVars }}
{{- toYaml . | nindent 10}}
{{- end }}
+1 -11
View File
@@ -115,16 +115,6 @@
"description": "Enables the legacy file upload mechanism, using REST API to proxy file uploads via the server",
"default": false
},
"experimentalIfcImporterEnabled": {
"type": "boolean",
"description": "Enables the ability to parse IFC files using the experimental IFC importer",
"default": false
},
"legacyIfcImporterEnabled": {
"type": "boolean",
"description": "Enables the ability to parse IFC files using the legacy IFC importer.",
"default": false
},
"backgroundJobsEnabled": {
"type": "boolean",
"description": "Enables the ability to run background jobs (such as the IFC importer) in Speckle",
@@ -2336,7 +2326,7 @@
"properties": {
"enabled": {
"type": "boolean",
"description": "If enabled, the File Import Service will be deployed within the cluster.",
"description": "If enabled, the Legacy File Import Service will be deployed within the cluster.",
"default": true
},
"replicas": {
+4 -6
View File
@@ -67,10 +67,6 @@ featureFlags:
nextGenFileImporterEnabled: false
## @param featureFlags.legacyFileImportsEnabled Enables the legacy file upload mechanism, using REST API to proxy file uploads via the server
legacyFileImportsEnabled: false
## @param featureFlags.experimentalIfcImporterEnabled Enables the ability to parse IFC files using the experimental IFC importer
experimentalIfcImporterEnabled: false
## @param featureFlags.legacyIfcImporterEnabled Enables the ability to parse IFC files using the legacy IFC importer.
legacyIfcImporterEnabled: false
## @param featureFlags.backgroundJobsEnabled Enables the ability to run background jobs (such as the IFC importer) in Speckle
backgroundJobsEnabled: false
## @param featureFlags.accIntegrationEnabled Enables the ability to import data from ACC
@@ -1407,11 +1403,13 @@ webhook_service:
## @section File Import Service
## @descriptionStart
## Defines parameters related to the File Import Service component of Speckle.
## DEPRECATED
## Defines parameters related to the Legacy file Import Service component of Speckle.
## Use the ifc_import_service instead.
## @descriptionEnd
##
fileimport_service:
## @param fileimport_service.enabled If enabled, the File Import Service will be deployed within the cluster.
## @param fileimport_service.enabled If enabled, the Legacy File Import Service will be deployed within the cluster.
enabled: true
## @param fileimport_service.replicas The number of instances of the FileImport Service pod to be deployed within the cluster.
##