Allow Wireguard to automatically generate a private key if an interface doesn't have one and private_key is set to auto. This allows for auto key generation and distribution if using salt mines.master
@@ -34,6 +34,12 @@ def present(name, listen_port=None, fwmark=None, private_key=None): | |||
new=fwmark, | |||
) | |||
if private_key == 'auto': | |||
private_key = show.get('private key') | |||
if private_key is None: | |||
private_key = __salt__['wg.genkey']() | |||
ret['changes']['private key'] = 'private key generated.' | |||
if show.get('private key') != private_key: | |||
__salt__['wg.set'](name, private_key=private_key) | |||
ret['changes']['private key'] = 'private key changed.' |