{"repo":"ForNeVeR/Fabricator","free":true,"listed":false,"github":"https://github.com/ForNeVeR/Fabricator","clone":"git clone https://github.com/ForNeVeR/Fabricator.git","description":"The sharpest infrastructure automation tool.","language":"F#","stars":18,"topics":["automation","devops","dotnet","infrastructure"],"license":"MIT","category":"workflow-automation","readme_excerpt":"Fabricator [![Status Ventis][status-ventis]][andivionian-status-classifier] [![Fabricator.Core on nuget.org][nuget.badge]][nuget] ========== Fabricator is a hackable DevOps platform, similar to PowerShell's [Desired State Configuration][powershell-dsc] in concept. Core Concept ------------ With Fabricator, the user describes the desired state of their environment, and Fabricator does its best to lead the configuration to this desired state, when asked to do so. Fabricator's \"script\" is an F# .fsx script, where you may use all your favorite refactoring and code inspection tools; you may wrap or augment Fabricator calls with your code if you want to. Fabricator offers a DSL and a set of basic tasks to configure the environment, everything is available via NuGet and easily extendable. Also, Fabricator is portable across the platforms supported by .NET. Basic Workflow -------------- To start using Fabricator, you should: 1. Create a new F# script file, with contents similar to the [example][]. 2. Run the script with dotnet fsi ./script.fsx check — this will check the environment and show the changes that are about to be performed. 3. If everything's alright, run the script via dotnet fsi ./script.fsx apply — this will apply the changes to the current environment. Quick script example: This script will make sure there's an executable C:\\Programs\\shawl\\shawl.exe downloaded from the specified URL. This executable might then be used for other resources' setup, e.g., for the [Windows ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ForNeVeR","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ForNeVeR/Fabricator/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}