В данной статье будут рассмотрены способы просмотра включенных фича-флагов в системе ELMA365.

Просмотр фича-флагов в файле values-elma365.yaml

Это самый простой способ, подходит для случаев, когда вы точно знаете, что именно этот файл values был применен при установке/обновлении системы. А также, в случаях, когда файл не был изменен третьим лицом.
Список включенных фича-флагов находится в самом низу незакомментированных блоков и определяется последовательностью onPremiseEnabledFeatureFlags. Выглядит примерно так (включенные по-умолчанию фичефлаги зависят от версии):

    onPremiseEnabledFeatureFlags:
      - extensionEventHandling
      - processEventHandling
      - delegatedEventHandling
      - appItemViewEventEnabled
      - fileDownloadEventEnabled
      - filePreviewEventEnabled
      - enableModuleServices
      - allowAttachWidgetFiles
      - useLegacyNodeVM
      - allowServerScriptsImport
      - allowImportPortalUsersForAD
      - allowImportPortalUsersForLDAP
      - allowAuthPortalUsersWithSAML
      - allowEntityLocalization
      - enableDuplicateFTS
      - enableSubscriptionOnEventsFromScript
      - allowExternalApplicationsOIDC
      - allowScriptImportsDependencies
      - allowCustomActivityActionCall
      - enableLowcodeCICD
      - enableMarketingJourneys
      - enableBatchOperationsApplicationItems
      - allowMultipleWorkCalendars
      - allowPlanFutureWorkCalendar
      - enableEventBusDynamicFiltration
      - enableLowcodeTracing
      - enableAMQPStartProcess

В случае, если файл values-elma365.yaml утерян или есть сомнения насчет его актуальности, можно получить актуальные values чарта elma365/elma365. Сделать это можно следующей командой:

  
helm get values elma365 [-n namespace] > values-elma365.yaml  
  

Получение списка включенных фича-флагов через API-запрос

Также, можно получить список включенных фича-флагов, не обращаясь к содержимому values. Достаточно обратиться к следующему эндпоинту пода setting.

  
kubectl [-n namespace] exec deploy/settings -- curl -i -H "X-Company:head" -X GET http://localhost:3000/feature/list/enabled  
  

После выполнения данной команды будет получен список всех включенных фича-флагов в системе ELMA365. Ответ выглядит следующим образом:

  
{
	"statusList": {
		"extensionEventHandling": true,
		"allowCustomActivityActionCall": true,
		"appItemViewEventEnabled": true,
		"allowAttachExtensionScriptFiles": true,
		"enableLowcodeCICD": true,
		"useExchangePGTables": true,
		"enableChatDeskPostgreMode": true,
		"allowAddDescriptionColumn": true,
		"allowImportPortalUsersForAD": true,
		"delegatedEventHandling": true,
		"allowExternalApplicationsOIDC": true,
		"disableElementActivitiesStorageLimits": true,
		"fileDownloadEventEnabled": true,
		"processEventHandling": true,
		"projectTypesEnabled": true,
		"filePreviewEventEnabled": true,
		"enableModuleServices": true,
		"enableNewWatermarkService": true,
		"allowServerScriptsImport": true,
		"allowImportPortalUsersForLDAP": true,
		"useLegacyNodeVM": true,
		"enableRoutingRules": true,
		"enableNewCrmTasks": true,
		"enableSubscriptionOnEventsFromScript": true,
		"allowAttachWidgetFiles": true,
		"allowAuthPortalUsersWithSAML": true,
		"allowEntityLocalization": true,
		"allowScriptImportsDependencies": true,
		"enableDuplicateFTS": true
	}
}  
  

По этому JSON вы можете получить список всех, включенных на данный момент, фича-флагов.

Получение статуса определенного фича-флага

В ситуациях, когда вас интересует статус определенного фича-флага, можно также использовать API-запрос.

  
kubectl [-n namespace] exec deploy/settings -- curl -H "X-Company: head" -X GET localhost:3000/feature/<название фича флага>  
  

Например,

  
kubectl [-n namespace] exec deploy/settings -- curl -H "X-Company: head" -X GET localhost:3000/feature/extensionEventHandling  
  
{"enabled":true}