Specify individual manifest paths for workflow
- Dominant language
- Go
- Stars
- 644
- Forks
- 74
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
When using Automated Deployments in the Azure Portal, I can select manifest files (e.g. `deployment.yaml`, `service.yaml`) individually (and they can be located anywhere in my repository). Draft is more limited, because it expects:
- A `manifests` directory under the destination, containing `deployment.yaml` and `service.yaml`.
- The destination to be the repository root (the folder that contains `.github`).
This means it doesn't easily support repositories containing more than one service, or project structures which don't conform to the folder structure generated by `draft create`.
We can _almost_ manage individual file selection like this:
```sh
draft generate-workflow \
--branch main \
--build-context-path ./src/order-service \
--cluster-name testcluster \
--container-name order-service \
--deploy-type manifests \
--destination ./src/order-service \
--registry-name testacr \
--resource-group test-rg \
--variable DEPLOYMENTMANIFESTPATH=./src/order-service/manifests/deployment.yaml\n./src/order-service/manifests/service.yaml \
--variable BUILDCONTEXTPATH=./src/order-service
```
(I believe the `Azure/k8s-deploy` GitHub action supports newline-separated manifest paths, because that's what Automated Deployments generates.)
But this approach:
- Fails if there is no `manifests` directory under the destination
- Nests the workflow file under the `./src/order-service`
**Describe the solution you'd like**
It would be great if Draft could:
- support specifying multiple individual manifest files
- _if_ they are specified, remove the validation that checks for specific files within a `manifests` directory under the destination
**Additional context**
This would be really useful for the AKS VS Code extension. Along with #324, I think this would bring enable the extension to provide an experience equivalent to Automated Deployments and still use Draft under the hood (currently it needs to use its own templates to support that experience).
Contributor guide
Assessment
This issue has not been assessed yet.