GithubHelp home page GithubHelp logo

jcza / dsc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from powershell/dsc

0.0 0.0 0.0 982 KB

This repo is for the DSC v3 project

License: MIT License

Shell 0.36% JavaScript 0.40% Rust 73.10% PowerShell 26.14%

dsc's Introduction

DSCv3

Note

This repo isn't accepting code contributions. It's public and open source to show progress and enable feedback. Once we're at a feature complete state, we can start taking code contributions.

What's DSCv3?

DSCv3 is the latest iteration of Microsoft's Desired State Configuration platform. DSCv3 is an open source command line application that abstracts the management of software components declaratively and idempotently. DSCv3 runs on Linux, macOS, and Windows without any external dependencies.

With DSCv3, you can:

  • Author resources to manage your systems in any language
  • Invoke individual resources
  • Create configuration documents that define the desired state of a system

Differences from PowerShell DSC

This project is the next generation of DSC and leverages the PSDesiredStateConfiguration module to maintain compatibility with existing PowerShell based resources.

DSCv3 differs from PowerShell DSC in a few important ways:

  • DSCv3 doesn't depend on PowerShell. You can use DSCv3 without PowerShell installed and manage resources written in bash, python, C#, Go, or any other language.
  • DSCv3 doesn't include a local configuration manager. DSCv3 is invoked as a command. It doesn't run as a service.
  • Non-PowerShell resources define their schemas with JSON files, not MOF files.
  • Configuration documents are defined in JSON or YAML files, not PowerShell script files.

Importantly, while DSCv3 represents a major change to the DSC platform, DSCv3 is able to invoke PowerShell DSC Resources, including script-based and class-based DSC Resources, as they exist today. The configuration documents aren't compatible, but all published PowerShell DSC Resources are. You can use PowerShell DSC resources in DSCv3 with both Windows PowerShell and PowerShell.

Installing DSCv3

To install DSC v3:

  1. Download the latest release from this repository.
  2. Expand the release archive.
  3. Add the folder containing the expanded archive contents to the PATH.

Explore DSCv3

If you're new to DSC or configuration management, we recommend reviewing the documentation.

Learning and authoring tutorials

If you're already familiar with DSC or just want to start experimenting with v3, we recommend reviewing the Samples repository and the accompanying tutorial site. The Samples repo is ready to accept Pull Requests, which is a great way to contribute while v3 is in early phases of development.

Integrating with DSCv3

DSCv3 is a platform tool that abstracts the concerns for defining and invoking resources. Higher order tools, like Azure Machine Configuration, Azure Automanaged VM, and WinGet are early partners for DSCv3 as orchestration agents.

DSCv3 uses JSON schemas to define the structure of resources, configuration documents, and the outputs that DSCv3 returns. These schemas make it easier to integrate DSCv3 with other tools, because they standardize and document how to interface with DSCv3.

dsc's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.