kudo icon indicating copy to clipboard operation
kudo copied to clipboard

Package List Plans with Tasks to Honor Subfolders

Open kensipe opened this issue 4 years ago • 1 comments

PR #1700 adds the ability to have subfolders for templates. It results in a kudo package list plans -t which could be improved. Perhaps subfolders could be honored as nodes in the tree view. The current implementation shows:

go run cmd/kubectl-kudo/main.go package list plans pkg/kudoctl/packages/testdata/zk -t
plans
├── deploy (serial)
│   └── [phase]  zookeeper (parallel)
│       └── [step]  everything
│           ├── [apply]  infra
│           │   ├── services.yaml
│           │   └── pdb.yaml
│           └── [apply]  app
│               ├── statefulset.yaml
│               └── subfolder/statefulset2.yaml
└── validation (serial)
    └── [phase]  connection (parallel)
        └── [step]  connection
            └── [apply]  validation
                └── validation.yaml

The subfolder/statefulset2.yaml and all other manifests in the subfolder will be repeated this way... perhaps it should be

go run cmd/kubectl-kudo/main.go package list plans pkg/kudoctl/packages/testdata/zk -t
plans
├── deploy (serial)
│   └── [phase]  zookeeper (parallel)
│       └── [step]  everything
│           ├── [apply]  infra
│           │   ├── services.yaml
│           │   └── pdb.yaml
│           └── [apply]  app
│               ├── statefulset.yaml
│               └── subfolder
                                 | - statefulset2.yaml
└── validation (serial)
    └── [phase]  connection (parallel)
        └── [step]  connection
            └── [apply]  validation
                └── validation.yaml

kensipe avatar Sep 30 '20 20:09 kensipe

While we're at it: I would propose to adjust the Prefixes on each line to make clear what type each line is, like this:

plans
├── [PLAN] deploy (serial)
│   └── [PHASE]  zookeeper (parallel)
│       └── [STEP]  everything
│           ├── [TASK](apply)  infra
│           │   ├── [RESOURCE] services.yaml
│           │   └── [RESOURCE] pdb.yaml
│           └── [TASK][apply]  app
│               ├── [RESOURCE] statefulset.yaml
│               └── [RESOURCE] subfolder/statefulset2.yaml
└── [PLAN] validation (serial)
    └── [PHASE]  connection (parallel)
        └── [STEP]  connection
            └── [TASK](apply)  validation
                └── [RESOURCE] validation.yaml

ANeumann82 avatar Oct 01 '20 07:10 ANeumann82