saltstack/salt — Issue #545: Zero-configuration Salt
Author: rubic
Created: 2012-01-19 15:17:58+00:00
State: open

### Zero-configuration Salt

For testing and development, Salt could benefit by having the ability to run in a zero-configuration setup. We can assume zeroconf mode will usually be run as an unprivileged user.

Advantages:

* Easy build-up, tear-down of Salt processes
* Quickly debug networking/configuration issues running Salt
* Benefits for getting people quickly up-to-speed in learning Salt
* Non-Python users should have fewer issues in testing and diagnosing Salt modules

I'm proposing writing `zsalt` command-line scripts. The scripts would drive zeroconf classes which will also be available for unit tests.

### Typical out-of-the-box scenario:

`$ zsalt-master --autoaccept`

In another terminal:

`$ zsalt-minion`

In a third terminal:

`$ zsalt '*' test.ping`

By default there are no configuration files. Log file info goes directly to stdout, though it can be disabled. PKI keys would be handled in-memory.

### Additional command-line options (non-inclusive)

`$ zsalt-master`
* `--pport`
* `--rport`
* `--interface` (change default binding 0.0.0.0?)
* `--autoaccept` (accepts all public keys)

`$ zsalt-minion`
* `--master` (defaults to localhost)
* `--port`

`$ zsalt`
* `--port`