GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - PowerShellOrg/tug: Open-source, cross-platform Pull/Reporting Server for DSC

BranchesTags
Open more actions menu

Latest commit

 

History

490 Commits
490 Commits

Folders and files

NameName
Last commit message
Last commit date
.vscode
.vscode
 
 
doc
doc
 
 
references
references
 
 
sample-module
sample-module
 
 
src
src
 
 
test
test
 
 
tools/ci
tools/ci
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
NOTES.md
NOTES.md
 
 
README.md
README.md
 
 
TODO.md
TODO.md
 
 
TugDSC.common.props
TugDSC.common.props
 
 
TugDSC.sharedasm.props
TugDSC.sharedasm.props
 
 
TugDSC.sln
TugDSC.sln
 
 
Zyborg-tug.sln
Zyborg-tug.sln
 
 
appveyor.yml
appveyor.yml
 
 
migrate-report.json
migrate-report.json
 
 
tug-core1-ps5.sln
tug-core1-ps5.sln
 
 

Repository files navigation

tug

Open-source, cross-platform Pull/Reporting Server for PowerShell DSC

Build status

Status

  • All Pull Mode protocol messages have been implemented, including Reporting
  • Support for Registration Key Authorization has been implemented
  • Several concrete implementations are being made available as pre-built bundles (see below)

Overview

Tug is a collection of components that implement the PowerShell DSC Pull Mode protocol and various supporting behaviors.

Additionally, Tug implements several variations of DSC Pull Servers. Each of these variations will be packaged up into bundles with a curated set of components and configurations that work together well for their target use case. See the list of current and future bundles down below.

For more details about this project, please see the wiki pages.

Pull Server Implementations

In most cases, the intent is for each of the server implementations to be a drop-in replacement for the Classic Pull Server that ships with WMF v5 (i.e. Pull Server v2). Each of these are implemented using ASP.NET Core 1.x

Because these implementations only target support and compatibility with DSC Pull Mode protocol v2, this means nodes must implement the ConfigurationName (not ConfigurationID) style of configuration definitions. (This also means that they should be compatible with the open source LCM client for Linux.)

Bundles

Here we present a list of the current set of bundles that are being worked on.

  • Basic:

    • a simple, strictly file-based implementation that stores all DSC assets in a configurable folder structure
    • current state - works but not yet bundled up into an easily usable form
    • the relatively simple design and implementation details make this a good example of how to wire up a custom DSC server using the components provided by Tug for anyone who would like to build their own
  • EFCore:

    • builds on the Basic implementation but adds an EF Core back-end to store much of the state and meta-data for improved performance, efficiency and easy querying/reporting
    • current state - this is still in the design and prototyping stage, so nothing to show yet
    • this will be implemented in a DB-agnostic manner so that you can plug-in SQL Server, SQLite or whatever flavor of RDBMS you like (maybe even NoSQL when EF Core eventually implements "non-relational databases")
  • PS5:

    • a pull server that is powered by PowerShell v5 -- protocol messagess are implemented as callbacks to cmdlets that can be overridden/extended by users
    • current state - fully working and early access bundle is availble for installation and configuration
    • includes a default set of cmdlets that implement the same behaviors as the Basic implemenation
  • PS6:

    • a pull server that is powered by PowerShell v6
    • the design will mimic that of PS5 but the intention is to make it portable across any platform that supports hosting PS v6, including Windows Nano and Linux
    • current state - some early work has been started but mostly on hold until the hosting story for PS6 gets fleshed out
    • in theory - once PS v6 is stable this implementation would supplant the PSv5 variation
  • FaaS:

    • a pull server that is implemented using the Function-as-a-Service paradigm (aka Serverless)

    • FaaS - AwsLambda:

      • a FaaS pull server for the AWS Lambda platform
      • mimics the Basic server with its simple design that uses S3 for back-end DSC asset storage with some caching for performance improvements
      • current state - core Pull Service features fully working (Reporting not implemented) and can be deployed from code to your own environment
    • FaaS - AzureFunctions:

      • a FaaS pull server built atop Azure Functions
      • this variation is only in the planning stage and there is no implementation yet

About

Open-source, cross-platform Pull/Reporting Server for DSC

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

164 stars

Watchers

45 watching

Forks

29 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.