All Projects → alx9r → ZeroDSC

alx9r / ZeroDSC

Licence: other
lightweight native PowerShell desired state configuration engine

Programming Languages

powershell
5483 projects

Labels

Projects that are alternatives of or similar to ZeroDSC

ue4-kopiarka
This is a little util that lets me copy and rename projects from one directory to another
Stars: ✭ 24 (+41.18%)
Mutual labels:  engine
Squirrel-Engine
Multithreaded C/C++ Game Engine
Stars: ✭ 90 (+429.41%)
Mutual labels:  engine
xDscDiagnostics
This module contains cmdlets for analyzing DSC event logs.
Stars: ✭ 29 (+70.59%)
Mutual labels:  dsc
ColumbusEngine
3D cross-platform game engine written in C++
Stars: ✭ 45 (+164.71%)
Mutual labels:  engine
sdl2-raycast
SDL2 C++ raycasting engine with vertical movement, floor/ceiling texture mapping and sprites.
Stars: ✭ 80 (+370.59%)
Mutual labels:  engine
shtm
No description or website provided.
Stars: ✭ 21 (+23.53%)
Mutual labels:  engine
Spatial.Engine
[WIP] Spatial is a cross-platform C++ game engine.
Stars: ✭ 50 (+194.12%)
Mutual labels:  engine
Fractal Engine
WIP 3D game engine with editor and other stuff
Stars: ✭ 152 (+794.12%)
Mutual labels:  engine
pixi-miniprogram
一个可运行于微信小程序的PIXI引擎,通过模拟window环境,有些功能小程序无法模拟,就直接修改了PIXI引擎代码,最终使得PIXI引擎正常运行在小程序上
Stars: ✭ 72 (+323.53%)
Mutual labels:  engine
pixie
Tiny template functions.
Stars: ✭ 14 (-17.65%)
Mutual labels:  engine
Video-Engine-Dash
A Dash plugin for playing back video and optionally syncing video to timestamped CSV Data
Stars: ✭ 26 (+52.94%)
Mutual labels:  engine
unocss
The instant on-demand atomic CSS engine.
Stars: ✭ 7,866 (+46170.59%)
Mutual labels:  engine
naas
⚙️ Schedule notebooks, run them like APIs, expose securely your assets: Jupyter as a viable ⚡️ Production environment
Stars: ✭ 219 (+1188.24%)
Mutual labels:  engine
mine.js
🌏 A voxel engine built with JS/TS/RS. (formerly mc.js) (maybe mine.ts? or even mine.rs?)
Stars: ✭ 282 (+1558.82%)
Mutual labels:  engine
DIVA Tools
A global host of tools used to mod/parse Project DIVA games.
Stars: ✭ 24 (+41.18%)
Mutual labels:  dsc
quickjs-build
Build for QuickJS JavaScript Engine
Stars: ✭ 25 (+47.06%)
Mutual labels:  engine
loco-rails
Rails is awesome, but modern web needs Loco-motive.
Stars: ✭ 53 (+211.76%)
Mutual labels:  engine
wgpu-mc
Rust-based replacement for the default Minecraft renderer
Stars: ✭ 254 (+1394.12%)
Mutual labels:  engine
Purity
Wiki authoring engine.
Stars: ✭ 41 (+141.18%)
Mutual labels:  engine
DuEngine
An efficient interactive C++ renderer for ShaderToy-alike demos with 2D/3D/CubeMap/Video/Camera/LightField/Volume textures. (Partially used in my I3D 2018 papers)
Stars: ✭ 62 (+264.71%)
Mutual labels:  engine
Warning A mild note of caution: The core features of ZeroDSC are implemented and working. Please experiment with ZeroDSC and provide feedback by opening issues and pull requests here. Please also note that it is still early days for this project and many of the features are still experimental and unpolished. Expect breaking changes to ZeroDSC before it stabilizes including changes to the configuration document format, live configuration objects, and the behaviour of the configuration algorithm.

Build status

ZeroDSC

ZeroDSC is a lightweight native PowerShell implementation of a desired state configuration (DSC) engine.

ZeroDSC directly invokes existing PowerShell DSC resources without any dependence on the local configuration manager (LCM). ZeroDSC uses a declarative configuration document format that looks similar to traditional LCM-invoked configurations. Configuration documents and resources are interpreted and invoked in a single PowerShell session. No intermediate files, encryption certificates, or additional processes, modules, or packages are required for ZeroDSC to work. This makes ZeroDSC suitable for bootstrapping more elaborate configuration management strategies.

The operation of the ZeroDSC configuration engine is deliberately transparent and interactive. Fine-grained observation and troubleshooting of the ZeroDSC configuration progress is possible with minimal effort. ZeroDSC supports end-to-end debugger access and streamlined invocation from Pester.

New to ZeroDSC?

If you are new to ZeroDSC and would like to learn more, I recommend reviewing the getting started documentation.

You can find more documentation here.

Uses

  • development and testing of DSC resources
  • automation involving the configuration of resources involving dependencies
  • configuring prerequisites for automated testing
  • bootstrapping LCM-invoked DSC setup
  • configuring resources in user contexts

Comparison

ZeroDSC is intended as a complement to, not a replacement for, the LCM. The table below is meant to highlight their differences.

= already implemented

= on the ZeroDSC roadmap

ZeroDSC LCM-invoked DSC
Resources
works with class-based resources
works with MOF-based resources
works with binary resourcesa
Configuration Documents
works with ZeroDSC configuration documents
works with traditional PowerShell configuration documents
allows configuration documents with cyclic dependencies c
supports complex custom dependency logic
Privileges, Credentials, Remoting
invoke resources without requiring privileged user
invoke resources as current user without certificates
provide credentials interactively and immediately invoke resources as that user
install resources over PowerShell remoting
invoke resources over PowerShell remoting
encrypt and save credentials for future use
retains credentials after reboot
Control and Transparency
continually applies configurations
automatically continues configuration after reboots
fine-grained control of when and how configurations are applied
step through entire configuration process from single debugger
interact with live configuration objects in console
emits intuitive live configuration objects
Testing and Integration
seamless fine-grained invocation of configurations from Pester
streamlined integration with continuous integration systemsb

(a) ZeroDSC could be extended to support binary resources with minimal effort if needed.

(b) When ZeroDSC configurations are invoked using Pester, configuration results can be output in the NUnitXml format or any other format supported by Pester.

(c) The connect issue "Solve the 'Circular DependsOn Exists' Error" seems to indicate that cyclic DependsOn references are not allowed when using the LCM. ZeroDSC uses a multi-pass configuration algorithm that does not have this limitation.

Roadmap

= on the ZeroDSC roadmap ✔️ = already implemented

✔️ Invoker for class-based resources

✔️ Invoker for MOF-based resources

✔️ importing resources from DSL

✔️ creating configurations from DSL

✔️ binding configurations to resources

✔️ multi-pass configuration algorithm

✔️ configuration instructions implements IEnumerable<ConfigStep>

✔️ clean up public API

special aggregate resource for more complex dependency logic

log engine activity to the verbose stream

bootstrap RemoteFile resource

bootstrap Archive resource

adapt built-in resources to execute in user context

parameters for configuration documents

invokation of bootstrap resources over PowerShell remoting

invokation of other DSC resources over PowerShell remoting

install of ZeroDSC and DSC resources over PowerShell remoting

Note

1: The warning symbol is the work of Roulex_45 and is used under license by way of https://en.wikipedia.org/wiki/File:France_road_sign_A14.svg.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].