kudo
kudo copied to clipboard
Package List Plans with Tasks to Honor Subfolders
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
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