this post was submitted on 29 Jun 2025
9 points (80.0% liked)
DevOps
1889 readers
11 users here now
DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle.
Rules:
- Posts must be relevant to DevOps
- No NSFW content
- No hate speech, bigotry, etc
- Try to keep discussions on topic
- No spam of tools/companies/advertisements
- It’s OK to post your own stuff part of the time, but the primary use of the community should not be promotional content.
Icon base by Lorc under CC BY 3.0 with modifications to add a gradient
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Both of these can be done in a declarative fashion.
Yeah, yaml sucks. But we don't need to throw the baby with the bathwater. You can have tools based in declarative systems that use saner languages, e.g, nix or TCL, and never have to deal with yaml issues.
The post doesn't say "imperative", it just differentiates between defining pipeline steps and defining the logic within a step.
...also, TCL? I haven't used it for ops, but my memory of tcl/tk is extremely negative.
...also also: a core part of a build, CI, or, CD pipeline is almost always invoking binaries to run a command. That's why shell scripts are so ubiquitous in pipeline-logic: invoking binaries is what they're for. And it's very difficult to do that a declarative way: Make comes close, but it's difficult to track any side-effects that aren't "update these files", and a huge amount of CI/CD is no longer just "update a file".
TCL as in Terraform Configuration Language.
Oh, that makes much more sense; thanks.