Skip to content

Tabs that make calls to kubeflow API break when using SSL self-signed certs #271

Description

@gustavosr98

Bug Description

I enabled SSL for Kubeflow Dashboard with self-signed certs following this guide

The dashboard (partially), Jupyter notebooks and Dex work fine with SSL

Now, I have multiple tabs broken (eg. experiments, runs, etc) with the following message

Error: failed to retrieve list of pipelines. Click Details for more information.
Error occured while trying to proxy to: kubeflow.maas/apis/v2beta1/pipelines?page_token=&page_size=10&sort_by=created_at%20desc&filter=

Is there a step we might be missing to finish configuring SSL?
My assumption is that the pod that sends the request does not trust the SSL CA, how can I make it trust it?

To Reproduce

Deploy Kubeflow
Create a self-signed certificate
Follow this guide to enable SSL
Check the Experiments tab

Environment

Charmed Kubeflow 1.10/stable
Juju 3.6/stable (3.6.5)

Relevant Log Output

# juju debug-log --include kubeflow-dashboard/0 --replay
[..]
unit-kubeflow-dashboard-0: 19:04:00 WARNING unit.kubeflow-dashboard/0.juju-log The ``kubernetes_service_patch v1`` library is DEPRECATED and will be removed in October 2025. For patching the Kubernetes service created by Juju during the deployment of a charm, ``ops.Unit.set_ports`` functionality should be used instead.
unit-kubeflow-dashboard-0: 19:04:00 INFO unit.kubeflow-dashboard/0.juju-log HTTP Request: GET https://10.152.183.1/api/v1/namespaces/kubeflow/services/kubeflow-dashboard "HTTP/1.1 200 OK"
unit-kubeflow-dashboard-0: 19:04:00 INFO unit.kubeflow-dashboard/0.juju-log HTTP Request: PATCH https://10.152.183.1/api/v1/namespaces/kubeflow/services/kubeflow-dashboard "HTTP/1.1 200 OK"
unit-kubeflow-dashboard-0: 19:04:00 INFO unit.kubeflow-dashboard/0.juju-log Kubernetes service 'kubeflow-dashboard' patched successfully
unit-kubeflow-dashboard-0: 19:04:00 WARNING unit.kubeflow-dashboard/0.update-status ./src/charm.py:321: DeprecationWarning: Calling `ops.main.main()` is deprecated, call `ops.main()` instead
unit-kubeflow-dashboard-0: 19:04:00 WARNING unit.kubeflow-dashboard/0.update-status   main(KubeflowDashboardOperator)
unit-kubeflow-dashboard-0: 19:04:00 INFO juju.worker.uniter.operation ran "update-status" hook (via hook dispatching script: dispatch)
unit-kubeflow-dashboard-0: 19:14:17 ERROR juju.worker.dependency "log-sender" manifold worker returned unexpected error: sending log message: websocket: close 1005 (no status): websocket: close sent
unit-kubeflow-dashboard-0: 19:14:17 INFO unit.kubeflow-dashboard/0.juju-log HTTP Request: PATCH https://10.152.183.1/api/v1/namespaces/kubeflow/services/kubeflow-dashboard "HTTP/1.1 200 OK"
unit-kubeflow-dashboard-0: 19:14:17 INFO unit.kubeflow-dashboard/0.juju-log Kubernetes service 'kubeflow-dashboard' patched successfully
unit-kubeflow-dashboard-0: 19:14:17 WARNING unit.kubeflow-dashboard/0.update-status ./src/charm.py:321: DeprecationWarning: Calling `ops.main.main()` is deprecated, call `ops.main()` instead
unit-kubeflow-dashboard-0: 19:14:17 WARNING unit.kubeflow-dashboard/0.update-status   main(KubeflowDashboardOperator)
unit-kubeflow-dashboard-0: 19:14:17 INFO juju.worker.uniter.operation ran "update-status" hook (via hook dispatching script: dispatch)



# date
Fri Jun  6 09:10:04 PM UTC 2025
# kk logs kubeflow-dashboard-0 -c kubeflow-dashboard
2025-06-06T21:08:35.734Z [pebble] GET /v1/notices?after=2025-06-06T19%3A35%3A05.341395242Z&timeout=30s 30.001097476s 200
2025-06-06T21:09:05.736Z [pebble] GET /v1/notices?after=2025-06-06T19%3A35%3A05.341395242Z&timeout=30s 30.001018866s 200
2025-06-06T21:09:35.738Z [pebble] GET /v1/notices?after=2025-06-06T19%3A35%3A05.341395242Z&timeout=30s 30.001107568s 200

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions