Skip to content

Conversation

@KatsuhiroWatanabe
Copy link
Contributor

@KatsuhiroWatanabe KatsuhiroWatanabe commented Feb 4, 2026

Summary

This PR introduces opt‑in capabilities that make OSDCloud more adaptable in enterprise deployment scenarios—without changing the module’s default behavior.
It enables organizations to load offline catalogs, preserve enterprise customizations by controlling module self‑updates, and run post‑StartNet scripts when network connectivity is available.

These enhancements are intentionally scoped, self‑contained, and backward‑compatible.


Why

Enterprise IT teams often maintain their own validated or version‑pinned catalogs and need predictable behavior during deployment.
They may also embed custom StartNet logic or require early‑stage workflow extensions that should not be overwritten by automatic module updates.

This PR isolates a subset of improvements from a broader earlier proposal, keeping the scope narrowly focused on:

  1. Offline catalog enablement
  2. Preservation of enterprise customizations
  3. Controlled post‑StartNet workflow extension

All without altering the default OSDCloud experience.


What’s Included (All Optional)

1. Offline Catalog Loading (Drivers / OS)

  • Scans all non‑C: file system volumes for:
    • OSDCloud\Catalogs\build-driverpacks.xml
    • OSDCloud\Catalogs\CloudOperatingSystems.json
  • If one or more catalogs are found, the last detected catalog is used.
  • Allows enterprise environments to:
    • Supply validated or customized catalogs on removable or secondary media
    • Keep catalog behavior deterministic and version‑controlled

2. Preservation of Enterprise Customizations

  • Adds logic to skip automatic OSD module installation/updates when:
    • $Global:SkipOSDModuleInstall = $true This can be set exiting hook: OSDCloud\Config\Scripts\StartNet\*.ps1
  • Prevents:
    • Overwriting embedded catalogs
    • Replacing enterprise customization logic
    • Accidental version drift during controlled deployment workflows

This maintains a clean separation between enterprise customizations and default module behavior.


3. Controlled Post‑StartNet Script Execution

  • When network connectivity becomes available in WinPE, OSDCloud may call an optional enterprise‑provided script such as DownloadValidatedCatalogs.ps1.
  • Scripts may be discovered under OSDCloud\Config\Scripts\StartNet2\*.ps1.
  • Allows organizations to:
    • Refresh or validate offline catalogs
    • Run compliance or environment checks

Execution only occurs when both network connectivity and enterprise script presence are confirmed.


Compatibility

  • Fully backward‑compatible
  • All enhancements are opt‑in and do not alter default OSD behavior
  • Existing enterprise customizations remain untouched when skip‑update logic is enabled
  • Offline catalog handling is isolated from all other catalog‑related changes submitted previously

Testing

  • Tested using Start-OSDCloudGUI
  • Verified offline catalog detection on:
    • USB removable media (FAT32/NTFS)
    • Catalog files on enterprise-managed cloud storage
  • Confirmed that $Global:SkipOSDModuleInstall = $true correctly prevents self‑update
  • Validated StartNet2 execution triggers only under correct network conditions
  • Confirmed no regressions in default online‑catalog behavior

@KatsuhiroWatanabe
Copy link
Contributor Author

This PR is for transitional v1 compatibility.
I understand new functionality will be focused on OSDCloud v2 and OSDWorkspace.

@KatsuhiroWatanabe KatsuhiroWatanabe marked this pull request as draft February 5, 2026 07:40
@KatsuhiroWatanabe KatsuhiroWatanabe force-pushed the opt/managed-catalog-workflow branch from e0460b2 to f9db76d Compare February 10, 2026 05:31
@KatsuhiroWatanabe
Copy link
Contributor Author

Rebased this branch onto the latest upstream/master to keep the PR up to date.
No conflicts occurred during the rebase.

This PR proposes an optional configuration that would ideally be carried forward
into OSDCloud v2 as well. The intention is to highlight a feature that could
benefit enterprise environments if adopted in the v2 implementation.

I will mark this PR as “Ready for review” after this update.

@KatsuhiroWatanabe KatsuhiroWatanabe marked this pull request as ready for review February 10, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant