2 ms·
Ultimately I'm sure I'm going to be sorry I weighed into this, because maybe it's just personal preference and I'm not going to change anyone's mind and you are
by mdaniel 4y ago
Ultimately I'm sure I'm going to be sorry I weighed into this, because maybe it's just personal preference and I'm not going to change anyone's mind and you are unquestionably not going to get me to ever touch that again. And I'm sorry if your feelings are hurt, and I appreciate that you and your coauthor know and love the system but my experience with it mirrors that Microservices YouTube joke
My biggest heartburn is that I have[1] to compile a boot configuration document. Some of that may be a concession to Ignition being inexplicably written in JSON, but it's possible the transpiler does some massaging and restructuring of keys, I dunno, I didn't want to compile a boot document
This is how one creates a file in Ignition: https://coreos.github.io/ignition/examples/#create-files-on-the-root-filesystem https://coreos.github.io/ignition/examples/#create-files-on-...
Contrast that with https://cloudinit.readthedocs.io/en/20.1/topics/examples.html#writing-out-arbitrary-files https://cloudinit.readthedocs.io/en/20.1/topics/examples.htm...
I grant you that https://coreos.github.io/butane/examples/#files https://coreos.github.io/butane/examples/#files may be the example of pre-transpilation using the `inline:` structure but for my use case of authoring that UserData dynamically, I don't have a `!TranspileUsingCuteNameOfTheDay` in CloudFormation
And since I haven't had my hands on the Flatcar ecosystem in a few years, I'm not going to have access to the very specific pain points of "well, this cutesy named thing is broken because it depends on this other cutesy named thing" but what it boils down to is cloud-init behaves sanely, has been around forever, and can be authored easily in a bunch of different circumstances
fn-1: yes, I can appreciate it's "just a JSON document" but no reasonable person is going to author JSON string literals containing data: URIs for contents
- pengaru 4y agoSo if I understand correctly, "I don't like RFC 2397 and JSON" == "tire fire"?
- mdaniel 4y agoI guess if you found my comment to be "comically hyperbolic" then replying to mine with a "comically reductionist" is fair game So, anyway, I actually did dig up a concrete example of my experience with it, and I cannot link to the "Additional information" section but that is both why I think the thing was a mess and also why the Miroservices YT joke resonated: https://github.com/flatcar/Flatcar/issues/220 https://github.com/flatcar/Flatcar/issues/220 I think the CoreOS boot strategy was decomposed into a bunch of different executables, each responsible for doing their own little slice of the world. Maybe it drew inspiration from systemd in that way. But, just like my real life experience with microservices, it requires keeping a bunch of different projects and their upgrade paths in ones head, knowing their disparate config formats, and when one of them inevitably has a bug, understanding how to troubleshoot what went wrong with the system as a whole And, again in trying to be reasonable in this discussion[1] I do also understand why one would opt for the data URI, given how much of the rest of Ignition loads content from URLs. I don't believe cloud-init has that remote content paradigm baked into it nearly the same way, so I hear you about that. And yes, my belief is that JSON is a data-exchange format from _computer to computer_ and making people write them is a poor DX choice, IN MY OPINION. And, to reiterate, I know that CoreOS's perspective is that it is a computer-to-computer transmission from the transpiler-project-o-the-day to the Ignition binary, but that is predicated on one having access to that transpiler binary in all cases, which is quite different from the problem that cloud-init is trying to solve fn-1: I'm sorry you got hurt by my "tire fire" outburst, and that evidently derailed this whole interaction, but it was my experience
- jzb 4y ago“Ultimately I'm sure I'm going to be sorry I weighed into this” Maybe you wouldn’t be if you didn’t use phrases like “tire fire” at other people’s work? It sounds like Ignition isn’t your cup of tea, which is perfectly fine and few people could take issue with that. Tire fire is unnecessarily caustic and doesn’t really improve the discussion.
- xyzzy123 4y agoI use it exclusively thru the terraform provider which abstracts over some of the details. I like it a lot more than cloud-init in this scenario.