fix(ui-react): derive EXECUTION_ENGINE from the Ensemble Manager (9.0.0-beta.6) - #108
Merged
Conversation
The chart tells the legacy UI which execution engine the deployment runs (ui-config.yaml emits REACT_APP_EXECUTION_ENGINE) and told the React UI nothing. The image then defaults EXECUTION_ENGINE to "localex", so a chart-deployed React UI posts run submissions to /executionsLocal on a cluster whose Ensemble Manager runs tapis. There was no values key to override it, so no deployment could be correct. Measured on the dev cluster (chart 9.0.0-beta.5): mint-ui-config-map has REACT_APP_EXECUTION_ENGINE = "tapis", mint-ui-react-config-map has no such key, and the served env-config.js reads "EXECUTION_ENGINE": "localex". EXECUTION_ENGINE now derives from components.ensemble_manager.config.execution_engine.type -- the same value the legacy UI reads -- so the two UIs cannot disagree about the deployment they are in. components.ui_react.config.execution_engine overrides it. Three fixes to the same ConfigMap ride along: - DATA_CATALOG_API was derived from components.data_catalog only, which a deployment using external_services.ckan does not enable, so the key was omitted and the app fell back to a compiled-in default that was correct by coincidence. It now reads external_services.ckan.url as ui-config.yaml does, with the component ingress as the last resort. - MODEL_CATALOG_API is no longer emitted, and its override key is gone. The React UI talks to Hasura directly and deleted that config key. - The client_id text claimed the React UI needs a client distinct from the legacy UI's. It does not: where the React UI takes over the legacy host, both want the same callback URL and never serve the origin at once. The fail on an empty client_id is unchanged. Refs mintproject/monorepo#150
mosoriob
added a commit
that referenced
this pull request
Aug 30, 2026
First packaged release since 9.0.0-beta.3. 9.0.0-beta.4 and 9.0.0-beta.5 were Chart.yaml version bumps that were never packaged, so the chart repo had no installable version carrying either of them. Carries the ui_react config fix from #108: EXECUTION_ENGINE is derived from the Ensemble Manager, DATA_CATALOG_API reads external_services.ckan, and MODEL_CATALOG_API is gone.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The fault
ui-config.yamltells the legacy UI which execution engine the deployment runs.ui-react-config.yamltold the React UI nothing, and there was no values key to say it — so no deployment could be correct. The image defaultsEXECUTION_ENGINEtolocalex, andui-reactpicks its submission route from that value, so a chart-deployed React UI posts runs to/executionsLocalon a cluster whose Ensemble Manager runstapis.Measured on the dev cluster, chart
9.0.0-beta.5:mint-ui-config-map(Lit)REACT_APP_EXECUTION_ENGINE = "tapis"mint-ui-react-config-mapThe served
env-config.jsread"EXECUTION_ENGINE": "localex".The fix
EXECUTION_ENGINEderives fromcomponents.ensemble_manager.config.execution_engine.type— the same value the legacy UI reads — so the two UIs cannot disagree about the deployment they are in.components.ui_react.config.execution_engineoverrides it.Three fixes to the same ConfigMap ride along
DATA_CATALOG_APIwas omitted on any deployment using an external CKAN. It derived fromcomponents.data_catalog, which such a deployment does not enable, so the app fell back to a compiled-in default that was right by coincidence. It now readsexternal_services.ckan.url, asui-config.yamldoes, with the component ingress as the last resort.MODEL_CATALOG_APIis no longer emitted, and its override key is gone. The React UI talks to Hasura directly and deleted that config key.client_idtext was wrong. It claimed the React UI needs a client distinct from the legacy UI's. Where the React UI takes over the legacy host, both want the same callback URL and never serve the origin at once. Thefailon an emptyclient_idis unchanged.Verified
helm templateagainst the dev cluster's own values now rendersEXECUTION_ENGINE: "tapis"andDATA_CATALOG_API: "https://ckan.tacc.utexas.edu", with noMODEL_CATALOG_API. Controls: chart defaults renderlocalex; an explicitexecution_engineoverrides it; an explicitdata_catalog_apibeats external CKAN; with CKAN disabled anddata_catalogenabled the component ingress is used; a missing Ensemble Manager config omits the key rather than failing the render; an emptyclient_idstill fails.helm lintclean.Refs mintproject/monorepo#150