diff --git a/.circleci/config.yml b/.circleci/config.yml index 74c4506bb..c22ce27b5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -551,6 +551,7 @@ jobs: AUTOMATE_ENCRYPTION_KEYS_PATH: 'test/assets/automate/encryptionKeys.json' FF_AUTOMATE_MODULE_ENABLED: 'false' # Disable all FFs FF_WORKSPACES_MODULE_ENABLED: 'false' + FF_MULTIPLE_EMAILS_MODULE_ENABLED: 'false' FF_GENDOAI_MODULE_ENABLED: 'false' test-frontend-2: diff --git a/packages/frontend-2/composables/globals.ts b/packages/frontend-2/composables/globals.ts index f5c398176..344d26d31 100644 --- a/packages/frontend-2/composables/globals.ts +++ b/packages/frontend-2/composables/globals.ts @@ -18,6 +18,14 @@ export const useIsWorkspacesEnabled = () => { return ref(FF_WORKSPACES_MODULE_ENABLED) } +export const useIsMultipleEmailsEnabled = () => { + const { + public: { FF_MULTIPLE_EMAILS_MODULE_ENABLED } + } = useRuntimeConfig() + + return ref(FF_MULTIPLE_EMAILS_MODULE_ENABLED) +} + export const useIsGendoModuleEnabled = () => { const { public: { FF_GENDOAI_MODULE_ENABLED } diff --git a/packages/shared/src/environment/index.ts b/packages/shared/src/environment/index.ts index cd600a895..8c42e16c8 100644 --- a/packages/shared/src/environment/index.ts +++ b/packages/shared/src/environment/index.ts @@ -20,6 +20,11 @@ function parseFeatureFlags() { schema: z.boolean(), defaults: { production: false, _: true } }, + // Enables the multiple emails module + FF_MULTIPLE_EMAILS_MODULE_ENABLED: { + schema: z.boolean(), + defaults: { production: false, _: true } + }, // Disables writing to the closure table in the create objects batched services (re object upload routes) FF_NO_CLOSURE_WRITES: { schema: z.boolean(), diff --git a/utils/helm/speckle-server/templates/_helpers.tpl b/utils/helm/speckle-server/templates/_helpers.tpl index 6c5120a0d..80f5624ea 100644 --- a/utils/helm/speckle-server/templates/_helpers.tpl +++ b/utils/helm/speckle-server/templates/_helpers.tpl @@ -566,6 +566,9 @@ Generate the environment variables for Speckle server and Speckle objects deploy - name: FF_WORKSPACES_MODULE_ENABLED value: {{ .Values.featureFlags.workspaceModuleEnabled | quote }} +- name: FF_MULTIPLE_EMAILS_MODULE_ENABLED + value: {{ .Values.featureFlags.multipleEmailsModuleEnabled | quote }} + {{- if .Values.featureFlags.automateModuleEnabled }} - name: SPECKLE_AUTOMATE_URL value: {{ .Values.server.speckleAutomateUrl }} diff --git a/utils/helm/speckle-server/templates/frontend_2/deployment.yml b/utils/helm/speckle-server/templates/frontend_2/deployment.yml index a9b2ab524..e40a57823 100644 --- a/utils/helm/speckle-server/templates/frontend_2/deployment.yml +++ b/utils/helm/speckle-server/templates/frontend_2/deployment.yml @@ -119,6 +119,8 @@ spec: value: {{ .Values.featureFlags.automateModuleEnabled | quote }} - name: NUXT_PUBLIC_FF_WORKSPACES_MODULE_ENABLED value: {{ .Values.featureFlags.workspaceModuleEnabled | quote }} + - name: NUXT_PUBLIC_FF_MULTIPLE_EMAILS_MODULE_ENABLED + value: {{ .Values.featureFlags.multipleEmailsModuleEnabled | quote }} {{- if .Values.analytics.survicate_workspace_key }} - name: NUXT_PUBLIC_SURVICATE_WORKSPACE_KEY value: {{ .Values.analytics.survicate_workspace_key | quote }} diff --git a/utils/helm/speckle-server/values.schema.json b/utils/helm/speckle-server/values.schema.json index ff7a9659f..b8c931727 100644 --- a/utils/helm/speckle-server/values.schema.json +++ b/utils/helm/speckle-server/values.schema.json @@ -54,6 +54,11 @@ "type": "boolean", "description": "High level flag fully toggles the workspaces module", "default": false + }, + "multipleEmailsModuleEnabled": { + "type": "boolean", + "description": "High level flag fully toggles multiple emails", + "default": false } } }, diff --git a/utils/helm/speckle-server/values.yaml b/utils/helm/speckle-server/values.yaml index da5d45b40..a1ed4e520 100644 --- a/utils/helm/speckle-server/values.yaml +++ b/utils/helm/speckle-server/values.yaml @@ -43,6 +43,8 @@ featureFlags: noClosureWrites: false ## @param featureFlags.workspaceModuleEnabled High level flag fully toggles the workspaces module workspaceModuleEnabled: false + ## @param featureFlags.multipleEmailsModuleEnabled High level flag fully toggles multiple emails + multipleEmailsModuleEnabled: false analytics: ## @param analytics.enabled Enable or disable analytics