4 ms·
"In Python" seems like a weird constraint on the problem. Python doesn't really read like a great deployment configuration language. https://en.wikipedia.org/w
by theonemind 6y ago
"In Python" seems like a weird constraint on the problem. Python doesn't really read like a great deployment configuration language.
https://en.wikipedia.org/wiki/Infrastructure_as_code#Community_content https://en.wikipedia.org/wiki/Infrastructure_as_code#Communi... the space has a lot of players. For upgrading like one VPS and some home servers, I'd probably go with Ansible. It probably has the lowest barrier to entry, and getting an IDE just solves the problem that you created by wanting something in Python. Basic config management doesn't need an IDE.
- divbzero 6y ago“In Python” does seem like an odd constraint. I take the OP’s intent to be “let’s find something imperative not declarative”. If that’s the case, I’d love to see the idempotent functionality of Ansible’s modules (e.g. lineinfile) made available as simple CLI commands.
- stonith 6y agoYou could kind of do this using ansible-runner to dynamically generate a playbook that does what you want.
- inshadows 6y agoI assume you consider Ansible to be "declarative". By that definition of "declarative", the following Bash script is also "declarative": #!/bin/bash rm -f /etc/bar mkdir -p /etc/conf.d cp -u /srv/src.txt /etc/conf.d/ because Anisble playbook is really just bunch of following statements if (!stuff_exists(stuff)) create_stuff() which the above utilities in Bash script do with the provided flags. Ansible "declarativeness" isn't anything worthy of worship. It's plain dumb definition of sequence of steps to take with added guard for each step. So let's be honest and stop pretending that this "declarativeness" is anything novel or of any value worthy of writing sequence of (guarded) commands in ad-hoc YAML language. Just add some sugar for the pattern above to a decent language and that's all that's needed.
- Bystroushaak 6y agoOp is python programmer who is using python for everything for more than 13 years, so there you have the reason. I am also writing my own programming language .. in python: https://github.com/Bystroushaak/tinySelf https://github.com/Bystroushaak/tinySelf