How is Welder different from Ansible, except bash vs python?
Show HN: Welder – set up your Linux server with plain shell scripts
21–30 of 71 posts
Re: Show HN: Welder – set up your Linux server with plain shell scripts
#22Author claims all 90% of the time all they need is a single shell script. Then shows an example directory structure that mostly reminds me of Ansible. How is Welder different from Ansible, except bash vs python?
The tools in this space feel like very thick abstractions on top of commands and configs you have to understand any way, to get the results you want. The console output Ansible produces is also truly horrible.
Instead, I now maintain a single shell script for our servers. It's maybe a couple hundred lines, half of it heredocs containing small config snippets.
I will definitely be looking at this tool later.
Re: Show HN: Welder – set up your Linux server with plain shell scripts
#23https://github.com/CyberShadow/aconfmgr
It has a few crucial differences from typical configuration managers, though, as it allows transcribing the system state back into your configuration.
Re: Show HN: Welder – set up your Linux server with plain shell scripts
#24Author claims all 90% of the time all they need is a single shell script. Then shows an example directory structure that mostly reminds me of Ansible. How is Welder different from Ansible, except bash vs python?
Re: Show HN: Welder – set up your Linux server with plain shell scripts
#25Re: Show HN: Welder – set up your Linux server with plain shell scripts
#26Re: Show HN: Welder – set up your Linux server with plain shell scripts
#27https://github.com/mattly/bork
and here is an example from their README:
ok brew # presence and updatedness of Homebrew
ok brew git # presence and updatedness of Homebrew git package
ok directory $HOME/code # presence of the ~/code directory
ok github $HOME/code/dotfiles mattly/dotfiles # presence, drift of git repository in ~/code/dotfiles
cd $HOME
for file in $HOME/code/dotfiles/configs/*
do # for each file in ~/code/dotfiles/configs,
ok symlink ".$(basename $file)" $file # presense of a symlink to file in ~ with a leading dot
doneRe: Show HN: Welder – set up your Linux server with plain shell scripts
#28Re: Show HN: Welder – set up your Linux server with plain shell scripts
#29Could you explain what this line of code does? ssh -t user@example.com "$(
Re: Show HN: Welder – set up your Linux server with plain shell scripts
#30Could you explain what this line of code does? ssh -t user@example.com "$(
ssh -t user@example.com /bin/bash
That is, take the contents of the local file 'my-setup-script.sh' and run them as commands on example.com as the 'user' user (using SSH to authenticate the user & transport the commands).