dsccommunity / dsccommunity/ComputerManagementDsc
PowershellModule, PowershellRepository: New resource proposal
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 338
- Forks
- 80
- PR merge metrics
- No merged PRs in 30d
Description
Resource proposal
Currently, psmodule and psrepository are bundled in the PowershellGet v2 module. In PowerShellGet v3 the resources have been moved into a new, dsc specific module, PowerShellGetDsc. Unfortunately, these repositories are either no longer maintained, or have not had any activity in years.
I'm proposing taking the resources and moving them into ComputerManagementDsc with new names to avoid multiple DSC resources with the same name. This way, the community can add features and bug fixes more rapidly. If there comes a time that PowershellGetDsc is actively maintained, we can take the contributions from ComputerManagementDsc and port them over.
https://github.com/PowerShell/PowerShellGetDsc - no contributions in 11 months, no target production release
https://github.com/PowerShell/PowerShellGet - does not include Dsc resources anymore
https://github.com/PowerShell/PowerShellGetv2 - Contains PSModule and PSRepository, no longer in development and not accepting any pull requests
Proposed properties
[ClassVersion("1.0.0.0"),FriendlyName("PSModule")]
class MSFT_PSModule : OMI_BaseResource
{
[Key] String Name;
[Write,ValueMap{"Present", "Absent"},Values{"Present", "Absent"}] String Ensure;
[Write] String Repository;
[Write,ValueMap{"Trusted", "Untrusted"},Values{"Trusted", "Untrusted"}] String InstallationPolicy;
[Write] Boolean Trusted;
[Write] String Version;
[Write] Boolean NoClobber;
[Write] Boolean SkipPublisherCheck;
[Read] string Description;
[Read] String InstalledVersion;
[Read] String Guid;
[Read] String ModuleBase;
[Read] String ModuleType;
[Read] String Author;
};
[ClassVersion("1.0.0.0"),FriendlyName("PSRepository")]
class MSFT_PSRepository : OMI_BaseResource
{
[Key] String Name;
[Write, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
[Write] String URL;
[Write] String Priority;
[Write, ValueMap{"Trusted","Untrusted"}, Values{"Trusted","Untrusted"}] String InstallationPolicy;
[Read] Boolean Trusted;
[Read] Boolean Registered;
};
Special considerations or limitations
There may come a time when psmodule and psrepository are actively developed and we should work to contribute any fixes or features from ComputerManagementDsc to the official repository.
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
Start by reviewing the PowerShellGetDsc and PowerShellGetv2 repositories linked in the issue, then inspect the existing ComputerManagementDsc resource structure. Compare the proposed PSModule and PSRepository properties with the source resources. Done means the resources are integrated under non-conflicting names with the proposed behavior and the upstream-maintenance limitation addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell
- Domain
- devops, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100