Add "open parent app" button on app details page if availalable (app-of-apps)
- Dominant language
- Go
- Stars
- 24.2k
- Forks
- 7.8k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 234
Description
# Summary
Add a button on the app details page that navigates to the parent app when the current app is managed by another app (app-of-apps pattern).
# Motivation
App-of-apps is a widely used pattern in ArgoCD. When you drill into a child app's details — to check its sync status, logs, or events. There's no way to get back to the parent app without leaving and searching through the app list manually. In deployments with many apps this gets tedious quickly, especially when the parent app name isn't obvious from the child app's name.
# Proposal
ArgoCD already writes ownership data onto managed resources via resource tracking, so no backend changes are needed. For a child Application resource the parent app name is available via:
- **Label tracking** (`app.kubernetes.io/instance`): the label value is the parent app name. Since label tracking does not support app-in-any-namespace, the parent is always in the same namespace; safe to assume.
- **Annotation tracking** (`argocd.argoproj.io/tracking-id`): the parent app name is the portion before the first `:`. For app-in-any-namespace setups, the namespace can be resolved via an API lookup by name.
The UI reads the label or annotation and conditionally renders a link (e.g. in the application status panel), only shown when a parent app is detected.
# Options
1. Application page button
2. Application details row
3. Breadcrumbs on top with dropdown if > 2 parent apps
Always show max 1, with dropdown of higher-up-in-the-hierarchy apps
Contributor guide
Research direction
Start at the application details page and trace how the current Application's managed-resource tracking data is exposed to the UI. Verify label tracking and tracking-id annotation cases, including namespace lookup for app-in-any-namespace, then confirm the chosen placement for a conditional parent-app link and test that it is absent when no parent is detected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100