19 lines
892 B
Markdown
19 lines
892 B
Markdown
|
# Smith
|
||
|
> An agent
|
||
|
![Mr. Smith](./smith.jpeg)
|
||
|
|
||
|
|
||
|
Smith is, in many ways, a clean sheet implementation of [cram](https://git.arrdem.com/arrdem/cram).
|
||
|
|
||
|
Cram as a tool has been quite successful at implementing an agentless (get it) masterless configuration.
|
||
|
Clone a git repo and apply the config.
|
||
|
|
||
|
The miss of Cram is that it's really only designed to install static files, and really only to a homedir.
|
||
|
Installing packages is frankly a dirty hack.
|
||
|
|
||
|
In contrast to Cram's static configurations and mostly static actions, Smith has much more in common with Ansible, Puppet or Saltstack.
|
||
|
|
||
|
Like these full up configuration management systems, Smith features an inventory system, a package manager abstraction, templating features and - unlike these other systems - a core action model and changelog.
|
||
|
|
||
|
Also like those other systems, Smith uses a "real" configuration language for defining "modules".
|