Jump to content

Salt (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
UVSMTID (talk | contribs)
No edit summary
UVSMTID (talk | contribs)
No edit summary
Line 34: Line 34:
== History ==
== History ==
Salt originated from the need for high speed data collection and execution in system administration environments. The author of Salt, Thomas S Hatch, had previously created a number of in-house solutions for companies to solve the problem but found his and other open source solutions to be lacking.<ref>{{cite web |url= http://twit.tv/show/floss-weekly/191 |title= FLOSS Weekly 191: Salt |publisher= TwitTV |accessdate=March 19, 2011}}</ref> Hatch decided to use the [[ZeroMQ]] messaging library to facilitate the high-speed requirements and built Salt using ZeroMQ for all networking layers.
Salt originated from the need for high speed data collection and execution in system administration environments. The author of Salt, Thomas S Hatch, had previously created a number of in-house solutions for companies to solve the problem but found his and other open source solutions to be lacking.<ref>{{cite web |url= http://twit.tv/show/floss-weekly/191 |title= FLOSS Weekly 191: Salt |publisher= TwitTV |accessdate=March 19, 2011}}</ref> Hatch decided to use the [[ZeroMQ]] messaging library to facilitate the high-speed requirements and built Salt using ZeroMQ for all networking layers.

In July 2014 (in "Helium" release) RAET reliable queuing transport system was added. It has been developed in partnership with a number of large enterprises to give Salt an alternative to ZeroMQ and a way to get Salt to scale well beyond tens of thousands of servers. <ref>{{cite web | url=http://docs.saltstack.com/en/latest/topics/releases/2014.7.0.html |title=Salt 2014.7.0 Release Notes - Codename Helium}}</ref>


=== States ===
=== States ===

Revision as of 06:37, 13 July 2014

Developer(s)Thomas S Hatch
Initial release19 March 2011 (2011-03-19)
Stable release
2014.1.5[1] / 8 July 2014; 9 years ago (2014-07-08)
Repository
Written inPython
Operating systemGNU/Linux, Unix-like
TypeConfiguration management
LicenseApache
Websitesaltstack.com

Salt is an open source configuration management and remote execution application. Salt is written with the intent of making central system management and configuration as simple, yet as flexible as possible.

History

Salt originated from the need for high speed data collection and execution in system administration environments. The author of Salt, Thomas S Hatch, had previously created a number of in-house solutions for companies to solve the problem but found his 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 July 2014 (in "Helium" release) RAET reliable queuing transport system was added. It has been developed in partnership with a number of large enterprises to give Salt an alternative to ZeroMQ and a way to get Salt to scale well beyond tens of thousands of servers. [3]

States

In late May 2011, initial progress was made toward the development of adding a central configuration manager to Salt.[4] This configuration management system is based on storing all of the configuration or "state" data inside an easily understood data structure. 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.[5]

Design

Salt has been designed to be highly modular and easily extensible. The design goal is to make Salt easily moldable to diverse applications.[6]

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.

Module types

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 of the remote execution and state management behavior of Salt. The modules can be separated into six groups:

  • Execution modules are the workhorse for Salt's functionality. The execution modules represent the functions that are available for direct execution from the remote execution engine. These modules contain the specific cross platform information used by Salt to manage portability, and constitute the core api of system level functions used by Salt systems.[7]
  • State modules are the components that make up the backend for the Salt configuration management system. These modules execute the code needed to enforce, set up or change the configuration of a target system. Like other modules, more states become available when they are added to the states modules.
  • Grains constitute a system for detecting static information about a system and storing it in RAM for rapid gathering.[8]
  • Renderer modules are used to render the information passed to the Salt state system. The renderer system is what makes it possible to represent Salt's configuration management data in any serializable format.[9]
  • Returners: the remote execution calls made by Salt are detached from the calling system; this allows the return information generated by the remote execution to be returned to an arbitrary location. Management of arbitrary return locations is managed by the Returner Modules.[10]
  • Runners are master side convenience applications executed by the salt-run command.[11]

Awards and nominations

On January 18, 2012, Salt was named Black Duck Open Source Rookie of the Year.[12]

On December 19, 2012, GitHub was looking back on the past year in a blog post and appointed the Salt project in 8th position of having the most unique contributors in the "Octoverse".[13]

See also

References

  1. ^ GitHub release
  2. ^ "FLOSS Weekly 191: Salt". TwitTV. Retrieved March 19, 2011.
  3. ^ "Salt 2014.7.0 Release Notes - Codename Helium".
  4. ^ "red45.wordpress.com salt configuration management". red45.wordpress.com. Retrieved May 29, 2011.
  5. ^ "Salt Release Notes - 0.9.3". saltstack. Retrieved Nov 6, 2011.
  6. ^ "FLOSS Weekly 191: Salt". TwitTV. Retrieved March 19, 2011.
  7. ^ "salt documentation - Writing Modules". saltstack. Retrieved November 3, 2011.
  8. ^ "salt documentation - Grains". saltstack. Retrieved November 3, 2011.
  9. ^ "salt documentation - Renderers". saltstack. Retrieved November 3, 2011.
  10. ^ "salt documentation - Returners". saltstack. Retrieved November 3, 2011.
  11. ^ "salt documentation - Runners". saltstack. Retrieved November 3, 2011.
  12. ^ "Black Duck Rookies of 2011". Black Duck. Retrieved January 18, 2012.
  13. ^ "The Octoverse in 2012". GitHub. Retrieved January 10, 2013.

External links