Skip to content

Carry BRANDING from the MINT chart to the pod at TACC #207

Closed

Description

@mosoriob

Part of #79.

Question

Carry BRANDING from the MINT chart to the pod at mint.tacc.utexas.edu.

#206 adds the key to ui-react. That alone changes nothing in production.
#204 measured why: the chart builds the
ui_react ConfigMap from a hardcoded list of ten keys, and it has no extraEnv escape hatch.
An operator cannot add a variable.

This is the #150 failure mode. There, the image held a compiled-in default, the chart never sent
the key, and no values file could override it.

Work

1. mintproject/mint — external repository, chart 9.0.0-beta.10 at 28fedea.

Add to charts/mint/templates/ui-react-config.yaml, beside the other optional keys:

{{- with $cfg.branding }}
BRANDING: {{ . | quote }}
{{- end }}

Add branding: "" under components.ui_react.config in charts/mint/values.yaml.
Add the row to charts/mint/README.md. Bump the chart version.

2. dynamo — private repository.

Set the value and the new chart version:

components:
  ui_react:
    config:
      branding: tacc

Decision

Use components.ui_react.config.branding, not a top-level key.

The chart forwards two optional keys by two different routes. EXECUTION_ENGINE uses
$cfg.execution_engine under the component. WELCOME_MESSAGE reads top-level
.Values.welcome_message, which it shares with the legacy UI. Follow EXECUTION_ENGINE.
#81 retires the legacy UI, so a shared key buys nothing.

Acceptance

kubectl exec into the ui_react pod at TACC. Read env-config.js in the nginx web root.
It must contain BRANDING: "tacc". A green helm upgrade is not proof.

Activity

  1. added
    wayfinder:taskWayfinder ticket: manual work that unblocks a decision
    on Sep 1, 2026
  2. mosoriob commented on Sep 1, 2026

    @mosoriob
    ContributorAuthor

    dynamo is readable after all. It is cloned locally at
    /Users/mosorio/repos/github.com/In-For-Disaster-Analytics/dynamo. The remote org is
    In-For-Disaster-Analytics, not mintproject, which is why
    #204 reported it unreadable.

    Three facts change this ticket.

    1. TACC already pins the current chart. shared/Chart.yaml:9 pins MINT 9.0.0-beta.10,
    which is the latest published version. So step 2 needs a new chart release; there is no
    older version to catch up to first.

    2. ui_react is switched off at TACC. shared/values.yaml:107-111:

    ui_react:
      enabled: false

    Its own comment says TACC still serves the legacy ui on mint.tacc.utexas.edu, and that
    turning it on is #81.

    So the values block has no config: key at all. Adding branding means creating the block:

    ui_react:
      enabled: true
      config:
        branding: tacc

    enabled: true belongs to #77 and
    #81, not here. Coordinate, or the two
    tickets will edit the same five lines.

    3. The checkout sits on an unmerged branch, chore/mint-beta.10-global-imagetag. Check
    which branch carries the beta.10 pin before you edit, and see
    one-image-tag-names-the-system: a per-service image.tag silently beats global.imageTag.

    The acceptance check is unchanged. Read env-config.js inside the running pod.

  3. self-assigned this
    on Sep 12, 2026
  4. mosoriob commented on Sep 12, 2026

    @mosoriob
    ContributorAuthor

    Both halves are built, merged and published. The key reaches a browser. The acceptance
    check cannot run at TACC yet, and that is structural — it is #77's work, not a gap here.

    What shipped

    Chart — mintproject/mint, PRs #114 and #115. ui-react-config.yaml forwards
    BRANDING from $cfg.branding, beside the other optional keys, exactly as
    EXECUTION_ENGINE does. branding: "" is added under components.ui_react.config in
    values.yaml, with the README row. Released and published as 9.0.0-beta.11, confirmed
    by unpacking MINT-9.0.0-beta.11.tgz from https://mintproject.github.io/mint/, not by
    reading the working tree.

    Values — dynamo, PR #15, merged to main as 85149e7. It sets branding: tacc under
    components.ui_react.config and moves the chart pin from 9.0.0-beta.10 to 9.0.0-beta.11.
    enabled: false is untouched, so the two tickets did not collide on the same five lines.

    9.0.0-beta.12 is on the chart's main but is not published. It adds a Hasura PVC fix and a
    comment move. Nothing here needs it.

    Verified, not assumed

    The whole chain runs on the dev cluster. It is at MINT-9.0.0-beta.11, revision 71, with
    components.ui_react.config.branding: tacc in its own values — the same key path TACC uses.

    • kubectl get configmap mint-ui-react-config-map → "BRANDING":"tacc".
    • kubectl exec deploy/mint-ui-react -- cat /usr/share/nginx/html/env-config.js →
      "BRANDING": "tacc".

    That clears the second blocker #204 named. generate-env-config.mjs copies only named
    keys through pick(), so an unknown variable is dropped even when the pod carries it. #206
    added the key to the generator, and this measures it in a running pod. The image also carries
    tacc-white.png and utaustin-white.png under /usr/share/nginx/html/images/.

    TACC's own values render the key. helm template on dynamo/shared with
    ui_react.enabled=true gives BRANDING: "tacc", beside TACC's real Hasura, CKAN and
    Ensemble Manager hosts.

    Why the acceptance check moves to #77

    The check reads env-config.js inside the ui_react pod at TACC. There is no such pod:
    enabled: false, and turning it on is #77 and #81. So #207 blocks #77 while its own
    acceptance needs #77
    — a circle. TACC's cluster is also driven from
    login-shared.tacc.utexas.edu, which needs ssh and MFA.

    Break the circle here. This ticket closes on the render proof. The in-pod read lands on
    #77 as a constraint, beside the habit the
    map already keeps: read the served env-config.js at the real host before believing the flip.

    Two facts for #77, and the map's "one line" is wrong

    The render with enabled: true alone is not deployable. Two values are still missing.

    1. AUTH_CLIENT_ID renders "mint-local", the chart default from 62d9ef3. TACC needs
      "mint" — see #73.
    2. The ui_react ingress takes the chart default host mint.local, with no TLS, while
      Lit keeps mint.tacc.utexas.edu and the minttacc secret.

    So the flip is a four-part values block, not one line: enabled: true, client_id: "mint",
    the ingress host, and the minttacc TLS secret — and Lit's own ingress must move aside in the
    same edit. #150 recorded "one line,
    client_id: mint". That reading is now measured and it is wrong.

  5. mosoriob commented on Sep 12, 2026

    @mosoriob
    ContributorAuthor

    Closed on the render proof. The in-pod read at TACC moves to #77.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

wayfinder:taskWayfinder ticket: manual work that unblocks a decision

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions