Skip to content

fix(ui-react): derive EXECUTION_ENGINE from the Ensemble Manager (9.0.0-beta.6) - #108

Merged
mosoriob merged 1 commit into
mainfrom
fix/ui-react-execution-engine
Aug 30, 2026
Merged

fix(ui-react): derive EXECUTION_ENGINE from the Ensemble Manager (9.0.0-beta.6)#108
mosoriob merged 1 commit into
mainfrom
fix/ui-react-execution-engine

Conversation

@mosoriob

Copy link
Copy Markdown
Contributor

The fault

ui-config.yaml tells the legacy UI which execution engine the deployment runs. ui-react-config.yaml told the React UI nothing, and there was no values key to say it — so no deployment could be correct. The image defaults EXECUTION_ENGINE to localex, and ui-react picks its submission route from that value, so a chart-deployed React UI posts runs to /executionsLocal on a cluster whose Ensemble Manager runs tapis.

Measured on the dev cluster, chart 9.0.0-beta.5:

config map execution engine
mint-ui-config-map (Lit) REACT_APP_EXECUTION_ENGINE = "tapis"
mint-ui-react-config-map key absent

The served env-config.js read "EXECUTION_ENGINE": "localex".

The fix

EXECUTION_ENGINE 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

  1. DATA_CATALOG_API was omitted on any deployment using an external CKAN. It derived from components.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 reads external_services.ckan.url, as ui-config.yaml does, with the component ingress as the last resort.
  2. 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.
  3. The client_id text 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. The fail on an empty client_id is unchanged.

Verified

helm template against the dev cluster's own values now renders EXECUTION_ENGINE: "tapis" and DATA_CATALOG_API: "https://ckan.tacc.utexas.edu", with no MODEL_CATALOG_API. Controls: chart defaults render localex; an explicit execution_engine overrides it; an explicit data_catalog_api beats external CKAN; with CKAN disabled and data_catalog enabled the component ingress is used; a missing Ensemble Manager config omits the key rather than failing the render; an empty client_id still fails. helm lint clean.

Refs mintproject/monorepo#150

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
mosoriob merged commit 69495af into main Aug 30, 2026
1 of 2 checks passed
@mosoriob
mosoriob deleted the fix/ui-react-execution-engine branch August 30, 2026 01:16
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant