Service Status in Detail Page #341
Labels
No labels
API
Billing
UI/UX
dependencies
bug
change
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
servala/servala-portal#341
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stories
As a user, I want to know the current state of my service if it's healthy or not
Implementation Notes
As a follow-up to #333 add live status information about the service instance to the instance detail page. From the PR:
Currently, the best way to provide live status information is to query the Pod status of the service.
On a Claim on the Kubernetes API (e.g. VSHNForgejo), we can get the namespace where the actual service is deployed into by querying the field
.status.instanceNamespace. We can then get some status information from the Pods running in this service specific namespace. It might be that there are no Pods, one Pod, multiple Pods; this has to be coped with.I talked to Claude to ask about Pod status fields which could help us to communicate the Service Status: https://claude.ai/share/0d2ad9d5-6f22-4f4e-8df8-14775b0ecd40
From that conversation, I propose: Use the "1. Service Status - combine phase and ready condition" and "4. Health status" from the proposed
get_user_friendly_status()function and display this information in the service detail page. The problem is that in a service namespace, multiple Pods can be available, and for that reason, we need to use a label selector for Pods in instance namespaces:"app,!job-name,!batch.kubernetes.io/controller-uid"For now we will not use any streaming or Server-Sent Events (SSE), because this is quite a lot of work to make it right. We can use simple polling for now. Keywords for later:
django-channelsanddjango-eventstream.Furthermore, let's display the Kubernetes events from the instance namespace as well, because this can be helpful information when something doesn't work. Let's put this information into the "Technical Details" section.
And a small QoL improvement: When there are no secrets, we should still show the "Connection Credentials" section, but inform that the credentials aren't currently available or the service is still provisioning.I did that in
b9e9ba5fba