We know…the anticipation has been unbearable. Well now you can stop holding your breath, especially considering all the Oxygen in this Salt release. Codenamed Salt Oxygen, the Salt 2018.3.0 release is now available and provides even more intelligent, event-driven automation for all the software-defined things. From agentless Salt, to network device and IoT control, to even more configuration management and control of Docker containers, the Salt 2018.3.0 release includes a ton of great new features with just some of the highlights provided below.

Agentless Salt now even more flexible and powerful
Now use Salt SSH Minions as regular Salt Minions as they can now be called by the Salt Master. By setting “enabled_ssh_minions” to “True” in the Salt Master configuration file, the Salt Master will create a Salt SSH client process that connects to the Salt SSH Minion and return the output for the “salt” command just like non-salt-ssh minions.

More Salt support for Docker
The Salt execution modules and configuration management states for Docker containers have been substantially updated in the Salt 2018.3.0 release. The “docker_network.present” state underwent an entire rewrite which includes many improvements such as full API support for network management and configuration management of custom subnets. In addition, “docker run” support was added to the configuration management state and execution modules, Docker image management was improved, and complete API support for Docker logs was added to the Salt execution module.

Salt for network automation and IoT control
Several new Salt Proxy Minion configuration options were added to allow Salt Proxy Minions to connect to the Salt Master using a certain IP source address or port, including:

  • source_interface_name
  • source_address
  • source_ret_port
  • source_publish_port

Salt Minion auto discovery
The new Salt Minion auto discovery* feature means the Salt Minion no longer needs to be configured against a specific Salt Master DNS name or IP address. This feature requires the “discovery” setting to be enabled on both the Salt Master and Salt Minion.

* This feature is disabled by default and is considered very new and experimental. Users should make sure their networks are secure and trusted before enabling this feature.

New Salt state compiler requisites
Four new Salt state requisites were added to the state compiler:

  • require_any
  • watch_any
  • onchanges_any
  • onfail_any

Extend Salt state syntax with slots
Slots were added to the Salt state compiler in this release. Slots extend the Salt state syntax allowing users to perform tasks immediately before the state function is executed. For example, return data from an execution module function call can be used as an argument value within a state. This concept is the first in new Salt slot development and additional functionality is coming soon.

SaltStack now offers Python3 packages for Debian9, Raspbian 9, Ubuntu16 and RHEL7. Register here for access to the Salt package repository and getting-started instructions.