Live data from Hacker News

Dagger Python SDK: Develop Your CI/CD Pipelines as Code

dagger.io

1–10 of 92 posts

Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code

#6
Haven't heard of Dagger before, but using IaC as code to model your pipelines (including pipelines of infra that itself is modeled as IaC) is absolutely the right way to do things. And doing it in a real programming language rather than some limiting yaml schema is so much nicer. Places I've worked at in the past would refer to these as meta pipelines or self-mutating pipelines.

For this reason, I love using the AWS CDK. Being able to model things in TypeScript was so much nicer than the janky flow of always feeling lost in some Ruby/JSON/YAML IaC template monstrosity.

Curious how Dagger differentiates itself from AWS CDK or cdktf.

Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code

#7
post #3

Hey, lead developer for the Python SDK here. I have a few examples in https://github.com/helderco/dagger-examples and I plan to add more. There's also reference documentation in https://dagger-io.readthedocs.io/ so you can get a birds eye view on what's possible.

Haven't tried it yet, but I like the features!

Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code

#9
post #5

Even if this was a great, well-built tool, which I am sure it is... Doesn't this introduce a whole dimension of extra stateful complexity compared to configuration YAML?

But when we have control structures built on top of yaml (like ansible's `loop`, or `when`), we might as well just use proper programming language.

Re: Dagger Python SDK: Develop Your CI/CD Pipelines as Code

#10
post #6

Haven't heard of Dagger before, but using IaC as code to model your pipelines (including pipelines of infra that itself is modeled as IaC) is absolutely the right way to do things. And doing it in a real programming language rather than some limiting yaml schema is so much nicer. Places I've worked at in the past would refer to these as meta pipelines or self-mutating pipelines. For this reason, I love using the AWS…

Dagger and IaC tools (AWS CDK, Terraform, Pulumi) are very complementary. Here's a livestream of Nic Jackson (devrel at Terraform) using Dagger and Terraform CDK together to build and deploy an application: https://www.youtube.com/watch?v=iFNe5W1o2_U

The main difference is that Dagger focuses on running your entire CI/CD pipeline as a DAG of operations running in containers; whereas IaC tools focus on managing infrastructure state. The typical integration is Dagger would run your IaC tool in a container, and integrate that into a broader pipeline with well-defined inputs and outputs. Dagger itself is stateless except for its cache: infrastructure state management is handed off to your IaC tool.

Post reply on HN