Semaphore v2.18 source (db/TemplateVault.go) shows FillTemplateVault only loads the key when type==TemplateVaultPassword. With type left as the default empty string, the vault key is stored but never materialised at task-run time; ansible-playbook gets no password and fails with 'Attempting to decrypt but no vault secrets found'. Confirmed by patching live templates via PUT with type='password'; next task run succeeded.
13 KiB
13 KiB