This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: "Salt" software – news · newspapers · books · scholar · JSTOR (September 2020) (Learn how and when to remove this message)
Original author(s)Thomas S Hatch
Developer(s)VMware
Initial release19 March 2011; 13 years ago (2011-03-19)
Stable release
3006.6 / 31 January 2024; 3 months ago (2024-01-31)[1]
Repository
Written inPython
Operating systemUnix-like, macOS, Microsoft Windows
TypeConfiguration management and Infrastructure as Code
LicenseApache License 2.0
Websitesaltproject.io Edit this on Wikidata

Salt (sometimes referred to as SaltStack) is a Python-based, open-source software for event-driven IT automation, remote task execution, and configuration management. Supporting the "infrastructure as code" approach to data center system and network deployment and management, configuration automation, SecOps orchestration, vulnerability remediation, and hybrid cloud control.

History

Salt originated from the need for high-speed data collection and task execution for data center systems administrators managing massive infrastructure scale and resulting complexity. The author of Salt, Thomas S. Hatch, had previously created several utilities for IT teams to solve the problem of systems management at scale, but found these and other open source solutions to be lacking.[2] Hatch decided to use the ZeroMQ messaging library to facilitate the high-speed requirements and built Salt using ZeroMQ for all networking layers.

In late May 2011 initial progress was made toward the delivery of configuration management built on the Salt remote execution engine.[3] This configuration management system stores all configuration (state) data inside an easily understood data structure that leverages YAML. While experimental functionality of the Salt State system was available in May 2011, it was not considered stable until the release of Salt 0.9.3 in November 2011.[4]

The Salt 0.14.0 release introduced an advanced cloud control system making private and public cloud VMs directly manageable with Salt. The Salt Cloud function allows for provisioning of any hybrid cloud host, then exposes Salt remote execution, configuration management, and event-driven automation capabilities to the newly provisioned hybrid cloud systems. New virtual machines and cloud instances are automatically connected to a Salt Master after creation.

Salt Cloud supports 25 public and private cloud systems including AWS, Azure, VMware, IBM Cloud, and OpenStack. Salt Cloud provides an interface for Salt to interact with cloud hosts and the cloud’s functionality such as DNS, storage, load balancers, etc.

In September 2020, VMware acquired SaltStack.[5][6]

Design

Salt was designed to be highly modular and easily extensible, to make it easy to mold to diverse enterprise IT use cases.[7]

The module design of Salt creates Python modules that handle certain aspects of the available Salt systems. These modules allow for the interactions within Salt to be detached and modified to suit the needs of a developer or system administrator.

The Salt system maintains many module types to manage specific actions. Modules can be added to any of the systems that support dynamic modules. These modules manage all the remote execution and state management behavior of Salt. The modules can be separated into six groups:

Vulnerabilities

In April 2020, F-Secure revealed two high severity RCE (Remote Code Execution) vulnerabilities, identified as CVE-2020-11651 and CVE-2020-11652, with CVSS score reaching as high as 10. These critical vulnerabilities were found within Salt's default communication channel ZeroMQ, and the initial research discovered 6000 vulnerable Salt servers. Salt organization was notified before F-Secure's public announcement, and Salt soon released the patch in its updated releases: 2019.2.4 and 3000.2.[13]

See also

References

  1. ^ "Releases - saltstack/salt". Retrieved 2024-01-31 – via GitHub.
  2. ^ "FLOSS Weekly 191: Salt". TwitTV. Retrieved 2020-01-13.
  3. ^ "red45.wordpress.com salt configuration management". red45.wordpress.com. Retrieved May 29, 2011.
  4. ^ "Salt Release Notes - 0.9.3". saltstack. Retrieved Nov 6, 2011.
  5. ^ "Intent to Acquire SaltStack". Retrieved 2020-09-29.
  6. ^ Gagliordi, Natalie. "VMware to acquire automation software provider SaltStack". ZDNet. Retrieved 2020-10-01.
  7. ^ "FLOSS Weekly 191: Salt". TwitTV. Retrieved 2020-01-13.
  8. ^ "Writing Execution Modules". SaltStack. Retrieved 2020-01-13.
  9. ^ "Salt Module Reference". SaltStack. Retrieved 2020-01-13.
  10. ^ "Renderers". SaltStack. Retrieved 2020-01-13.
  11. ^ "Returners". SaltStack. Retrieved 2020-01-13.
  12. ^ "Runners". SaltStack. Retrieved 2020-01-13.
  13. ^ "Critical SaltStack Vulnerability Provides Root Access to Cyberattacker". Hack Reports. 2020-05-05. Retrieved 2020-05-18.