Repository navigation
Add latest-compatible installation and DscPkg/Resource - #7
Merged
Merged
Conversation
Share catalog resolution, archive verification, and installed manifest enumeration across CLI and DSC operations. Ship both bootstrap manifests and cover DSC 3.3 configuration and server discovery behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Emit _name only from Export, allow it in the instance schema, and verify DSC consumes it as the configuration name without retaining it in properties. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dscpkg install --versionoptional, selecting the newest compatible stable resource from the first satisfying repository. Preserve exact resource/package selectors, fail closed on metadata/integrity/signing errors, and share archive descriptor verification with the existing installer.DscPkg/ResourceGet, Test, Set, and Export. CLI and DSC Set both useClient.Install; discovery and inventory share one installed-manifest enumerator and platform-provenance gate. Get/Test/Export are read-only and offline. Unversioned Set installs only when necessary, never automatically upgrades a compliant resource, and recognizes unregistered resources supplied by shared packages._namevalues using the existing resource type and version directly (DscExtras.Linux/groups@0.1.1). No encoding or generated identifiers. Only Export populates_name; DSC uses it as the configuration instance name and removes it from properties. Unit and actual DSC 3.3.0 integration tests verify this contract and that Get/Test/Set remain unchanged.DSCPKG_PACKAGES_DIRoverride.examples/00-resources.yaml.Validation
All PR CI jobs passed, including the stable Export-name follow-up, on Windows, macOS, Linux AMD64, and Linux ARM64: successful CI run.
CI verified:
_nameremoved from properties; clean dependency configuration using a loopback repository and shared executable; exactly one archive download; repeat/offline compliance; platform filtering; explicit resource-path bootstrap.preDeploymentandduringDeployment.Additional local checks passed: Windows Go/vet/unit/DSC integration checks; Linux race-enabled unit and integration checks; isolated Linux archive/DEB/RPM build/inspection and container installer lifecycles; Windows archive payload verification; ShellCheck/actionlint; Linux ARM64 and Darwin ARM64 cross-builds. The Export-name follow-up was also verified locally on Windows and Linux with actual DSC 3.3.0.
Local WiX ICE validation was blocked by workstation policy (WIX1105), so validation was not suppressed and no product was installed on the developer machine. The native Windows CI build, inspection, and complete MSI lifecycle subsequently passed.
Documented limitations and server finding
preDeployment: a second configuration cannot resolve resources installed by00-resources.yaml. Settingdirectives.resourceDiscovery: duringDeploymenton the consuming configuration succeeds. Separate DSC processes see the new resources immediately. No dscd changes are included.resourcesentries in manifest lists are inventoried. Adapter-backed entries are excluded with diagnostics because offline inventory cannot verify external adapter availability; discovery still advertises them unchanged.repositorieswhen reapplying to an empty store. Filtering is disabled.state: missingis observation-only; Set does not remove registrations or packages. This is not Steve's proposed installation extension or a remote acquisition protocol.