Use a folder based manifest discovery vs PATH based manifest discovery
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 523
- Forks
- 75
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 24
Description
Summary of the new feature / enhancement
The current documentation ( https://learn.microsoft.com/en-us/powershell/dsc/resources/concepts/anatomy?view=dsc-3.0) appears to indicate that DSC will do manifest discovery on any valid path. I would recommend instead taking a page from Terraform's playbook and only do manifest discovery recursively from the calling folder. This has several benefits including: 1. Allows different teams to develop and run their manifests independently on the same build system, 2. Makes troubleshooting easier by limiting manifests to a known location, and 3. Potentially limits unknown or bad behavior if someone inadvertently leaves a manifest file in images or builds that is accessible from a PATH location.
Proposed technical implementation details (optional)
- Keep the DSC executable in the PATH so it can be called from the manifest location
- During configuration deployment, CD to the folder where the desired manifest file resides
- call DSC config from there
DSC will
- Recurse the folder and subfolders for manifest files
- Build it's graph of dependencies
- Build the resources from the discovered files.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the linked DSC anatomy documentation and inspect the DSC executable's current manifest-discovery entry point. Compare PATH-based discovery with the proposed calling-folder recursion, then determine how dependency graph and resource construction behave. Done means the discovery scope is defined and validated for nested manifests without unintended PATH-wide matches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100