4 ms·
I am using Rundeck now to schedule project jobs, get notified on errors, provide UI for PowerShells/bash scripts, and have decent project and user management. I
by majkinetor 3y ago
I am using Rundeck now to schedule project jobs, get notified on errors, provide UI for PowerShells/bash scripts, and have decent project and user management. It uses Quartz and can handle hundreds of jobs per minute without a problem. It can connect to git repository to keep job definitions there. I also use local file system a lot (on Windows or Linux) as I don't like to edit my scripts in browser, given that they are mini programs with lots of separate includes.
I would like to try windmill instead. Can it cover all those cases, particularly the part where scripts are on the file system? Can I use automatic GUI creation for PowerShell scripts of windmill in such case? Rundeck transmits environment variables with GUI values when starting script.
- rubenfiszel 3y agoNot only it can cover those cases, you will likely be pleased with the advantages of such system (the automatic GUI creation is just one of those). The binary itself doesn't sandbox your processes unless you're in the nsjail mode. Hence, if you either use the binary raw (without docker) or mount the filesystem to be available to your container, it can run anything that is available on the filesystem.
- majkinetor 3y agoI played a bit now on cloud and was able to run things in powershell and create a custom GUI form, connect button to script and show results in the text area. I didn't succeed to return all output from the powershell, just last value. The only way I got it is by using control "job log". This one however has some custom header of windmill (job guid etc.), so is there any way to show a raw log ? I generally do not like no-code tools, but first impression of this mix of no-code and code looks intriguing and app feels very nice overall, with great UI and easy to understand features. Good job.
- rubenfiszel 3y agoSo bash and powershell are a bit special since they are the only one that are not implemented as using a main function and thus have no result to return. However, we had that feedback a few time so there is a trick. If you write your result in ./result.json, we will process it as the result of your powershell script.
- majkinetor 3y agoFinal question. Am I able to install it on Windows? I need windows specific things, such as powershell remoting. One of the good things about Rundeck is that server acts as worker, and it runs on Windows without problems (Installing it is as simple as choco install rundeck). I can then use all windows tools, run applications (including GUI ones) etc. just the same as if I run them outside rundeck, using OTB powershell.
- rubenfiszel 3y agoYes, the binary can be compiled to windows and run there as a worker but it will need a connection to the main database. Not sure how currently rundeck does it ?
- majkinetor 3y agoRundeck is a java web app, using (by default) embeddable database or file system for configuration and data (you could use mainstream databases, but I never needed that). Regarding "Connection to the main database" as far as my use case is, all the settings could live in the file system json files or sqlite if that makes installation trivial for the use case of being very good job scheduler with options to create great jobs UI, logs and management of small number of users (which is a fairly common scenario).
- radiowave 3y agoI looked in to this a little when Windmill was last discussed here, and the gap you may bump into (as a replacement for Rundeck) is that AFAICT Windmill has no support for executing scripts remotely over (e.g.) SSH and passing the GUI values along as environment variables. It seems you need a full-blown install of Windmill on each host where actions are to be run.
- rubenfiszel 3y agoCurious why you wouldn't be able to do this using a bash script in windmill and ssh to your target
- radiowave 3y agoIt's a good question, and deserves a more detailed answer than I'm able to give without more first-hand experience with trying to use Windmill in this way. But my sense of it is that there's likely to be a chunk of legwork involved in the passing of parameters and credentially over to the remote host, capturing both stdout and stderr from the remote site - things that Rundeck handles pretty much seamlessly - and a concern that using Windmill like this the question of which host the job is executing on isn't a first-class concept, like it is in rundeck. It's likely that in time I will evaluate Windmill to get a more detailed understanding of this - there's definitely aspects of it that are very substantial improvements on what can be done in Rundeck. But inevitably, the question of whether to learn & install & maintain two separate systems side by side, with some degree of overlap in their functionality, vs. just picking one system to do the whole job and living with the shortcomings of whatever it doesn't do so well - it's always going to be a difficult one to weigh up.
- slig 3y agoYou can use any ssh client python library to do that. Also, this video from Trevor Sullivan is somewhat related https://youtu.be/3_0z1UihDIo https://youtu.be/3_0z1UihDIo
- 3y ago