Skip to content

feat: add pod describe endpoint and UI for webapp and worker#80

Merged
digmunhoz merged 1 commit intomainfrom
feature/pod-information
Feb 24, 2026
Merged

feat: add pod describe endpoint and UI for webapp and worker#80
digmunhoz merged 1 commit intomainfrom
feature/pod-information

Conversation

@digmunhoz
Copy link
Copy Markdown
Contributor

Description

Adds a pod describe flow (same output as kubectl describe pod) for webapp and worker namespaces. In the API, the K8s client gains a describe_pod method that returns a human-readable description (metadata, status, conditions, containers, volumes, events). Webapp and worker handlers expose GET .../pods/{pod_name}/describe with the same auth as logs (view by application or environment). In the portal, the pod tables on Webapp Detail and Worker Detail get a Describe action that opens a modal showing this output. Also includes: ruff F541 fixes and formatting in the K8s client, and a React list key fix in Applications.tsx (Fragment key).

Related Issue

Closes #

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📚 Documentation update
  • 🔧 Refactoring (no functional changes)
  • 🧪 Tests (adding or updating tests)
  • 🏗️ Infrastructure/CI changes

Component Affected

  • API (backend)
  • Portal (frontend)
  • Documentation
  • CI/CD
  • Other:

Checklist

General

  • I have read the CONTRIBUTING.md guidelines
  • My code follows the project's code style
  • I have performed a self-review of my code
  • I have commented my code in hard-to-understand areas
  • My changes generate no new warnings or errors

Testing

  • I have added tests that prove my fix/feature works
  • New and existing unit tests pass locally with my changes
  • I have tested my changes manually

Documentation

  • I have updated the documentation accordingly
  • I have updated the README if needed

Screenshots (if applicable)

Optional: screenshot of PodsTable with Describe action and PodDescribeModal open.

Test Plan

  1. Run API locally; call GET /organizations/{org_uuid}/application_components/webapp/{uuid}/pods/{pod_name}/describe and GET .../worker/.../describe with a valid token and confirm kubectl-style text response.
  2. Run portal locally; open a webapp component (Pods), click Describe on a pod and confirm the modal shows the describe output; repeat on a worker component.
  3. Run ruff check api/app/ and ruff format api/app/ --check; run portal lint and tests.

Additional Notes

  • No API contract changes beyond new GET describe endpoints; existing logs/exec behavior unchanged.
  • Describe uses the same K8s client describe_pod for both webapp and worker; output matches kubectl describe pod (metadata, status, conditions, containers, volumes, events).
  • Portal reuses PodDescribeModal and the same PodsTable Describe action for webapp and worker; API calls use webapp vs worker base paths.

- api: describe_pod in k8s client (kubectl-style output), GET describe for webapp and worker pods
- portal: getPodDescribe API, useWebappPodDescribe/useWorkerPodDescribe, PodDescribeModal, Describe action in PodsTable on WebappDetail and WorkerDetail
- fix(portal): Fragment key in Applications.tsx list
@digmunhoz digmunhoz merged commit bccf996 into main Feb 24, 2026
12 checks passed
@digmunhoz digmunhoz deleted the feature/pod-information branch March 8, 2026 12:12
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.

1 participant