argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
17.48k stars 5.32k forks source link

[UI] - Show applications on more than 2 levels #10430

Open NPellet opened 2 years ago

NPellet commented 2 years ago

Summary

We work with apps of apps of apps of apps, and it would really be awesome to have

image

Motivation

Like I said, when we have a lot of apps of apps, there's a lot of navigating around. Having the possibility to show more level at onces might be beneficial

Proposal

Maybe the number of levels to display could be an option in argocd-cm ?

NPellet commented 2 years ago

For example, consider my following app-of-apps pattern to handle multiple deployments:

image

I have no way of knowing whether my child app's dependencies are synced:

image

And I have to open each of my application independently to look this up

shydefoo commented 1 year ago

Hello, I am also facing the same issue, having this would be great! @NPellet did u manage to find a workaround?

selaci commented 1 year ago

Not a big deal, but this would be great to have. 👍

ericblackburn commented 1 year ago

a button to view the parent (controlling) app of that app

I think this should be a separate ask. ApplicationSets for example don't have an actual home to view. Only Argo Apps themselves have a view. I'm not sure if anything else, other than ApplicationSets, have this issue. And to be clear, I really wish ApplicationSets had a view and that the API for ApplicationSets worked for that matter.

I suppose if the parent is an Argo App, that could conditionally show the button and then any Argo resource types that eventually get a UI view can get added to the supported button list later.

mathew-fleisch commented 4 months ago

2024 bump... I would also like to see multiple nested layers of the app of apps pattern in the UI. As a user, it would be nice to not have to drill down to get a full picture the complete hierarchy.

KonstantinNosov commented 1 month ago

Maybe the number of levels to display could be an option in argocd-cm ?

depending on use case displying of second level may be reuired or not, I beleve it is better to be controlled per application e.g if annotation argocd.argoproj.io/ui-transparent=true is added to application, application resources are visible on UI when parent app is opened

It may work better in conjuction with option to hide app from UI.

use case

  1. cicd bootsrap application creates solution discovery applicationset that discovers git repositories with solution deployment definitions and creates solution applications
  2. solution application creates environment discovetry applicationset creating application environment bootsrap applications
  3. application environment bootsrap application creates resources developers are not allowed to control (e.g. appproject, resource quotas, namespace) and actual solution environment application
    cicd bootsrap application:
    - solution discovery applicationset:
      - solution1 application:
          - solution1 environment discovetry applicationset:
              - solution1 dev bootstrap application:   
                - solution1 dev appproject
                - solution1 dev resoursequota
                - solution1 dev namespace
                - solution1 dev application
      - solution2 application:
        - solution2 env discovery appset:
            - solution2 environment discovetry applicationset:
              - solution2 dev bootstrap  application:   
                - solution2 dev appproject
                - solution2 dev resoursequota
                - solution2 dev namespace
                - solution2 dev application
              - solution2 dev bootstrap  application:   
                - solution2 prod appproject
                - solution2 prod resoursequota
                - solution2 prod namespace
                - solution2 prod application

with all above after

there would be