yaml-sucks
uplaybook
yaml-sucks | uplaybook | |
---|---|---|
10 | 5 | |
592 | 6 | |
- | - | |
2.2 | 9.3 | |
10 months ago | about 2 months ago | |
Shell | Python | |
- | Creative Commons Zero v1.0 Universal |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
yaml-sucks
- XML is better than YAML
- Lingy brings to Perl what Clojure did for Java
- Docker Compose With TOML?
-
This just sucks.
Here are some examples.
-
Python 3.11 is out !
It's got a pretty complex spec and it does not take much to become completely unreadable by humans, not to mention the issues with parsing it.
- Does viper catch yaml config files with invalid syntax
-
Bob: A build system beyond building
Even simple examples don't get parsed the same between implementations.
-
copygen: Generate type-to-type and field-to-field struct code without reflection or dependencies (391x faster than copier)
There are plenty of well documented issues with YAML.
-
How to use YAML Aliases
Looks like some of this is either unsupported or unpredictable by different YAML parsers: https://github.com/cblp/yaml-sucks
-
Tuxedo control center: community edition
YAML sucks, use TOML instead. It is much more sane and as easy to use as YAML.
uplaybook
-
Interesting Uses of Ansible's ternary filter
IMHO, the issue is that Ansible uses YAML to do "programming language" sorts of things, which is why it feels so unnatural.
I tried an experiment last year: What if Ansible had Python rather than YAML syntax. https://github.com/linsomniac/uplaybook?tab=readme-ov-file#s...
The downside is that having full Python available makes it really easy to make your playbooks non-idempotent, which Ansible gate-keeps behind Ansible modules. Also someone raised a concern that full Python (rather than a more limited safe dialect like Starlark) would make it harder to trust third-party playbooks. But considering uPlaybook's use case (ansible-like system configuration) it feels like even with a restricted dialect it is going to have plenty of opportunity for nefarious purposes.
I've put out uPlaybook for some limited review among my friends, and I've gotten some excitement about it. It doesn't have fleet management and remote running though, which is the big negative feedback I've gotten. I'm interested in thoughts on it though.
-
Why the fuck are we templating YAML? (2019)
Ansible convinced me that doing programming tasks in YAML is insanity, so I started an experiment: What would Ansible be like if it's syntax were more like Python than YAML. https://github.com/linsomniac/uplaybook
I spent around 3 months over the holidays exploring that by implementing a "micro Ansible", I have a pretty solid tool that implements it, but haven't had much "seat time" with it: working on it rather than in it. But what I've done has convinced me that there are some benefits.
-
Ask HN: Show me your half baked project
uPlaybook2: https://github.com/linsomniac/uplaybook2
This is a python-syntax re-imagining of Ansible / Cookiecutter: declarative IT automation and project templating. It's fairly early, but the heart of it is there: I'm able to create files/directories and render templates, running it displays status, I have most of the "magic" implemented that makes it less like Python and more like Ansible. The CLI entry-point is minimal, I need to basically forklift over the uPlaybook1 argument handling code and playbook search/selection.
Would love feedback from someone who is familiar with Python and Ansible about the direction of the YAML -> Python for playbook syntax, but I worry that it's too early to even give that.
Basically it's uPlaybook (v1) but with the Ansible-inspired YAML playbooks reimagined as Python: https://github.com/linsomniac/uplaybook
-
XML is better than YAML
Agreed, I do a lot of Ansible, and it took me a while up front, but I've become pretty accustomed to YAML. Though I still struggle with completely groking some of the syntax. But, I recently took a more serious look at TOML and felt like it'd be a bear for Ansible.
A few months ago I made a "mini ansible / cookie cutter" ( https://github.com/linsomniac/uplaybook ), and it uses YAML syntax. I made a few modifications to Ansible syntax, largely around conditionals and loops. For YAML, I guess I like the syntax, but I've been feeling like there's got to be a better way.
I kind of want a shell syntax, but with the ansible command semantics (declarative, --check / --diff, notify) and the templating and encryption of arguments / files.
-
Show HN: Trogon – An automatic TUI for command line apps
This is exactly my current experiment on a personal project I'm working on, though I'm trying to create a Textual UI on a dynamic Python argparse CLI. Creating a Textual UI is non-trivial.
My tool uPlaybook[0] is kind of a CookieCutter [1] / Ansible [2] mashup, and the playbooks typically would have a number of "slots" you can configure to control the templating, like project name, license, if you want to "git init", that sort of thing.
It currently auto-generates a argparse interface, or it can interactively ask you those questions. But I've been working on a Textual UI as well. I chose argparse over Click largely because I want to work with minimal dependencies, and the Textual UI would be an optional dependency.
Going to have to check this guy out.
[0] https://github.com/linsomniac/uplaybook
What are some alternatives?
tuxedo-control-center - A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.
json-schema-spec - The JSON Schema specification
tuxedo-keyboard - This repository will no longer get any updates as the code here is now part of tuxedo-drivers https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers.
LGV_MeetingServer - An aggregation server for meeting list servers.
goverter - Generate type-safe Go converters by simply defining an interface
Octo - A Chip8 IDE
ail-framework - AIL framework - Analysis Information Leak framework
nix-configs - My Nix{OS} configuration files
hsh - better shell
copygen - Go generator to copy values from type to type and fields from struct to struct (copier without reflection). Generate any code based on types.
ngs - Next Generation Shell (NGS)