Skip to content

Conversation

@ederign
Copy link
Member

@ederign ederign commented Jan 3, 2026

Description

Add deployment mode and style theme as parameters to the UI Dockerfile, enable --mock-k8s-client=true for standalone mode, and integrate the UI service into docker-compose for running the complete local development stack.
Closes #2055 .

Changes

  • Add DEPLOYMENT_MODE and STYLE_THEME as build arguments to UI Dockerfile
  • Enable --mock-k8s-client=true in the standalone Docker image
  • Add model-registry-ui service to docker-compose.yaml (pre-built images)
  • Add model-registry-ui service to docker-compose-local.yaml (builds from source)
  • Use extra_hosts: localhost:host-gateway to route BFF connections to model-registry and model-catalog containers

After PR review:

  • Create dedicated Dockerfile.standalone with envtest support to avoid
    bloating production image with K8s test binaries (~150MB)
  • Keep main Dockerfile clean for kubeflow/federated deployments
  • Update docker-compose.yaml to use ui-standalone image
  • Add explicit --mock-mr-client=false and --mock-mr-catalog-client=false
    flags for better readability
  • Update Makefile and GitHub workflow to use new Dockerfile
  • Document Dockerfile structure in README

Usage

# Using pre-built images
make compose/up/postgres

**Endpoints:**
- UI: http://localhost:9000
- Model Registry: http://localhost:8080
- Model Catalog: http://localhost:8081

# Building from source
make compose/local/up/postgres

How Has This Been Tested?

Verified UI successfully fetches data from both model-registry and model-catalog via the host-gateway routing.
make compose/local/up/postgres
make compose/up/postgres

Kapture.2026-01-03.at.13.03.17.mp4

Merge criteria:

  • All the commits have been signed-off (To pass the DCO check)
  • The commits have meaningful messages
  • [ ]Automated tests are provided as part of the PR for major new functionalities; testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work.
  • Code changes follow the kubeflow contribution guidelines.
  • For first time contributors: Please reach out to the Reviewers to ensure all tests are being run, ensuring the label ok-to-test has been added to the PR.

…ment mode

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
@ederign
Copy link
Member Author

ederign commented Jan 3, 2026

@tarilabs better late than never 😅

Copy link
Contributor

@lucferbux lucferbux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of nits but there's the part of adding env-test to the dockerfile, we should avoid that at all costs, maybe we might wanna explore having an extra dockerfile or smth similar.

Address PR review feedback from @lucferbux:

- Create dedicated Dockerfile.standalone with envtest support to avoid
  bloating production image with K8s test binaries (~150MB)
- Keep main Dockerfile clean for kubeflow/federated deployments
- Update docker-compose.yaml to use ui-standalone image
- Add explicit --mock-mr-client=false and --mock-mr-catalog-client=false
  flags for better readability
- Update Makefile and GitHub workflow to use new Dockerfile
- Document Dockerfile structure in README

Signed-off-by: Eder Ignatowicz <ignatowicz@gmail.com>
@ederign
Copy link
Member Author

ederign commented Jan 9, 2026

@lucferbux ready for another round!

@ederign ederign requested a review from lucferbux January 9, 2026 12:38
Copy link
Contributor

@lucferbux lucferbux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@google-oss-prow google-oss-prow bot added the lgtm label Jan 9, 2026
@ederign
Copy link
Member Author

ederign commented Jan 9, 2026

@tarilabs, when you have a chance, could you please take a look at it?

Copy link
Member

@tarilabs tarilabs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks a lot @ederign and @lucferbux

/lgtm
/approve

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lucferbux, tarilabs

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 77e3850 into kubeflow:main Jan 9, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add standalone UI to docker-compose for local development

3 participants