User:Dmacvittie/sandbox

Stacki Linux Provisioning System

Stacki is an open source, highly parallelized provisioning system that automates installation of servers from RAID card configuration through OS installation and configuration.

Stacki uses Pallets and Carts to customize installations to suit the needs of a given organization or group. Pallets allow for expansive additions to an installation, while Carts allow more limited additions. Installing and configuring Apache during the provisioning process would be a Cart, for example; while installing one part of a large interconnected system (such as the app server with connections to database servers, etc) would be a Pallet.

Stacki’s highly parallelized installer means that it takes about the same amount of time to provision 200 servers as 20 servers, and its highly optimized initial installation makes it simple to deploy and start installing with.

Stacki supports VM and hardware installations, Various flavors of Linux, the majority of RAID cards on the market, and just about any x86 hardware.

The system allows installations via PXE boot, and supports both an “all servers that boot on this network” and an “all servers in this spreadsheet” method of installations. So if the servers to be installed are on an isolated network, a Stacki tool called insert-ethers can be run to grab each machine that boots on the network and add it to Stacki, commencing an installation if needed. If the servers to be installed are on a shared network, then loading a spreadsheet of machines to install tells Stacki which ones it should install.

Stacki uses a database to manage variables for use during installation. Variables can be defined by individual server, installation type, or globally, and can be manipulated via spreadsheets or command line. Networking for machines is just one example of the type of things that can be managed with variables. A machine can be configured with multiple network cards on multiple networks with varying routes and open/closed ports. Stacki was released in June of 2015, and is updated on a schedule of about every six months.