Repository navigation
Description
Describe the bug
The incloud-web-cluster-view ClusterRoleBinding in the cozy-dashboard Helm chart has a hardcoded namespace incloud-web in its subject, but the dashboard is deployed in the cozy-dashboard namespace. Since the incloud-web namespace does not exist, the binding is effectively a no-op — the incloud-web-web ServiceAccount gets no view ClusterRole permissions.
This breaks the "External IPs" section in the dashboard (Administration → External IPs), which relies on the BFF listing v1/services with fieldSelector=spec.type=LoadBalancer. The API server returns 403 Forbidden, resulting in an empty table with no data.
Reproduced on two independent clusters running Cozystack v1.0+.
Steps to reproduce
- Deploy Cozystack v1.0+ with the dashboard
- Navigate to Administration → External IPs in the dashboard
- Observe empty table with no data
Root cause
In the Helm chart template for the ClusterRoleBinding:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: incloud-web-cluster-view
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: ServiceAccount
name: incloud-web-web
namespace: incloud-web # ← hardcoded, should be {{ .Release.Namespace }}The namespace field should use the Helm release namespace (cozy-dashboard) instead of the hardcoded incloud-web.
Workaround
kubectl patch clusterrolebinding incloud-web-cluster-view \
--type json \
--patch '[{"op": "replace", "path": "/subjects/0/namespace", "value": "cozy-dashboard"}]'Note: this workaround will be overwritten on the next Helm chart upgrade.
Expected behavior
The ClusterRoleBinding should reference the correct namespace where the dashboard ServiceAccount is deployed, and the External IPs section should display LoadBalancer services with their assigned IPs.
Environment
- Cozystack version: v1.0+ (chart
[email protected]+5a72d913e131) - Dashboard image:
ghcr.io/cozystack/cozystack/openapi-ui-k8s-bff:v1.1.0
Activity
dosubot commentedon Jul 27, 2026
Hi, IvanHunters. I'm Dosu, and I'm helping the cozystack team manage their backlog and am marking this issue as stale.
Issue Summary
cozy-dashboardHelm chart’sincloud-web-cluster-viewClusterRoleBinding appears to hardcode the ServiceAccount namespace asincloud-webinstead ofcozy-dashboard.viewpermissions.Next Steps
Thanks for your understanding and contribution.
myasnikovdaniil commentedon Aug 15, 2026
Closing. The binding was fixed by becf8d7, and the BFF whose ServiceAccount it referenced no longer exists in the tree.