rundeck
rundeck copied to clipboard
store/download files related to job executions
The problem For jobs that generate some kind of output (pdf, html, xml, etc) like a report from a tool or similar, is desirable to get access to that file somehow, and if possible, from Rundeck itself.
Right now the only way to access that kind of files in Rundeck, is printing them out in the logs and use log filters to render the data: https://rundeck.org/docs/manual/log-filters/render-formatted-data.html (I haven't yet tested this, but I think it should work). But the problem with this is that you can't download the file and also some logs can become very long, so you have to scroll a lot to get to the rendered file.
Proposed solution It would be great if there were a Workflow step that stores a file in the context of the job execution, to be able to download it from the GUI.
Current alternative solution (outside Rundeck) Right now since Rundeck doesn't provide this feature, I solved the problem copying the file to a directory served by a http server in the same host. This has a big security problem that any user can access other users files, and is desirable to have the same ACL policies as the ones defined in rundeck.
This is related to https://github.com/rundeck/rundeck/issues/969 https://github.com/rundeck/rundeck/issues/1348 https://github.com/rundeck/rundeck/issues/3445 (also this post in the rundeck google group: https://groups.google.com/d/msg/rundeck-discuss/Cy8M_dF7HxQ/odXhZ5d6AQAJ) but I prefered to create a new issue since is more general and also other issues are a bit old and some of them without any tags.
@martinbydefault thanks for filing this, it has been in our ideas box for a while.
I added it to the community Trello board, please vote for it there
There haven't been much activity here. This is stale. Is it still relevant? This is a friendly reminder to please resolve it. :-)
I have been doing some tests with HTML files and the log filter to render them and I encountered some issues. Right after the execution, the html file is displayed but since it's embedded in the log section, the width is too small and isn't displayed as if it were viewed in a full size in a separated tab, so it's hard to view it. But also I found out that when I wanted to view again the Log Output of this execution, it takes a while to load, and then doesn't display anything.
I checked the logs (/var/log/rundeck/rundeck.log
) and I see that there is a lot of "HTML Sanitizer audit" messages, I think it's related to the html file being rendered.
My use case is this: I run an ansible playbook that generates an HTML report. It would be a great feature being able to have that report associated with the job execution, completing all the workflow inside Rundeck.
This is very valuable feature which I think is mandatory for the system like Rundeck (and which I personally often miss).
Currently we download artifacts via NFS/SMB share but that has obvious downside that people need to know additional mechanism of interaction with the job which also complicates with multiple possible execution nodes involved.
This is essentially the same thing as what is known as buld server artifacts. The job needs minimally to have a setting field or another way to specify list of artficats via file glob (i.e. *.zip
or output.html; output.csv
) or some function/cli tool call (i.e. rdcli upload_artifacts <job_id> '*.zip'
) or something similar.
Feature could also have some of the following advanced options:
- for how long are links kept in days
- option to archive all artifacts and provide download to single archive
- option to download all of artifacts if they are not within archive
- option to send artifacts by email
- list of users that downloaded file
- option to explicitelly delete artifacts
- option to preview files directly on rundeck UI - generated PDFs for example, rendered markdown, html, csv etc.
Boucing this topic, as I think this feature is needed.
On my side, I would like to be able to embed pictures in the log output.
Still no luck on this one?
It's been 5 years and nothing. Anyone know of an opensource project that can do this outside of Rundeck?