When I want to apply my state to the minion I get the following error:
Function: acme.cert
Result: False
Comment: State 'acme.cert' was not found in SLS 'certbot'
Reason: 'acme.cert' is not available.
Started:
Duration:
Changes:
This is my state file. certbot.sls:
certbot:
pkg.installed:
- name: certbot
reload-nginx:
cmd.run:
- name: systemctl reload nginx.service
<my.domain>:
acme.cert:
- aliases:
- <my.domain>
- email: <my.email>
- webroot_path: /srv/<my.domain>/
- renew: 14
- agree_tos: True
- fire_event: acme/<my.domain>
- onchanges:
- cmd: reload-nginx
I assume that the problem occurs because I didn't install acme.cert module but I can't find it anywhere and maybe is their a other solution for this problem?
After installing
certbot, you must reload the salt modules so they can see it.Your
onchangesis also the wrong way around.Though I'm assuming you already have an
nginxstate elsewhere? You should reference that instead of adding another one.https://docs.saltproject.io/en/latest/ref/states/requisites.html