kubero-dev / kubero

A free and self-hosted PaaS for Kubernetes
https://demo.kubero.dev
GNU General Public License v3.0
2.68k stars 106 forks source link

[BUG]: UI is blank #400

Closed djbobyd closed 1 month ago

djbobyd commented 2 months ago

Describe the bug

Hello, I followed the installation guide and did a minimal installation in my test k8s cluster. everything started but the UI loads a blank page. Here are the logs from the operator:

{"level":"info","ts":1725391021.0402734,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:18:02.132258       1 request.go:682] Waited for 1.043792792s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/runtime.cluster.x-k8s.io/v1alpha1?timeout=32s
W0903 19:18:04.412677       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391084.420038,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:19:05.512348       1 request.go:682] Waited for 1.040571354s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/rbac.authorization.k8s.io/v1?timeout=32s
W0903 19:19:07.792647       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391147.7992363,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:20:08.894305       1 request.go:682] Waited for 1.043653252s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/infrastructure.cluster.x-k8s.io/v1alpha6?timeout=32s
W0903 19:20:11.160014       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391211.166833,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:21:12.257515       1 request.go:682] Waited for 1.042172423s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/apiextensions.crossplane.io/v1?timeout=32s
W0903 19:21:14.592517       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391274.5992637,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:22:15.696204       1 request.go:682] Waited for 1.042754682s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/acme.cert-manager.io/v1?timeout=32s
W0903 19:22:18.042334       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391338.0489874,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:23:19.141009       1 request.go:682] Waited for 1.044030998s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/apiextensions.k8s.io/v1?timeout=32s
W0903 19:23:21.477637       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391401.4845886,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:24:22.579025       1 request.go:682] Waited for 1.044570406s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/apiextensions.crossplane.io/v1?timeout=32s
W0903 19:24:24.933741       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391464.9403307,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:25:26.029427       1 request.go:682] Waited for 1.0454997s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/configuration.konghq.com/v1?timeout=32s
W0903 19:25:28.301028       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391528.3075793,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}
I0903 19:26:29.398652       1 request.go:682] Waited for 1.045698643s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/helm.toolkit.fluxcd.io/v2beta1?timeout=32s
W0903 19:26:31.708819       1 warnings.go:70] unknown field "spec.template.spec.strategy"
{"level":"info","ts":1725391591.7159896,"logger":"helm.controller","msg":"Reconciled release","namespace":"kubero","name":"kubero","apiVersion":"application.kubero.dev/v1alpha1","kind":"Kubero","release":"kubero"}

this is the log from the kubero node:

Kubero Version: v2.4.1
Warning: connect.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.
⚡️[server]: socket.io started
☑️ Feature: Prometheus Metrics not enabled ...
Kubeconfig loaded from cluster
(node:1) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
⚡️[server]: Server is running at http://127.0.0.1:2000
☑️  Feature: Gitlab not configured (no token)
 BITBUCKET CLOUD API LATEST UPDATES: https://developer.atlassian.com/cloud/bitbucket
☑️  Feature: BitBucket disabled: No BITBUCKET_USERNAME or BITBUCKET_APP_PASSWORD set
(node:1) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
☑️  Feature: Gitlab not configured (no token)
 BITBUCKET CLOUD API LATEST UPDATES: https://developer.atlassian.com/cloud/bitbucket
☑️  Feature: BitBucket disabled: No BITBUCKET_USERNAME or BITBUCKET_APP_PASSWORD set
✅ kubero-operator KuberoKafka
✅ kubero-operator KuberoRabbitMQ
✅ kubero-operator KuberoElasticsearch
✅ kubero-operator KuberoMongoDB
✅ kubero-operator KuberoMysql
✅ kubero-operator KuberoRedis
✅ kubero-operator KuberoCouchDB
✅ kubero-operator KuberoMail
✅ kubero-operator KuberoPostgresql
✅ kubero-operator KuberoMemcached
☑️  redis-operator Redis
☑️  redis-operator RedisCluster
✅ postgresoperator PostgresCluster
☑️  minio-operator Tenant
☑️  cockroachdb Cockroachdb
☑️  mongodb-operator MongoDB
Warning: failed loading data from artifacthub for cloudflare-operator
No artefact.io data found for cloudflare-operator
☑️  cloudflare-operator Tunnel

and these are the logs from the browser:

https://kubero.<host>/assets/index-8511ffbb.js net::ERR_ABORTED 404 (Not Found)

Preload of https://kubero.<host>/assets/materialdesignicons-webfont-861aea05.eot was ignored due to unknown “as” or “type” values, or non-matching “media” attribute. 

Failed to get subsystem status for purpose: 
Object { rejected: true, message: "UNSUPPORTED_OS" }

Loading module from “https://kubero.<host>/assets/index-8511ffbb.js” was blocked because of a disallowed MIME type (“”).
Loading failed for the module with source “https://kubero.<host>/assets/index-8511ffbb.js”. 
TypeError: a.default.detectStore(...) is undefined

I have no idea what to look for as there is nothing critical server side.

Steps to reproduce

No response

Expected behavior

I expected the UI to load normally.

Screenshots

No response

Additional information

No response

mms-gianni commented 2 months ago

Hmm strange. The JS is delivered with the container: https://demo.kubero.dev/assets/index-8511ffbb.js

The startup log looks fine.

Have you tried a different Browser? Or do you have a corporate proxy somewhere in between?

djbobyd commented 2 months ago

I tried with a different browser and also from another PC same result. It is a home setup, so no proxies. Could it be some missing configurration? I haven't provided neither github nor gitea token in the config.

mms-gianni commented 2 months ago

You should see an rocket when ready. This js must be loaded since it contains the client side that renders the view .

mms-gianni commented 1 month ago

@djbobyd, were you able to solve your problem?

djbobyd commented 1 month ago

not yet, but it seems it is related to the cilium ingress controller. When I access it over IP it loads without issues.

djbobyd commented 1 month ago

Hi @mms-gianni, I found the issue. It is because of the pathType used in the Ingress, as I am using Cilium for ingress. Actually "ImplementationSpecific" may differ across ingress implementations, and for cilium it means "Exact Match" and it doesn't work. When I changed it to "Prefix" everything started working. The issue is well explained here: https://github.com/cilium/cilium/issues/30071