#general

1 messages · Page 5 of 1

chilly arch
#

now when you are onboarded to Discord, you will be able to see that channel if you pick "Python". Thanks again for reaching out and asking about it.

#

**If you are going to KubeCon EU or in the Paris region, don't forget to register for the Open-source AI meetup next week! **

I am very excited to announce that @winter linden and one of our very own Daggernauts,@solar raptor will be showing off some awesome AI demos there.

Registration is required for the event, so save your spot now - https://lu.ma/devs3

Ollama and Friends are in Paris!
Ollama and Friends will be hosting a local & open-source AI developer meetup on Thursday, March 21st at 6pm at Station F in Paris.
Come gather with developers...

tulip grove
#

I'm evaluating moving our pipelines to dagger, now I'm trying to build the images using it.
My experience building containers is fully around docker, so I have a conceptual question: How layering works with dagger? I had a look on docs and around discord but I had no lucky finding this information... 😦

The objective is build a multistaging image, in docker I have the base one with pyproject and poetry.lock only. the dev one I mount the directory with volumes and prod I copy the directory to the container.

Can someone give me a help understanding those concepts in dagger? Can be a doc or a thread, I will read through

winter linden
#

Hi everyone! We just publicly launched the Daggerverse!

The Daggerverse is a searchable index of all Dagger Functions developed by the community around the world. Many of you already use it every day. With this launch, many more people are about to join you 🙂

We have over 200 modules at launch day, and some seriously cool software being built. I can't wait to see what this community builds next!

https://twitter.com/dagger_io/status/1767671376930840877

Introducing the Daggerverse https://t.co/qFInRz5E4r

unborn iron
#

Hey guys, I've experimented with dagger a while ago, before functions were introduced. From what I am reading now, seems that the preferred way of using dagger is by creating functions/modules instead of using dagger run. I am strugling understanding the difference, in practice, of dagger call vs dagger run. I understand that dagger call is more flexible/composable. Is there anything that run can do that cannot be done with call?

wide lava
#

Some of my dagger functions are starting to get complex. I actually started build a cli tool that handles some of the complex logic and package that in a container image which I then call in my dagger functions.

My first slew of questions were these:
Is this the correct approach?
Is it too many layers?
Should this all be kept in the dagger function?

Assuming what I did was correct, I then started to wonder:
What should be packaged into a containerized cli tool and what should be written directly in the dagger function?

Any advise on this?

winter linden
#

I find that the object design, using custom types, helps me model the overall architecture of my module.

wide lava
#

Interesting. But aren't there some limitations to the functions? For example, return types are limited.

winter linden
#

again this is my personal development style so far, not canonical

wide lava
#

that's true

winter linden
wide lava
#

Thanks @winter linden !

#

Ok so let say I strictly use dagger functions, there are some things I can do in code or using a container, which would you say is better?

#

for example using aws cli to get an s3 bucket or using the boto3 client

winter linden
#

good question, personally I start with a cli until I need something only a library gets me, it depends on the use case. I optimize for development speed

wide lava
#

ok cool

tired moth
#

Can the dagger function pass the output of running the cli command in a container to forward it to pass somewhere in furthur code like some api or code?

tired moth
winter linden
tired moth
neat valley
#

so a question... it's pretty clear to me how dagger functions operate and being able to call them from dagger via dagger call. However, suppose I want to chain things together, is there anywhere that documents best practices around this?

#

e.g. suppose i want to build a container with docker build, spin up an AWS ECR endpoint if it doesn't exist, fetch credentials, and publish to it... each of these could be a unique function, but it isn't clear to me how they all can be tied together nicely in a dagger idiomatic way

tulip grove
slender star
#

Hi everyone!
As you all know, we announced the Daggerverse yesterday. For some examples on how to use it, check out this blog post. We'll have more content like this in the future. Let us know if there's a scenario we should explore or a module we should check out. 🙏
We can't wait to see what you build! 🚀
https://twitter.com/dagger_io/status/1767994716065521831
https://www.linkedin.com/posts/dagger-io_the-daggerverse-in-practice-dagger-activity-7173760565658542083-8A5C

We announced the Daggerverse yesterday. Now, @jpadamspdx shows us a bunch of examples of how to use it - Check it out, and maybe start building something of your own!

https://t.co/vT4bt35N7E

We announced the Daggerverse yesterday. Now, Jeremy Adams shows us a bunch of examples of how to use it - Check it out, and maybe start building something of…

fallen temple
#

👋 Hi, Daggernauts!

I'm a product manager on the Dagger team.

We're building visualizations for Dagger Functions and need your feedback to make it great. This visualization will be included in Dagger Cloud. You DON'T need to be using Dagger Cloud to give feedback.

(But if you're not using Cloud, we have a free subscription option.)

wide lava
#

Is there a shorthand way of automatically using environment variables as input arguments to a function?

I always want to add AWS env vars, for example. And not have to always specify --aws-access-key-id env:AWS_ACCESS_KEY_ID as an arg

wide lava
rain oriole
wide lava
tulip grove
#

Are you guys planing to make daggerverse public? Im building a poc to present to the company, would be nice to have a self hosted private daggerverse as well.

rain oriole
tulip grove
stoic knot
#

I have a container I want to build. It is stateful (vector db) and I want to preload it with some testing / staging data. I think I want to do something like...

  1. Build the image
  2. Run it as a service
  3. Load the data via an api call (create a new layer?)
  4. Push the image with data layer
    Is this possible?
stoic knot
#

Capturing state from a service into an image layer

stoic knot
#

Are the Guides & Cookbook sections from the older docs going to be migrated to the new docs website?

tired moth
#

we can write docker compose file instruction in any programming language with dagger and tell dagger to run it, right?

stoic knot
tired moth
stoic knot
#

One of the issues as being able to refer to other services running by name, iirc dagger generates some random chars, kind of a PITA

tired moth
stoic knot
#

I very much am not a fan of this new function paradigm, I'm sticking with dagger run assuming it's not going to get deprecated. The missing docs on the latest website gives rise to some concerns

stoic knot
#

Jenn and I are in the process of setting up a feedback call on the new UI

tired moth
stoic knot
#

the dagger run docs are completely gone now

tired moth
stoic knot
#

are they going to be migrated to the new site?

stoic knot
stoic knot
#

I'm certainly curious to know if the dagger run interface will be improved (such as supporting invoking other modules) or if it will only be maintained and not see any improvements.

winter linden
winter linden
# stoic knot noted & apologies

Thanks - I did go on HN to ask the guy for more specific feedback, let's see if we get anything actionable!

To your point on 0.9 docs: we're busy porting them over. Requires manual scrubbing hence the delay.

stoic knot
#

do you have a LLM chat bot for dagger docs / code yet?

#

(the bars for open source project expectations keep going up 🤣 )

winter linden
stoic knot
#

I saw LlamaIndex uses Kapa, haven't tried it there yet, the answers look decent for other users based on a few samples

#

I'm currently working on building/deploying a llama-index powered project with Dagger. I still find reading through the docs at the early stages to be better than relying on LLMs

#

I tried using Dagger's new functions with the Python code, but had a hard time translating what I know and have as patterns to the new concepts, so went back to what I do know.

tired moth
#

can anyone help me to get docs for, how to run and use dagger on/with kubernetes?

winter linden
# tired moth can anyone help me to get docs for, how to run and use dagger on/with kubernetes...

The new administrator manual is about to get merged. It includes a Kubernetes integration guide.

Here is the PR: https://github.com/dagger/dagger/pull/6878

And here is the link in the development preview: https://deploy-preview-6878--devel-docs-dagger-io.netlify.app/integrations/104820/kubernetes

GitHub

This commit adds a new top-level category for the "administrator manual". This is a parallel category to the "user manual" and "developer manual" being added in #6869
...

Deployment with Helm

chilly arch
chilly arch
#

Thank you the everyone that came to the Dagger Meetup today!

I’ll share links to all the modules people built tomorrow.

chilly arch
#

Had a chat with @fossil pine yesterday at the Dagger Paris meetup, and he offered to co-organize some Dagger meetups in Budapest.

If you are in the Budapest area, join our new Dagger Meetup group below. We'll be adding events soon!

https://www.meetup.com/dagger-budapest/

chilly arch
#

Some of the Dagger team is at KubeCon. If you are here, come stop by our booth!

chilly arch
chilly arch
#

Hey everyone! There is no community call today since most of the team is at KubeCon and we have a few different in-person events today.

We’ll see you at the next one on April 4th! For now, check out the community demos on the demo thread 🙂

timber sphinx
#

Is that interactive charm debug view for streaming and collapsing logs still out there in the new dagger "zenith" version that's live now, or was that experiment deprecated for just debug logging being improved ?

timber sphinx
#

Doing my part in my slack workspace

#

dagger development linter/scanning

oblique mural
#

Hi this Hamze from Paris. yester night I had chance to talk with Solomon Hykes at Station F. I had share an idea to build something on top of Dagger. I would like to contunue my conversation with him

sharp marsh
chilly arch
slender star
fierce sandal
#

Hi everyone, I wrote a Dagger function to run Jest unit tests. In my function I have a container. After I retrieve a Docker Image and mount a directory to the image, I run a script to run my tests. I chain the stdout() method to output the stream from my test script I expect to see the results from my tests. However, stdout() returns output generated by my test script when execution commences but not the entirety of what the script generates (it excludes the test results)

If I return the container without stdout I see the expected output (results from my test) so I know the test script is running successfully. However, I expectedly get an error about the type of data I am trying to return not being JSON serializable. I would like to return a result showing my test results without any errors

code sample:
https://replit.com/join/fcxqqpwurs-emmanuelsiband2

tired moth
#

Let's say a few developers are using the same dagger engine while developing and ci cd pipelines are also using the same dagger engine from the same machine.
Then how can we leverage the dagger engine for dev purpose and pipelines purpose? What benefits will we have?

#

And how will it work on kubernetes?
Do we need to deploy a separate dagger engine in each pod or how it will work?

dreamy kernel
#

Hi, just moving my first steps with Dagger.

Are there best practices recommended with respect to facoring out common code that might be needed in tests (i.e. launching containers via testcontainers) and in CI/CD?

narrow nymph
#

Sign Up

#

Sharing a dagger engine between users

narrow nymph
# dreamy kernel Hi, just moving my first steps with Dagger. Are there best practices recommende...

So we're actually quite early in this process ourselves! (especially with modules)
A few best practices I've found though:

  • Splitting base images and steps into functions (thinking of separate functions a bit like dockerfile-stages, if you're familiar) can really help manage complexity as you scale
  • You can keep some functions private - you can use these to hide implementation details, and then you can expose the functions that you want to the CLI, so you can have a clean outer interface
  • I tend to avoid passing client objects around, since those can be set globally
  • If possible, it's nice to avoid running long-running operations (like Export, Sync, Stdout) etc, in deeply-nested functions - because these force execution of a pipeline, it can cause some weird issues where dagger can't parallelize execution that it might otherwise be able to (I'd love to think of a clever low level fix for this, but I got kinda stuck with this)
silk apex
#

hum seems like the daggerverse search engine is very picky about what we type there, case-sensitive and more

dreamy kernel
narrow nymph
# dreamy kernel Jed, I wonder also in terms of Github modules organizations...any thoughts? Do y...

ahhh yes, this is tricky 😄 i've tended to start with everything in one place, and then splitting things out towards the end - that works better once i know the interface and functionality i need to have, but i think that's just a general software-engineering approach thing, your preference may vary.
for golang builds, i'd probably grab something from the daggerverse directly instead of rolling my own though

#

generally, i've only split out into modules if i can imagine someone wanting to reuse the components - if there's no need to (since it might be all internal), then I would say keeping it in one module can probably help reduce complexity (and will probably improve performance, but ideally over time, it should approach the same kind of speed)

slender charm
#

hum seems like the daggerverse search

dreamy kernel
#

ahhh yes, this is tricky 😄 i've tended

#

Don't want to pollute the threads, but very excited about Dagger so have other questions. How do I get started with Daggerverse? 😄

dreamy kernel
#

I also have one other trivial question. What are the best practices about composing dagger workflows?

  • Running a different dagger action with dagger-cli in each step of a CI/CD pipeline?
  • Create a composite entry point
winter linden
dreamy kernel
#

How do you run Dagger behind a corporate proxy? we have a dockerhub mirror

winter linden
winter linden
dreamy kernel
#

Thanks, does that describe also the workaround?

winter linden
pseudo stream
# dreamy kernel How do you run Dagger behind a corporate proxy? we have a dockerhub mirror

Using a dockerhub mirror specifically is documented here https://docs.dagger.io/manuals/administrator/272381/custom-registry There's various other problems corporate envs usually hit (http proxy, custom CAs, etc.) that are discussed in that issue above and are being actively worked on

The Dagger Engine can be configured to use container registry mirrors for any registry URL. This allows container images that refer to one registry to instead be redirected to a different one.

winter linden
cunning jolt
dreamy kernel
cunning jolt
# dreamy kernel Would only using a custom dockerhub work? I will try

Docker credentials are available to the SDKs when you docker login outside of dagger call commands. The issue I am having with proxies is not related to containers. It's related to pulling go modules that the SDK container needs to function. So, using any dockerhub that you can authenticate to should work with dagger.

dreamy kernel
cunning jolt
#

right, that could be a problem. Dagger publishes the engine to ghcr.io also. In my company that is a trusted registry. Try pulling from ghcr.io/dagger/engine:v0.10.2

dreamy kernel
#

Won't work 😦

#

Who should I speak with?

winter linden
#

Dagger in enterprise networks

sand gorge
#

I'm at RustNationUK conference. Promoting Dagger here.

💪

chilly arch
#

Dagger Raleigh Meetup Discussion

tired moth
#

What can be the ETA for rust SDK and it's documentation like python and typescript and with support of creating dagger modules and functions?

winter linden
pine crag
#

Questions when following the Export the build directory (https://docs.dagger.io/quickstart/853930/directories#export-the-build-directory) guide on docs (please let me know if #1030538312508776540 is a better place to ask these, I wasn't sure!)

  • In the first command: dagger -m github.com/kpenfound/dagger-modules/golang@v0.1.5 call build --project https://github.com/dagger/dagger --args ./cmd/dagger entries

--args basically tells where the source code for the dagger CLI in the repo is right? (which we want to build). And then the output of the module we ran to build the CLI is a Directory() type so we call the entries function on it which lists the contents of the build directory - is my understanding correct? If yes then I'm confused why the output isn't just a single Dagger CLI binary and instead has a lot of other things like READMEs, etc?

  • Then in the next command: dagger -m github.com/kpenfound/dagger-modules/golang@v0.1.5 call build --project https://github.com/dagger/dagger --args ./cmd/dagger export --path ./my-dagger-build we call export instead of entries which is also a function on the Directory() type?

Thanks for taking a look at this! 🙏

Build a binary with a function

pine crag
#

Build a binary with a function | Dagger

winter linden
#

Ladies and gentlemen...

chilly arch
chilly arch
main spear
#

Just to give a few kudos where deserved, I finally got around to setting up Dagger cloud for my personal stuff. It was literally just adding an environment variable and now my builds are on dagger cloud. Including stuff like figuring out which remote git repo I've got, which commit it is one etc. Well done!

A few notes:

  1. It would be nice if the terminal output understood ANSI, or at least stripped the ANSI codes. This is a small issue as this is only when running in the terminal and not in CI, but I want the pretty colors if possible as well 😄
  2. If pipelines are not used in the code (something I didn't do as I saw no reason to) makes the dagger graph difficult to navigate. It simply didn't seem to natively match my graph together properly (image 2) I've got no idea what those empty withExecs are. I probably have a mistake in my graph somewhere, but honestly the output doesn't help me much in figuring out exactly where it is. I found it a bit strange that each sync call it self, it at least from where each ID was called wasn't automatically grouped, such that everything under a WithDirectory("/src", src) would display the subdirectory merge.
  3. Log fetching is slow. It may because individual contributor stuff is running on shared compute, but fetching logs, even if there is none takes around 600ms. Quite a lot to give me a response that no logs are available. (they aren't cached client side as well it seems like)

I'll likely fix these myself (adding WithPipeline etc). Overall the experience is nice. It clearly serves its purpose, my only concern is that the UI really wants to present a traditional CI pipeline structure, while the steps that are run are a graph. At least in my case something went wrong and it didn't build the graph properly in the UI (it could also be something lacking in the rust sdk, but I doubt it has anything to do with that).

I thought I'd give my first impressions before I get too used to it, awesome job, can't wait to use it more

chilly arch
elfin frigate
# main spear Just to give a few kudos where deserved, I finally got around to setting up Dagg...

Yeah thanks, this is great feedback! For some context, the current UI is being fed data that it wasn't designed for. It originally only showed Buildkit operations and pipeline groups, but now it's being fed function calls, which it just renders kind of randomly. Basically you're seeing a gracefully(?) degraded experience because the core mechanics have outpaced our UI.

So now we're cooking up a completely new UI that shows you a trace of function calls. The logs handle ANSI colors, though they don't understand things like progressbars yet (no vterm). Since it's a function trace you probably don't need to set up pipelines, but it's driven by OpenTelemetry so you can add your own spans to group things however you like, just using OpenTelemetry APIs. I'd show a screenshot but we're planning to ship it soon anyway and I don't want to spoil anything. 😄

re: performance - the paint is still wet and it'll take some time to improve performance for logs specifically. It might not be great on launch - it's a long pipeline with many many potential bottlenecks - but it's a top priority for me personally.

main spear
# elfin frigate Yeah thanks, this is great feedback! For some context, the current UI is being f...

Sounds great. I considered not mentioning the log parts because of the upcoming otel thingy you've got cooking. But gave it anyways as it could be useful for iterating on the UI itself.

Vterm is probably overkill for a readonly UI, the bench mark should probably be that it should be able to handle what a dev might throw at it from their workstations. Which often includes ANSI codes because it is an actual terminal. It also seems to be what you've got in mind so that is nice (but non interactive ANSI tuis, as that is what is currently being handled in Docker anyways)

The performance isn't terrible, it could be better as it is noticeable, but it isn't really a problem at the currentl level.

elfin frigate
# main spear Sounds great. I considered not mentioning the log parts because of the upcoming ...

Sure, full vterm support would be assuming we can do it without sacrificing performance. Some CLIs have parallel progress bars and such, and it'd be nice if it didn't trash the output. In the end we just need to get some HTML to the browser; if we have to, we can just send pre-rendered HTML straight over the wire. (Live streaming would be more challenging, but even that is possible with xterm.js, which we might also want to use for in-page debugging sessions)

scarlet yew
#

Has anyone managed to get dagger working with gitea before?

slender star
#

Has anyone managed to get dagger working

patent slate
#

I've been mulling over the tools we've come up with for certain parts of the development platform we are working on using k8s. We've gotten Arco CD and Kargo for continuous delivery and environment promotion of applications i.e. from QA, to staging to production. And we've got Argo Events and Workflows to build a webhooks process for triggering CI and of course we have Dagger now as the CI "workload" tool.

And, we also have Temporal, which was originally thought of for services orchestration and application workflows. However, it hit me the other day writing an article about Dagger, that we could also use Temporal for firing off Dagger work (work = daggerized anything....) and by doing that, we would have

  1. the ability to "cron" work.
  2. the ability to retry any work, should something fail.
  3. the ability to limit retries, if we want to.
  4. the ability to queue work and send out messages to other work as information or even as a trigger.
  5. the ability to make the work revertible, if one or more work steps fail.

I realize all this could be programmed into one or more Dagger modules too or even applications that run Dagger work loads. But should they, being Daggerizations i.e. functions should be (?) simpler smaller units of work?

And thus, my mind continued to spin and I started to imagine work that can scan a Github repository (or any repository really) at timed intervals and find if there has been a change in a certain area, it would kick off other work in the cluster. (Argo CD)

Dreaming even further, I was thinking about allowing for webhooks or other API calls, which can trigger actions in the cluster, where certain work in the cluster is accomplished. (Argo Events and Workflows and Kargo).

To do this though, and thinking in the paradigm of Temporal, I was thinking I'd need Temporal applications running that cover these two areas, CI and CD, and have Dagger running within the "Activities" Temporal will run.

#

I also feel I'm jumping the gun, as Dagger should work in the same manner overall (otherwise the intention of "Dag" in the name is missing??). Am I wrong? 🙂

flat vapor
#

👋 Hey! Just a few words to publicly recognize the outstanding work the Dagger team is doing. The prompt action in replying to my questions, the professionalism and the willingness to help me is making my Dagger journey much more pleasant. Especially thanks to @slender charm , @narrow nymph and @sharp marsh for taking care of the community in such a passionate and thoughtful manner.

slender charm
chilly arch
terse zinc
#

Hi, I am reading the docs for the latest version, and I noticed the new docs has a section on "Publishing on use", which says that every time dagger call is used, it will be automatically published to daggerverse if there's a valid github.com URL. This reads like it is the default and there's no option to change this behavior. Did I read it right?

patent slate
#

I guess we could test this.

flat vapor
#

I'm reading it the same way. I'd be very

swift barn
#

Dagger seems to be sharing core features with WebAssembly

#

"modules", "composable", "polyglot", "runs everywhere"

#

I am wondering if a Dagger 2.0 could swap out its OCI runtime with a WASI runtime

#

I need to think about Dagger as an application framework rather than a CI framework.

timber sphinx
#

did that AI powered channel get removed? Thought I'd experiment with it but can't find it listed anymore

chilly arch
slender charm
#

did that AI powered channel get removed

chilly arch
chilly arch
#

Welcome everyone to the community call! We will be starting in just a moment.

elfin frigate
narrow nymph
#

👋

fallen temple
#

Hello from Durham, North Carolina

chilly arch
wraith niche
#

That's how Alex found a way to fix the screen sharing on Linux, by using Windows!

cunning jolt
#

how can we get this visualization locally? 🙂

chilly arch
#

😍 😍 😍

fallen temple
# cunning jolt how can we get this visualization locally? 🙂

This is a feature in Dagger Cloud and not available locally. We want to add more features in the local dev UX that light up from Cloud services. This isn't an offline feature, though. I know some people need completely offline access, so sharing your needs is helpful for us to prioritize future work.

wraith niche
#

To add to that, the UI is hosted but you can visualize your local runs as well, not only your CI

narrow nymph
#

though there's no live view, and it probably won't look quite the same

fallen temple
fallen temple
narrow nymph
#

yeah i can't recommend the export thing honestly, i've had a pretty trash experience when viewing dagger/buildkit traces through other tooling

winter linden
#

Kyle crushing it on the Kubesimplify show

fallen temple
#

Any questions for Alex? I'm curious to hear feedback from people using the Cloud UI today.

last pine
#

The new Trace view will be compatible with the latest engine release right?

chilly arch
#

Thank you @fierce sandal and @elfin frigate for your demos today!

elfin frigate
last pine
#

and people with old engine (<v0.11) will still be able to use the Runs view I guess

narrow nymph
elfin frigate
fallen temple
# last pine and people with old engine (<v0.11) will still be able to use the Runs view I gu...

Yes, we have a way to toggle between the views. For people adopting Dagger Functions now, they'll likely be using the latest version of the engine. For people still using the previous engine versions or using a mix, they can still see the previous Runs view. Our plan is to eventually have this new Traces UI replace the Runs and Changes UIs. We received a lot of feedback about the previous UI and have tried to incorporate that into this new UX.

#

If you want to see the latest docs, you can view this PR: https://github.com/dagger/dagger/pull/7004

We'll merge and deploy once the UI is updated. I plan on adding a doc that walks through how to use Traces to debug failures and perf issues soon.

chilly arch
#

Dagger Meetup in Seattle on April 16th 🎉

Thanks to our venue sponsors, Pulumi, we are hosting our first Dagger PNW meetup soon!

If you will be in the area for Open Source Summit, the meetup is a 7-minute walk from the conference.

RSVP here:
https://www.meetup.com/dagger-pnw/events/300218297/

Meetup

Thank you to our venue sponsor, Pulumi, for allowing us to host this event at their space!

**We look forward to meeting all of the local PNW Dag

stoic knot
#

Is it possible to test a Dagger Function locally under the following setup? Basically develop in one repo, use in another repo

# dagger development here
verdverm/daggerverse/
  my-function/...

# dagger usage here
topicalsource/
  ci/k8s/...  <- this would be the directory the function should operate within
stoic knot
#

I'm using v0.11.0 and the typescript sdk. It's taking over 1m to initialize on every call. Am I doing something wrong or is this expected?

stoic knot
#

It's like it's running npm install multiple times every dagger call, maybe garbage collection is getting in the way?

#

Is it no longer possible to run commands on the host with exec and similar?

stoic knot
winter linden
winter linden
winter linden
tawdry bloom
#

Hi, I’m quite new to Dagger and I like the concept very much. I’ve started going through some of the examples, they are very helpful!
Now I am looking for an example of a CI/CD pipeline with a manual approval step, but I haven’t been able to find any yet.
Is something like https://i.stack.imgur.com/SrIfw.png possible in Dagger? (I guess I could write my own solution, but it would not be trivial and I assume this is use case more users are interested in.)

clever mesa
rain oriole
stoic knot
#

Slow initialize times with TS Dagger Function

stoic knot
timber tapir
#

Hi everyone, i have a question, is there an sdk more stable than others when using dagger call ? i started a python project with dagger functions in different submodules, and it was working fine, but i started having different issues, including the beartype one, but also Error: unknown command "from" for "dagger call ..." in some other environments (CI and other PCs). In the end i chose running everything with dagger run python script.py instead. Any hint or advice?

rain oriole
#

SDKs stability

tired moth
finite shore
#

Hi, new to dagger here 👋
I don't understand something basic - where do the containers that it spawns actually run?
I'm using Docker for Mac and I created a simple function that runs sleep in alpine:latest, and I didn't see any containers in docker ps, so what am I missing?

loud briar
finite shore
# loud briar There's some info on architecture/execution here: https://docs.dagger.io/manuals...

Thanks. I read this. I wish it was more detailed. So from what I understand here is that it all runs inside the Engine container. I'm asking because I'm thinking how resource management would work. Questions like: How would I run multiple functions in parallel on multiple machines, etc... in my company we have a pretty large amount of Azure DevOps pipelines (god help us) and so I'm trying to understand how it would "translate" in terms of execution/lifecycle

#

Thanks!

patent slate
#

Suggestion for the server here: Change the "Node" channel to "TypeScript". (?) 🙂

slender charm
#

Thanks. I read this. I wish it was more

chilly arch
clever mesa
clever mesa
terse storm
#

this is only achievable on dagger cloud?

#

or there is some work going on ?

narrow nymph
#

There's also the tui visualization, but yes, the only way to visualize pipelines graphically is through dagger cloud - in the last community call we also shared the new visualizations for dagger modules which have a slightly different style and flavor to them

#

Hope that helps!

clever mesa
#

With dagger@v0.11.0 logs lost colors in github actions or other CI.
any idea to fix this?

elfin frigate
#

odd, will look into it

main spear
#

Just some feedback to the breaking changes in v0.11.0. https://github.com/dagger/dagger/releases It isn't clear from a readers perspective what actions I need to do to mitigate this breaking change.

We're running a shared dagger-engine which is why this is problematic.

Do i need to update my clients first so that my engine still is v0.10.3, but the clients are v0.11.0, or the other way around.

Cheers

GitHub

Application Delivery as Code that Runs Anywhere. Contribute to dagger/dagger development by creating an account on GitHub.

clever mesa
# main spear Just some feedback to the breaking changes in v0.11.0. https://github.com/dagger...

it should update both. once client dagger version updated, the dagger-engine version should be same.
cause graphql may changes.

I build the shared dagger-engine in my projects.
Now I have to setup 2 dagger-engines. one for v0.10.0, another for v0.11.0.

Here is an version from engine.Version to route client to the correct remoute dagger-engine,
but it not always returns the correct version.

loud briar
#

Wondering if there's a way to improve the user experience of optional args in dagger call func --help. Right now there's no way to determine which args are required vs optional, even if an argument has a default value in code. Could this be done such that args with no defaults are marked required, args with defaults are marked optional?

Guessing this is an engine change rather than SDK-specific?

Current:

Flags:
    --args strings    Additional arguments to pass to the command
    --path Directory    Path to source directory

Ideal:

Flags:
    --args strings Optional    Additional arguments to pass to the command
    --path Directory Required    Path to source directory

I think it'd also be an improvement if required args are always above optional arguments - at the moment my --args is above --path despite being the optional arg

rain oriole
#

Not SDK specific. It's a CLI change.

thorn scaffold
#

is dagger init deprecated?

#

for some reason dagger doesn't recognize the init argument

ocean karma
#

Anyone having a problem with ZSH, on macos, when the dagger completions is loaded?

happens since update to dagger cli v0.11.0

i had to kill the dagger process to get back to my shell.

lapis slate
#

Dagger presentation at DevOps Days Portugal

humble sage
#

Is there a way to use dagger on macos without Docker Desktop ? Iow with colima for instance ?

I get error getting credentials - err: exec: \"docker-credential-desktop\": executable file not found

chilly arch
#

**Anyone going to Open Source Summit NA next week? ** 👋

@slender star will be there, so make sure to say hi.

We're hosting a meetup on Tuesday too, which is only a 7-min walk from the conference.

We'll be building modules together, and our friends from Pulumi and Chainguard will be there too!

**RSVP here: **https://www.meetup.com/dagger-pnw/events/300218297/

humble sage
#

Is there any OSS stuff that works ? IOW, could I make colima work ?

#

Are there any good practices to test the modules/functions being built ?

If we treat CI/CD as code, we do want to test its code, right ?

tired moth
#

Can we write k8 yaml files or kubectl commands through dagger? Like the same as docker file commands

sharp marsh
tired moth
sharp marsh
tired moth
humble sage
sharp marsh
#

Colima errors

barren vapor
#

does anyone know what are the current sdks being developed or its mainly going to be community based for other languages ?

tired moth
tired moth
# sharp marsh What are you trying to do exactly? Generate k8s manifests? Or run kubectl on exi...

Is this the correct video to learn it?
https://youtu.be/u1Q6RNaQHTY?si=1d5M5UkoNp6vj3Uh

In this demo, Marcos shares his experiences with running Kubernetes in Dagger and explores different possibilities for testing pipelines.

Want to ask the presenter a question about the demo? Join us on the Demo Discord Forum here to discuss this specific demo:
https://discord.com/channels/707636530424053791/1120935751069208699

▶ Play video
thorn scaffold
#

gotta test run 100+ variations of a deployment (terraform infra + ansible provisioning). what would you guys use to automate this?

white zephyr
#

Does anyone know of some complete dagger examples that are cicd production ready for a language like go or typescript?

sharp marsh
sharp marsh
thorn scaffold
sharp marsh
thorn scaffold
white zephyr
white zephyr
#

could the source code from this video be shared? it was really good I just dont see a repo https://www.youtube.com/watch?v=P3RI0H6Oma0

Emmanuel Sibanda, a software engineer, dives deep into his journey of building a multi-stage CI/CD pipeline triggered through a GitHub action workflow, leveraging the power of Dagger. He uses Dagger for his project to facilitate the automation of tasks such as linting, formatting, and unit testing using Python and JavaScript SDKs. Watch the demo...

▶ Play video
slender star
#

@fierce sandal 👆

sharp marsh
tired moth
patent slate
#

I don't want to write k8 menifest (yaml

white zephyr
#

what do I need to do to delete my local dagger cache?

slender star
#

what do I need to do to delete my local

exotic spade
#

Is there a good idea to use Dagger as our devserver as well? So it would create a new function that would call most of the pipeline and then serve the containers as services... is that the right tool for the job or I'm just wrong in thinking that? ahah I guess we would need a long-running service as part of the "pipeline" and would need it to hang there

exotic spade
white zephyr
#

How do I use daggerverse? I have dagger setup locally.

slender charm
#

How do I use daggerverse? I have dagger

#

bass/dagger/main.go at main · vito/bass

white zephyr
#

what should I do to to daggerize this basic csharp pulumi demo app? I ran dagger init but I am unsure how to get linting or tests on this going.

rain oriole
fallen temple
#

Dagger Product Update

👋 We recently released a new view for Dagger Cloud: Traces. This new view makes it a lot easier to get to the root-cause of why something failed and to find performance bottlenecks. You can watch the demo @elfin frigate gave at the last community call and learn more about Traces in this blog post: https://dagger.io/blog/introducing-dagger-traces

Traces show up in the new v2 UI, which you can toggle on in the header. You must use Dagger v.0.11.0 or later to see your runs in Traces. If you're using older versions of Dagger, your runs show up in the v1 UI (Runs views).

We're regularly improving the UX, and we're looking for feedback to make it better.

If you don’t have a Dagger Cloud account, create one for free - https://dagger.io/pricing.

I'll start a thread in this channel for feedback.

Powerful, programmable CI/CD engine that runs your pipelines in
containers — pre-push on your local machine and/or post-push in CI

tired moth
slender charm
tired moth
onyx hill
#

hi, i was wondering if anyone has gotten dagger working for a pre-commit workflow? i suspect it might be more flexible compared to the python-based pre-commit because of its DAGs and containerization

patent slate
onyx hill
#

the big thing is that it ensures that the actually deployed manifests and their corresponding source manifests are in-sync in the same commit

#

the build process requires a lot of tools to be installed on the developer's computer however (kustomize, helm, python, pdm, etc...), have been considering dagger

stoic knot
# onyx hill hi, i was wondering if anyone has gotten dagger working for a pre-commit workflo...

I'm about to re-enable one today. We are using dagger to switch over to containerized Go builds. Our existing pre-commit hooks run one of those Go builds before doing something with that binary in the pre-commit hooks.

I rolled it out earlier, but people got upset because it took crazy long times (because they had multi-GB files laying around their repo). I've added a size filter, but the experience reminded me that you have to keep pre-commit hooks fast generally.

Generally, being able to build small, tool based containers, without having to name, version, and publish them... it's really nice

white zephyr
#

does anyone have any suggestions on a good way to describe "Directed acyclic graph" to a non technical audience?

patent slate
white zephyr
#

oh man. imagine a dagger use case handling all of the container orchestration kubernetes does 😮

patent slate
#

No thanks. That's not what Dagger was meant to do.

white zephyr
#

I stand corrected

toxic knot
#

Hello folks. First thanks for creating dagger. It is pretty awesome.
Second, not sure where to ask this but are there any plans to support remote modules that aren't hosted in github? Say gitlab including the self hosted version of it? Is there a road map I can take a look at? Thank you!

slender charm
narrow nymph
thorn scaffold
#

any collected set of examples and best practices?

chilly arch
chilly arch
thorn scaffold
chilly arch
#

Hey everyone! Community call is starting now. Join us here - https://dagger-io.zoom.us/webinar/register/8517071155537/WN_j_xRpP1ASb6xrM4AiRKRnA

slender star
#

👋 Hi everyone on the community call! I'm in Portland, Oregon, USA

analog raven
#

Hello! Joining in from Vancouver, Washington, USA

lapis slate
#

Hello, everyone!
Joining from Porto, Portugal!

winter linden
#

Good morning from San Francisco 🌉🌁

#

I love the integration tests use case, I'd say that's very much in scope for Dagger.

chilly arch
#

+1 It is great to see additional use cases like this!

slender star
winter linden
#

Nice demo @swift bronze 👍

slender star
slender star
#

High-level synthesis (HLS), sometimes referred to as C synthesis, electronic system-level (ESL) synthesis, algorithmic synthesis, or behavioral synthesis, is an automated design process that takes an abstract behavioral specification of a digital system and finds a register-transfer level structure that realizes the given behavior.Synthesis begi...

chilly arch
slender charm
#

There are two in there

winter linden
#

Next step: run Dagger on a FPGA? 🙂

#

Would be cool if we could pass that device as an argument

barren vapor
#

cool module good job

winter linden
#

Great demos this week 😁

chilly arch
slender star
#

@thick igloo Great demo! Super curious to see what's in those blinky files to make an LED blink 😄

thick igloo
barren vapor
#

@thick igloo it would be really cool if you can stream on twitch too

winter linden
#

Now we all know what to do if we can't get a hold of you @slender charm 😛

#

Thank you all!

barren vapor
#

I joined a little bit late but thanks for the two demos 🙂

chilly arch
#

Thank you so much @thick igloo , @swift bronze and @slender charm for your demos today! I'll share the full recording as soon as it is done processing.

barren vapor
#

@thick igloo this question might be stupid, but do you use V at work ?

thick igloo
#

@dciangot it would be really cool if you

thick igloo
#

Device pass through

chilly arch
winter linden
slender star
#

Services | Dagger

thorn scaffold
#

can I run a python function in a container from within a dagger module being written with the Python SDK?

#

so within dagger_module.py I would have a dagger function run_in_container that takes a non-dagger function my_function and runs it in a container

thorn scaffold
#

ah nvm, this is what dagger does by default

thorn scaffold
#

hm, I've added packages to the python dependencies in pyproject.toml but I'm just getting an error saying main requires these packages

#

any clue how to fix this?

winter linden
thorn scaffold
#

huh manually calling uv fixed this

thorn scaffold
#

where does a file passed into a dagger function stay in the module's container?

thorn scaffold
#

should sending the query { currentModule } to dagger return the module I've created with dagger init?

winter linden
thorn scaffold
#

thanks!

rain oriole
#

Python dependencies

thorn scaffold
#

the standard way to update dagger on linux is to rerun the linux installation instructions right?

thorn scaffold
#

hm. how would you implement the following workflow?

  1. you dagger call a dagger function
  2. that function begins doing its work in a dagger container (this is just the default behaviour)
  3. that function starts another different dagger container, but on the host, which begins doing some work
#

so at the host level you have two containers doing work in parallel, one of these containers having started the other (and these containers are not within each other)

winter linden
#

Yeah that is the most standard, simple thing in the world with Dagger. You just call the Dagger API from your dagger function, and orchestrate any number of container operations in that way

#

You can do this at arbitrary depth: containers running containers running containers. The containers will be logically nested, but the host system will only see a flat list of containers, all started by the dagger engine. So you don't encounter the usual issues with nested linux containers.

thorn scaffold
thorn scaffold
#

hm, any clue why with_exec["apk", "update", "&&", "apk", "add", "curl"] fails to install curl but with_exec["apk", "update"].with_exec["apk", "add", "curl"] doesn't?

latent fable
winter linden
latent fable
#

What does dagger develop actually do? When I was going through the quickstart for v0.10 and realized that to switch from writing the new CLI back to TypeScript I needed to codegen 50 SDK files, I was mega-turned off since that seemed like an absurd amount of stuff to commit to my repo. I'm starting to suspect that the SDK would actually be added to gitignore and wouldn't be needed just to run dagger call against a local module, but I'm still curious what codegen is actually needed for. (I've previously experimented with running the dagger client from deno, and this was very exciting since you can have just a single typescript file which imports modules by URL inline, and have TypeScript LSP support from denols without needing a package.json, tsconfig, etc.)

fierce sandal
thorn scaffold
#

any way to get a log of stdout from the entire run of the container?

#

sort of like docker logs

latent fable
#

Wondering about passing a directory to a dagger function and excluding (e.g.) node_modules. Does dagger respect gitignore when uploading host directories to containers, or is there an exclude key in dagger.json? This page in the Python docs suggests both are needed, but I can't find any documentation an exclude key in dagger.json so far

To get your IDE to recognize the dagger Python module and any added Dagger module dependencies in the generated client, install the Python SDK in a virtual environment from the generated ./sdk directory, as shown below:

loud briar
# latent fable Wondering about passing a directory to a dagger function and excluding (e.g.) no...

Pretty sure that page is only referencing module contents, not passing dirs as arguments to functions. That exists in the SDK (.directory(".", exclude=["node_modules"])) but (I think) is unfinished for functions - the issue is here: https://github.com/dagger/dagger/issues/6155 and the PR here: https://github.com/dagger/dagger/pull/6857

GitHub

An idea that has been looked at (and rejected) in the past are a dagger.ignore file. Other approach could be to use some sort of include / exclude patterns on CLI, though it may be verbose/complex ...

GitHub

Fixes #6155
Adds support for views as described in the linked issue to support filtering individual directory args.
This PR also includes new CLI subcommands under dagger config for configuring vie...

latent fable
thorn scaffold
maiden cloud
#

Hello everyone,
I am currently working on experimenting moving an existing GitlabCI pipeline to a Dagger module with a set of functions.
While digging in the doc, I encoutered this: https://docs.dagger.io/integrations/734201/gitlab

where there is a sample of YAML for GitlabCI:

.docker:
  image: alpine:latest
  services:
    - docker:${DOCKER_VERSION}-dind

but as far as I can tell the docker:dind service is only available when using docker itself as base image of the given stage.
Is this a refuse in the doc or is there a feature of GitlabCI which I am not aware of?
(Running the stage on public Gitlab CI actually fails)

The following code sample demonstrates how to integrate Dagger with GitLab CI.

maiden cloud
loud briar
#

GitLab CI | Dagger

thorn scaffold
#

hm, otherwise is there any way to debug containers? edit: see thread above for tips on how to debug

thorn scaffold
#

can I chain modules in the CLI? otherwise, any way to pass a container from one module to another (in the CLI)? maybe publish locally?

slender charm
thorn scaffold
#

am trying to setup a local registry in order to do this

#

ah that's the whole point of ttl.sh

viscid oxide
#

How many folks are attempting to use a single Dagger invocation to execute their entire CI process, vs executing multiple different functions via CLI? My dream since I first heard of Dagger was to replace all the things I hated about working with existing CI providers with a dagger run where everything was driven under the hood by a real language in a powerful engine.

I share @maiden cloud 's current frustration expressed above, and I ended up here again after frustration with Gitlab, attempting to troubleshoot some very long builds with child pipelines where error after fiddly little error keeps preventing progress (and 45-minute cycle times to try out each change, yay!). Very painful.

Being able to run every part of a dagger pipeline independently is really cool, and being able to run all of it locally is really cool. But I'd like to reach the stage where I never have to trust CI provider behind-the-scenes magic to make anything work, even if it takes a lot of my own effort. How likely is that to be a reality? 🤔

thorn scaffold
#

pretty likely if you ask me

chilly arch
mortal yacht
#

I have a issue with dagger and kubernetes (my local cluster)...

dagger query <<EOF
{
    container {
        from(address:"alpine") {
            withExec(args: ["uname", "-a"]) { stdout }
        }
    }
}
EOF

runs endless, and in the pod logs I see:

failed to JSON-unmarshal x-dagger-client-metadata: json: cannot unmarshal object into Go struct field ClientMetadata.labels of type []pipeline.Label
narrow nymph
#

aha - this looks like a known issue where you have a mismatch of dagger versions between client + server

#

i'd recommend making sure that both local and kubernetes versions of dagger are on the latest version, v0.11.1

mortal yacht
#
❯ dagger version
dagger v0.11.1 (registry.dagger.io/engine) darwin/arm64
#
image: registry.dagger.io/engine:v0.9.10
#

I installed it via Helm charts from oci://registry.dagger.io/dagger-helm

#

Thanks

sharp marsh
chilly arch
#

Thank you again to all of the April Community Call speakers!

If you missed any of their demos, you can check them out in the demo forum posts. Feel free to ask the speakers questions directly in the posts:

https://discord.com/channels/707636530424053791/1232432452304375878
https://discord.com/channels/707636530424053791/1232429592434708592
https://discord.com/channels/707636530424053791/1232404739207991347
https://discord.com/channels/707636530424053791/1232393969187688530

Last but not least, we introduced Dagger Traces during the community call this month too. You can check out the summary/demo here:
https://dagger.io/blog/introducing-dagger-traces

winter linden
green leaf
# slender charm Maybe we can do it live!?

You might get it functional because it uses PyTorch underneath, but you’ll be stuck to CPU only without an MPS driver and mounting the MPS device into the container https://chariotsolutions.com/blog/post/apple-silicon-gpus-docker-and-ollama-pick-two/

If you've tried to use Ollama with Docker on an Apple GPU lately, you might find out that their GPU is not supported. But you can get Ollama to run with GPU support on a Mac. This article will explain the problem, how to detect it, and how to get your Ollama workflow running with all of your VRAM (w

#

The way that ollama gets around this is that they run a native binary not in a container to access the m series GPU

winter linden
#

MPS device

pine crag
#

@warm temple in the workshop you did here: https://www.youtube.com/live/1vHrf7-D3oI?si=EIGWX8xfM4hOSaH8&t=6275 for the frontend you ran dagger -m dagger/frontend call run --source=./website up --ports=8081:80 to forward the port but for the backend just dagger -m dagger/backend call run --source . up and yet the backend service was accessible by curl localhost:8080 - why is that we didn't have to expose the port like we did for the frontend?

warm temple
winter linden
winter linden
chilly arch
pine crag
#

Where can I read up about all the primitive types in Dagger which I can return from the Dagger functions I write?

narrow nymph
#

We support boolean, int, float and string

white zephyr
#

does anyone have any examples of using dagger with mlops workflows?

timber sphinx
#

🌐 daggerverse.dev isn't responding

formal copper
#

hei guys, does anyone have examples of using dagger with spring boot ?

winter linden
#

Spring

timber sphinx
#

was looking at ranchers repo for dagger calls and they even have mage calls for dagger. Neat!

i have a lot vested in mage so might inspire some quicker adoption for me to see where I can reuse stuff with less effort 💪

https://github.com/rancher/opni/blob/a4916c088ac0d1e94d56c2469e21b7b088a0be98/dagger/main.go#L295C1-L298C37

GitHub

Multi Cluster Observability with AIOps. Contribute to rancher/opni development by creating an account on GitHub.

white zephyr
#

seeking dagger with webassembly direction to start in

paper glen
#

have someone some advice how to use trivy scan with codegen on images from gitlab - Am pythonist

sharp marsh
paper glen
# sharp marsh hey! seems to me that you could use trivy's module for that: https://daggerverse...

Yes, codegen is sdk for python https://daggerverse.dev/mod/github.com/helderco/daggerverse/python-codegen@19fc1ebe1691563c260b86bd2ef58064560e4c31
its here in my tree:

├── pyproject.toml
├── requirements.lock
├── sdk
│   ├── codegen
│   │   ├── pyproject.toml
│   │   ├── requirements.lock
│   │   └── src
│   │       └── codegen
│   │           ├── cli.py
│   │           ├── generator.py
│   │           ├── __init__.py
│   │           └── __main__.py
│   ├── LICENSE
│   ├── pyproject.toml
│   ├── README.md
│   └── src
│       └── dagger
│           ├── client
│           │   ├── base.py
│           │   ├── _core.py
│           │   ├── gen.py
│           │   ├── _guards.py
│           │   ├── __init__.py
│           │   ├── _otel.py
│           │   └── _session.py
│           ├── _config.py
│           ├── _connection.py
│           ├── _engine
│           │   ├── conn.py
│           │   ├── download.py
│           │   ├── __init__.py
│           │   ├── progress.py
│           │   ├── session.py
│           │   └── _version.py
│           ├── _exceptions.py
│           ├── __init__.py
│           ├── log.py
│           ├── _managers.py
│           ├── mod
│           │   ├── _arguments.py
│           │   ├── cli.py
│           │   ├── _converter.py
│           │   ├── _exceptions.py
│           │   ├── __init__.py
│           │   ├── _module.py
│           │   ├── _resolver.py
│           │   ├── _types.py
│           │   └── _utils.py
│           └── py.typed
└── src
    └── main
        └── __init__.py
sharp marsh
#

python-codegen :: Daggerverse

stuck wyvern
#

Seems like the dagger CLI output format is different now?

sharp marsh
stuck wyvern
stuck wyvern
winter linden
#

Good to see you on the discord again @stuck wyvern !

winter linden
# stuck wyvern Sad to see that go, I really liked the dag view

I believe the same information is still visible now. The only difference is "trailing" info about finished calls. Previously, finished calls stayed on the screen. Now only active calls are visible. I don't think any "DAG" information was lost. The "merge back" arrows were now actually references, they were time-based. So a different rendering of the same info. I could be wrong

thick igloo
#

Very excited to hear that @dciangot is

elfin frigate
elfin frigate
winter linden
#

@stuck wyvern how's the moby packaging project going? I'm curious how it could benefit from Dagger Functions

stuck wyvern
# winter linden <@500451181911343105> how's the moby packaging project going? I'm curious how it...

At the moment its just chugging along.
Not really any changes except the occasional sdk bump.
We plan to move the actual definitions to use the spec from https://github.com/Azure/dalec
Not sure what that's going to look like at execution time.

GitHub

📦 Produce secure packages and containers with declarative configurations - Azure/dalec

slender star
#

Hi all! Excited to be back in the host's seat for the Dagger Community Call tomorrow! See you all there 😁

Content on Argo Workflows, RAG AI, and debugging pipelines 🚀
https://dagger-io.zoom.us/webinar/register/3917073295766/WN_j_xRpP1ASb6xrM4AiRKRnA

fossil pine
#

I think I have everything to build a GitOps delivery workflow with Dagger. Haven't put it together yet, so if anyone wants to see me sweat in live, I can stream it somewhere. 😄

fossil pine
acoustic current
#

Is there any chance it will be recorded? It’s late for me

fossil pine
#

No recording, but this is just me trying to wire this together. I'll probably demo it sometimes without having to worry about if it works or not. 😄

fossil pine
#

I'm not going to post this on GitHub, because it's crap, but here it is:

package main

import (
    "context"
)

type Kubefleettest struct{}

func (m *Kubefleettest) UpdateVersion(ctx context.Context, sshKey *Secret, githubToken *Secret) error {
    git := dag.Git(GitOpts{
        SSHKey: sshKey,
    })

    // Clone the repository
    // TODO: bust cache before cloning the repository
    dir := git.Clone("git@github.com:sagikazarmark/my-kube-fleet.git").Directory()

    // Make the change
    dir = dir.WithDirectory("myapp", dag.Kustomize().Edit(dir.Directory("myapp")).Set().Image("nginx=1.21").Directory())

    // Commit changes and push to a new branch
    _, err := git.Load(dir).
        WithCommand([]string{"checkout", "-b", "update"}).
        WithCommand([]string{"add", "myapp/kustomization.yaml"}).
        WithCommand([]string{"config", "user.email", "mark.sagikazar@gmail.com"}).
        WithCommand([]string{"config", "user.name", "Mark Sagi-Kazar"}).
        WithCommand([]string{"commit", "-m", "update nginx to 1.21"}).
        Command([]string{"push", "--force", "origin", "update"}).Output().Directory().Sync(ctx)
    if err != nil {
        return err
    }

    // TODO: Mount a directory to the container to allow using fill and other parameters
    // TODO: add cache busting
    _, err = dag.Gh(GhOpts{
        Token: githubToken,
    }).Exec(
        []string{
            "pr", "create",
            "--head", "update",
            "--title", "Update nginx to 1.21",
            "--body", "Update nginx to 1.21",
        },
        GhExecOpts{
            Repo: "sagikazarmark/my-kube-fleet",
        },
    ).Sync(ctx)
    if err != nil {
        return err
    }

    return nil
}
#

Modules used:

    {
      "name": "gh",
      "source": "github.com/sagikazarmark/daggerverse/gh@a7addb5a2ae6cef541a75072238df99e14e0e0af"
    },
    {
      "name": "git",
      "source": "github.com/sagikazarmark/shykes-git@b973be02cade81399d3431fcde4b4dc8b6b9b26a"
    },
    {
      "name": "kustomize",
      "source": "github.com/sagikazarmark/daggerverse/kustomize@a7addb5a2ae6cef541a75072238df99e14e0e0af"
    }
#

Lesson learned: it's easy to forget about caching, until it bites you. 😄

raven stag
#

Hey! Just curious. Is there any sort of public roadmap on a high level for the project? 👼

analog raven
#

Hey everyone! Reminder that our community call starts soon. See you all there!

https://dagger-io.zoom.us/webinar/register/1117073474198/WN_j_xRpP1ASb6xrM4AiRKRnA

sharp marsh
#

👋 we're starting in a minute 🙏

warm temple
#

chat here 👇

analog raven
#

Hello! Joining in from Vancouver, WA, USA!

sharp marsh
#

👋 Marcos from 🇺🇾

narrow nymph
#

Heya y'all ❤️ Justin from the UK here 😄

split olive
#

Greetings from Switzerland

cunning jolt
#

Nipuna From Fort Worth, TX, USA

stray steeple
#

Hi from Iowa!

lapis slate
#

hello from Portugal everyone

timber crater
#

I'm in California today

inland coral
#

Hello from Menlo Park CA

warm temple
#

Michigan here 🥊

timber crater
inland coral
analog cape
#

chat here then 🙂 ...from Chocolate land

timber crater
#

@inland coral : I'm in los altos and I have to go to Ikea today

#

@analog cape Chocolate like Venezuela or Chocolatelike Mexico?

analog cape
#

@timber crater like Switzerland 😉

cunning jolt
#

Justin, could you please move the zoom user list from the middle of your screen or minimize it? It's covering your IDE

slender star
#

👋 Portland, Oregon!

fallen temple
#

Durham, North Carolina here

analog cape
#

👏

#

come on ... what could ever happen showing a token on screen 😈

timber crater
#

"The road to hell is paved with the latest tag"

#

This is very nice, @warm temple !!!

analog cape
#

👏

warm temple
analog cape
#

nice demo in ... more than 5 minutes 😇

warm temple
#

I would say in this case, especially since we're not depending on any specific alpine packages or anything, latest is more appropriate than a tagged version because you're less likely to introduce a CVE

timber crater
warm temple
#

if we were talking about an alpine container inside the execution context (the dagger part) of our pipeline, I'd lock it to a sha to ensure repeatable outputs

timber crater
#

@sharp marsh , nice diagrams btw

warm temple
#

GPT ools or GP Tool

#

🤯

timber crater
#

Oh, this is very nice

#

I have a rather urgent, personal use case for this... I'll DM you @sharp marsh

warm temple
#

youtube-dl 🙈

analog cape
#

what a coincidence 😇

timber crater
#

🧨 🤯 🚀

warm temple
#

this is really magical

#

The AI does not know me 😂

timber crater
#

the 1983 me is really glad that I lived long enough to see this.

analog cape
#

hmm ... does it "translate"?

#

like, question in a different language for an EN video, and the other way

timber crater
#

Python all the things.... 🧐

analog cape
#

👏

timber crater
#

...of course....

timber crater
#

Is anyone going to Pycon in Pittsburgh?

analog cape
#

thanks a lot

#

great demos

swift inlet
#

Bravo ! 😍

slender star
timber crater
#

KOH HO NUDO !!

sharp marsh
#

here's the article I mentioned in my presentation: https://kenkantzer.com/lessons-after-a-half-billion-gpt-tokens/

My startup Truss (gettruss.io) released a few LLM-heavy features in the last six months, and the narrative around LLMs that I read on Hacker News is now starting to diverge from my reality, so I thought I’d share some of the more “surprising” lessons after churning through just north of 500 million tokens, by my […]

timber sphinx
#

If you wanted to orchestrate some port forwards to the host for a developer as one specific part of a set of dagger available functions instead of requiring kubectl on host could use use services and coordinate all the port forwards? This is exploratory work on where dagger would make sense vs tilt for development debugging and orchestration. So just interested in seeing if it would be a good use in your mind or wrong type of automation. Maybe also any experiments anyone has done on serving locally on https and easing encrypted local traffic with no fuss?

warm temple
timber sphinx
fierce sandal
#

Just wanted to get opinions on this build, are there any things I am potentially overlooking or limitations to Dagger that could make this impractical?

My wife and I aren’t great at managing our expenses. We have tried a few free budgeting tools, spreadsheets etc, but I am convinced that what would help us is receiving an SMS every 3 days with actionable insights on our spending habits & personalized tips based on our changing financial goals.

As a solution to this, I am looking into building a pipeline of Dagger methods that are triggered by a lambda function every 3 days. The Dagger methods would;
i.) receive financial data (ie. personal transactions),
ii.) POST the data to a database
iii.) retrieve current and historical data from the DB
iv.) send this data to an LLM model to generate insights regarding my spending habits and actionable insights based on my spending/saving goals

The output would be received by a Lambda function that will trigger Twilio to send an SMS to me and my wife with this output.

Justification for using Dagger
Because Dagger is running everything in containers, I know everything is running in isolation, this seems beneficial for security especially since I am dealing with sensitive data. I can pass the output from one method to another so it would be easier to identify and fix points of failure. I can use Dagger’s secret management to handle API keys for my DB, Twilio etc and I know that if an error occurs somewhere in the pipeline because of Dagger’s caching, the process can be resumed from the last cached point.

winter linden
fossil pine
slender charm
slender charm
fossil pine
fierce sandal
tired moth
#

After the functions feature, what are bigger things coming in the dagger?

keen brook
#

Hey folks! 👋

After the recent functions release, I (finally) fell in love with Dagger. Great stuff!

I spent a bunch of time digging into the implementation details, and now I can't help but think of creating a small practical introduction to Dagger on my pet learning platform (https://labs.iximiuz.com/). Wonder if there might be any objections? I looked at https://dagger.io/trademark-guidelines, and it's quite a restrictive document, so I'm a bit worried that I may put a lot of effort into it and then someone would ask me to take it down.

Cheers
Ivan

sharp marsh
sharp marsh
winter linden
# keen brook Hey folks! 👋 After the recent functions release, I (finally) fell in love wit...

Thanks for the kind words! Most of the restrictions in our trademark policy are specific to redistribution of our software. Besides that, you are free to use our name in your material as long as it's not confused with official material by Dagger.

We love it when the community writes articles and learning material about Dagger, and will gladly help you produce and advertise it. Thank you!

#

Also if you found specific parts of the trademark policy confusing, please open an issue and we will address it!

keen brook
# winter linden Thanks for the kind words! Most of the restrictions in our trademark policy are ...

Thank you for your answer! Appreciate it!

Let me clarify my concerns a bit. On my "learning platform" I'm trying to provide the learning-by-doing experience. In addition to textual and visual materials, there is also a number of hands-on playgrounds (https://labs.iximiuz.com/playgrounds/) and interactive challenges (https://labs.iximiuz.com/challenges). So, I'm particularly concerned that I'll need to create a page with the title "Dagger Playground" that will give students (free) access to an ephemeral VM that has Dagger pre-installed. In particular, I'd need such a playground for Dagger-related challenges (e.g., "Can you write a Dagger module to build this project?") that would augment my written materials, and hopefully help people start practicing Dagger faster.

I don't think that there is any threat to your trademark, but on the other hand, some "software" part is involved, so I wanted to double check.

white zephyr
white zephyr
# keen brook Thank you for your answer! Appreciate it! Let me clarify my concerns a bit. On ...

I use Iximiuz labs for training on advanced containerization tooling and getting dagger challenges on that platform will be a great way to expose thousands of other devs on how to use dagger. I have been struggling with various issues with dagger in my experiments lately and I think it is basically my lack of experience with the patterns needed in either python or go to get a pipeline quickly setup on my own. for example, I can't get this example go pipeline to work with the commands given despite trying to get it to work for a few hours. https://www.youtube.com/watch?v=RgE7Y2Lvxro&t=3624s

Application delivery doesn’t have to suck. Solomon Hykes joins Nirmal and me to talk about Dagger and their application delivery-as-code that runs anywhere.
Reminder we're on Eastern Standard Time (EST) now here (UTC -5). Click Notify Me 🔔 so you get notified.

⭐️A special thanks to this episode's sponsor, Uffizzi!⭐️

👀 Uffizzi is a platfo...

▶ Play video
white zephyr
slender star
#

Dagger. Do We Need It? (Ep 241)

stuck wyvern
#

Otel strikes again

internal/telemetry/proxy.go:50:14: cannot use proxySpan{…}

slender star
#

@cloud canyon 👆

sturdy bluff
#

Hi folks, Does anyone have experience cache busting dockerfile builds?

We build multi platform images using the go sdk's FromDockerfile and I've been experimenting with varying placements of WithEnvVariable("NOW", time.Now().String()) and WithDefaultArgs([]string{"--no-cache", "-v"}). without any success so far (each step in dockerfile during build is cached)

chilly arch
winter linden
# keen brook Thank you for your answer! Appreciate it! Let me clarify my concerns a bit. On ...

That shouldn't be a problem. As long as it's not confused with official material, and your environments use an official build of Dagger, I don't see any reason it would infringe. We are happy to get on a call with you and double-check together, to put your mind at ease. We've never enforced our trademark in relation to learning material (that I know of), it would take something really drastic and obviously bad for users to do so.

I think the more relevant topic for you, is whether we can invest more resources to help you, like starting an official partnership program around teaching Dagger. That's something we've discussed before. I'm sure @chilly arch and @slender star will be happy to talk about that with you as well!

keen brook
# winter linden That shouldn't be a problem. As long as it's not confused with official material...

Great, sounds reassuring! 🙂

The plan was to use only official Dagger builds and "standard" installation methods since the goal is to get people started with Dagger faster (and not confuse them with extra magic). Official partnership sounds very interesting, would very much like to discuss it in the future. For now, I'm already happy that there won't be any trademark concerns 🙌

So, here it goes then:

Baby steps 🙂

keen brook
fossil pine
slender charm
#

Otel strikes again

sand gorge
#

I'm giving a 4 hour Dagger workshop in about 8 weeks time!

#

🔪 Cutting edge pipelines with Dagger and PHP

#

I'm gonna need some support/help on what are the right topics, end-to-end, to teach people, to get me started

I'm also happy to then convert that to non-PHP and take Dagger into other communities, as we progress into 2024, so it's a worth while investment of your time, helping me 😄

daggerfire 🤘

fossil pine
#

Happy to help!

I'm actually looking at improving PHP support (ie. build some modules) in Dagger.

vivid mango
#

Okay, I've been trying to use dagger for a while, because I love the idea of compartmentalized and modular build components, but... I just can't continue with it. I'd like to share my feedback. Maybe I'm doing smth wrong and someone will guide me through...?

chilly arch
#

PHP workshop

#

Daggernauts, have you been wanting to tell your engineering leadership about Dagger?

We have a few invites remaining to an event we're doing May 22nd in SF with Redpoint Ventures for senior engineering leaders, where Solomon will share his vision for the Software Factory of the Future.

If you are interested, please DM me for the invite link.

white zephyr
#

I think Solomon should know I see a a 90.4% codebase refactor upgrade potential with dagger 😅 jk. sort of.

loud briar
#

I think Solomon should know I see a a 90

fierce sandal
#

This is a two-pronged question/observation;

  1. How is the description populated? I published a Typescript module. There is no description long or otherwise:
    https://daggerverse.dev/mod/github.com/EmmS21/daggerverse/createSvelteTests@7e849aa2b637867da05d00a5bf3391cbddd1c2f0
    Despite the code I pushed having multi-line comments right after I declare the class name for the module:
    https://github.com/EmmS21/daggerverse/blob/main/createSvelteTests/dagger/src/index.ts
  2. For one of the modules I built, I published the module while it still contained auto-generated comments. Even though I have since changed the description, the changes are not reflected in the Daggerverse:
    https://daggerverse.dev/mod/github.com/EmmS21/daggerverse/runTests@841e041068a19582e35cd6f56bf4f12df9d6ea0a
    GH: https://github.com/EmmS21/daggerverse/blob/main/runTests/dagger/src/main.py
GitHub

A Dagger module to run unit tests implemented using Jest in a containerized environment on a NodeJS project - EmmS21/daggerverse

GitHub

A Dagger module to run unit tests implemented using Jest in a containerized environment on a NodeJS project - EmmS21/daggerverse

slender star
#
  1. The descriptions are at the top of the module. When you dagger init and dagger develop --sdk typescript you'll see the sample short description as the first line of the comment block, and the long description as the rest of the comments in that block. You're doing it in the Python module we're talking about in item 2, just not at all in item 1 at the git sha you referenced. Didn't look to see if you fixed it in main branch.
#
  1. I see that you've updated your top comments in the main branch https://github.com/EmmS21/daggerverse/blob/main/runTests/dagger/src/main.py at commit 92f8dd7bb050c21099f1eb2b3c590766d8ad01f1but I'm guessing you haven't published that version to the Daggerverse yet.
    edit: We'd made Daggerverse only show tagged modules, but will likely go back to showing both tagged (released) modules and pre-released/in-development modules, with perhaps different views for each.
fossil pine
stoic knot
#

seems like something that could be a dagger function 🤯

cunning jolt
#

I remember @winter linden created something similar/related recently.

fierce sandal
warm temple
fierce sandal
winter linden
#

That would be even better. It's just harder for us to do. But you could add a CI trigger that published the module perhaps?

chilly arch
stoic knot
#

I'm giving a lightning talk on Dagger next week. What are the top points you think I should make?

winter linden
stoic knot
#

I'm thinking I want to make it a bit of a "sales pitch" and cover enough problems/solutions to get them to check it out on their own

#

Would it be fair to say Dagger Functions can be used like the GHA actions you import, but you can write them in your fav language and they can use each other?

empty jay
stoic knot
#

I was doing this before I adopted dagger, which makes it easier

empty jay
stoic knot
#

Jenkins has been programmable CI forever. I think what Dagger brings is moving that programming out of the CI system and giving it back to the user

chilly arch
#

Dagger Presentations

fierce sandal
winter linden
# fierce sandal I'll look into this, thanks. Out of curiosity what are some of the barriers of u...

Basically Daggerverse is a search engine. It crawls git repositories for dagger modules, and indexes what it finds. Then you can search or browse the index.

Ideally daggerverse would instantly crawl all new commits to all repositories everywhere. But that's very costly, so we "cheat" by relying on external events:

  • You can manually trigger the crawler, either in the web app at daggerverse.dev, or with the (experimental, unstable) dagger publish command. You can run this from a dagger pipeline if you want 😇
  • When the engine loads a module, it sends anonymized analytics with the git remote of that module. Daggerverse uses those events as triggers to crawl the latest version. We call this "index on use" , similar to how go modules work
keen brook
# keen brook Great, sounds reassuring! 🙂 The plan was to use only official Dagger builds an...

Ok, the first one goes https://labs.iximiuz.com/courses/dagger/what-is-and-why-dagger?x=1. Feedback is highly appreciated!

iximiuz Labs

Is Dagger a complete replacement for GitHub Actions or Jenkins,
or is it a developer tool that only augments them?
How do you use Dagger in your project?
Is it really a game-changer for development workflow automation and CI/CD?

frozen basin
#

is the DAG view going to come to dagger v11+?

#

hadn't looked in a while, just downgraded from v11 to 10 and the dag view is killer

slender star
#

hadn't looked in a while, just

fierce sandal
slender star
#

I've built and published multiple

stoic knot
#

Is there a way to do a "FROM scratch" with Dagger?

winter linden
#

dag.Container() produces an empty container

stoic knot
fierce sandal
#

Been doing a lot of 'daggerizing' to build a pipeline to help my wife and I build better spending habits by getting SMSs with personalized advice from AI regarding our weekly spend that adapts based on our feedback

In a nutshell built a modules to:

  • get data from a spreadsheet (Tiller integration to populate the spreadsheet with data from our bank accounts)
  • compare data with data written to MongoDB database to filter for new transactions
  • use a zero shot model to categorize each transaction based on pre-defined categories and the description of the transaction
  • write the data to a MongoDB database
  • use Atlas search to aggregate the data by week and category (ie. spend per week by category with each transaction and a total for each category)
  • generate financial advice using AI based on this data. This module stores the history of the conversation in MongoDB
  • respond to AI, factoring in this feedback to modify future advice given by my generate function

Will write a more detailed blog on this soon
LinkedIn post: https://www.linkedin.com/posts/activity-7196232038717227009-vnoj?utm_source=share&utm_medium=member_desktop

patent slate
#

Sign Up | LinkedIn

raven stag
#

Hello!
We are evaluating dagger to replace our massive Jenkins setup 😅
We are using https://github.com/abiosoft/colima for local development. Has anyone had experience running dagger on top of it?

fossil pine
slender charm
#

Hello!

chilly arch
#

**🎉 Dagger Community Call Tomorrow 🎉 **

@fossil pine @fierce sandal @wispy tapir and @sage veldt will present a variety of topics at tomorrow's Dagger community call. We look forward to seeing everyone there!

Use this link to add it to your calendar: https://dagger-io.zoom.us/webinar/register/8517071155537/WN_j_xRpP1ASb6xrM4AiRKRnA

If you are a <@&1113692044158836736> fan, you'll want to see Tom's demo about the latest updates.

loud briar
#

In the early stages of planning a Dagger talk at a public event (potentially next month as part of https://technext.co.uk/). Couple of questions for the Dagger team...

fossil magnet
#

Despite reading the doc, I still struggle to understand the difference between 'dagger call' and 'dagger run'.
In which case I use one or the other ?

slender star
#

Despite reading the doc, I still

tribal zealot
#

What replacement are you referring to?

white zephyr
#

does anyone have ideas on how to explore the container volumes created during a dagger pipeline?

elfin frigate
sharp marsh
sharp marsh
sharp marsh
chilly arch
# chilly arch **🎉 Dagger Community Call Tomorrow 🎉 ** <@529485027071754273> <@1174206195045...

Dagger Community Call starting in 2 minutes. See you there! https://dagger-io.zoom.us/webinar/register/8517071155537/WN_j_xRpP1ASb6xrM4AiRKRnA

analog raven
#

Hi! Joining in from Vancouver, WA, USA today! 👋

elfin frigate
#

maybe the numbers are like 'this is daggernaut #347' since that's where the names normally show up

winter linden
#

Star lineup for today's call!

sharp marsh
#

👋 joining from 🇺🇾 🧉

winter linden
#

Good morning from San Francisco, it is foggy and cold here today but I look forward to warming up to the glow of awesome Dagger demos 🙂

elfin frigate
#

👋 hello from Toronto, where we're finally getting patio weather

barren vapor
#

Hi, joining from 🇫🇷

queen bramble
#

Hey all! Greetings from Karlsruhe, 🇩🇪 !

split olive
#

Salut. Joining from Switzerland.

worthy dove
#

hey everyone , i'm utkarsh joining from india 🇮🇳

wraith niche
#

👋 from CA, USA 🧉

fierce sandal
#

Hello from NYC

slender star
#

Hello from Portland, Oregon, USA! 👋 Going to be a beautiful day!

lapis slate
#

hello, everyone
Joining from Porto, Portugal

winter linden
#

Loved that livestream Peter 🙂

#

We took copious notes

cunning jolt
#

hello from Fort Worth, TX

cosmic moss
#

Hi , joining from 🇲🇬

sage veldt
sharp marsh
#

idea for future community calls: it'd be great to have a quick intro summary about what has been happening in the Dagger project. Releases, roadmap, general announcements, issues that require 👀, etc cc @winter linden @chilly arch

winter linden
#

"daggerlang" you're giving me ptsd 😛

#

There may be a path to supporting native auth helpers in the future 😇

slender star
#

Taking VIM to EMACS level!!

cunning jolt
#

livecoding!

sage veldt
#

that's an odd looking VSCode theme 😄

barren vapor
#

catppuccin best theme

winter linden
#

I noticed that terminal bug yesterday, I had never seen it before

swift inlet
#

inlined command as secret is just so great

cunning jolt
#

yeah TIL

winter linden
#

So this is basically a reimplementation of the Dagger API's withRegistryAuth but usable by userland tools?

#

Feature request: could you bundle helper tools for well-known cloud registries, and use them to authenticate against Google Cloud, AWS, Azure registry and so on? 🙏

winter linden
#

Thanks for the demo @fossil pine !

barren vapor
#

you could post the slides also on the daggerverse documentation

#

🙂

queen bramble
#

Great one, @fossil pine! Really like to see this being more standardized / modularized.

barren vapor
chilly arch
winter linden
#

@fossil pine I volunteer for a pairing session on the "secrets provider" interface idea, it's been on my mind for a while, would love to scratch that itch

white zephyr
#

I really loved that helm demo, virtualize all the things

elfin frigate
#

python: partyparrot
go: fastparrot
typescript: boredparrot
let the flamewars begin (i just wanted to use the emojis please dont hurt me)

winter linden
#

the pull request

slender star
cunning jolt
#

odd looking VIM UI here.. 🤔

winter linden
#

"You can't really optimize module initialization"

How dare you sir.

queen bramble
winter linden
#

Quick advertisement: the Traces UI that Tom is showing is a free feature of Dagger Cloud 🙂 https://dagger.cloud

chilly arch
barren vapor
#

have you tried with bun, I don't know if the sdk with typescript would work with bun ?

fossil pine
chilly arch
slender star
winter linden
#

Traces feature request: any chance we could make that "duration" info its own column? 🙂

barren vapor
#

thanks for the answer tom

cunning jolt
#

Traces feature request: would be super cool to have at least some of these visualizations in a local TUI.

fierce sandal
#

I didn't fully get something Tom said RE: running a shell command is slower than running a function withExec, mind repeating and expanding onthis a little

rain oriole
slender star
rain oriole
#

In some cases it's better to put logic in the Go module itself rather than using WithExec. Especially if using a .ts script to do some of the setup.

chilly arch
#

Thank you @wispy tapir for the updates! Looking forward to seeing people's feedback

wispy tapir
wispy tapir
rain oriole
#

There's other tips beyond uv in there.

winter linden
rain oriole
#

See last list before "Configurability".

wispy tapir
# rain oriole There's other tips beyond uv in there.

Yeah I know, I'm trying to work on the cache invalidation, that's pretty complex but I'm making progress
The weird thing is that my pipelines with the new engine are quite slow sometime (same as before) and sometime super fast, I'm digging into this instabilitty because it's certainly due to cache invalidation.
Same for concurrency and stuff, I'm going step by step, mounts etc...

winter linden
#

@wispy tapir thanks for the demo, I love the focus on performance improvements, it makes a big difference on the user experience.

#

And we will optimize module loading too 🙂

wispy tapir
chilly arch
#

happy accident - Tom shares TypeScript updates and then Emmanuel shares a TypeScript project 😂

wispy tapir
rain oriole
winter linden
#

(we're just missing the suspenseful music)

wispy tapir
winter linden
#

@fierce sandal would it be generalizable to other languages / frameworks?

#

Don't worry about the slides @sage veldt

slender star
#

@fierce sandal So did I see the tests run and fail because they caught an issue? (at end of the video)

winter linden
#

"I've seen Marcos's tweets" it's OK you can say it 😛

barren vapor
cunning jolt
#

Is that livestream on youtube?

fierce sandal
slender star
# cunning jolt Is that livestream on youtube?

Dagger is a programmable tool that replaces your software project's artisanal scripts with a modern API and cross-language scripting engine.

Join me as I learn about what Dagger is and how it works!

If you like the video, consider subscribing:
https://www.youtube.com/c/peterjausovec/join

▬▬▬▬▬▬ Resources ▬▬▬▬▬▬
▶ Dagger: https://da...

▶ Play video
winter linden
#

We change the terminology every week to keep things interesting anyway

fierce sandal
fossil pine
#

That's a ridiculous amount of config just to proxy to httpbin 😄

winter linden
slender star
winter linden
#

I personally am excited because I've always wanted to use envoy, but am too lazy to learn how to configure it

chilly arch
inland coral
#

How are you thinking using Dagger going forward? What's next in your learning/usage path?

fossil pine
#

Having spent dozens of hours perfecting modules, I can absolutely stand by the advice "Start simple" 😄

winter linden
#

It's happening! We're daggerizing Peter 🙂

inland coral
#

Any suggestions from other panelists regarding where he could take this next?

barren vapor
#

thanks for all its always a pleasure

winter linden
#

Awesome demos!

sharp marsh
#

thx everyone for a great community meeting 🙌

queen bramble
#

That was really great! Thanks all.

slender star
#

Amazing demos today!!

slender charm
winter linden
#

I'm just worried it will eat too much time from demos

inland coral
cunning jolt
#

2 hour community call? 😇

fierce sandal
#
Emmanuel Blogs

A Dagger module leveraging LangChain to build an autonomous agent to generate unit tests for my SvelteKit projects using AI

chilly arch
winter linden
#

Heads up, I'm going to livestream myself daggerizing something with @warm temple in @slender star . I've never done this before so it might be messy 🙂

winter linden
#

Excellent question

plain grail
slender charm
#

The docusaursu module does not build yet 😭

#

It only serves haha

#

I am so sad haha

#

Like the build step only gives you cached docusaurus but it does not build your docs yet

#

Yes @winter linden - src needs to be dagger/dagger

#

@slender star dir needs to be "src/docs"

#

@warm temple this a quirk of how dagger/dagger docs are structured - we depend on a file outside of the root for some reason

warm temple
elfin frigate
#

@winter linden maybe Cache: false is not being respected, because it's a zero-value; that'd be equivalent to not passing it

#

also, pay no mind to the frontend: null, it's also a pointer-related UI bug

#

cc @slender star or @warm temple 😛

warm temple
#

oh no

elfin frigate
slender charm
slender star
#

me too!?

#

can you use a diff value?
0
nil
???

slender charm
#

The whole world is watching

#

It shows me 415 people watching

warm temple
#

it says "views" not "viewers" 🤷‍♂️

slender charm
#

ah yeah

#

"views"

#

Can you run two separate services on the same port like this though?

#

Even though you are saying 3001:3000 the 2nd value is still 3000 twice

elfin frigate
#

so we probably punted on that because dealing with pointers is annoying

#

Go structs don't differentiate between you setting a field or not; they're always initially allocated to the zero-value

#

so to avoid pointer hell, we must be doing a IsZero() check to determine whether to set the arg

warm temple
#

so the workaround would be to invert the flag to something like NoCache with default false

elfin frigate
#

yeah

#

it's possible that an 'optional boolean' is possible to express in some SDKs but it has to be respected on the calling SDK too, which brings in the pointer clunkiness

slender charm
#

This really opens up the convo of should modules use cache volumes at all - feels like this is prone to errors like this

Do you have an opinion on this @elfin frigate or @warm temple

Please speak to this on the stream, the world wants to know 🙂

elfin frigate
#

jury's out as to which is the lesser evil: fully supporting it and forcing people to use pointers here and there, or enforcing codifying the Go style 'try to only default to false everywhere' convention

elfin frigate
#

@winter linden re: withExec => npm start, that "gap" between the lazy installation and the eventual effect is meant to be covered by those 'shadow bar' thingies, but in this case it's a service start, which runs via the gateway, rather than regular execs, so it's missing the necessary data to tie the two together.

so - what should happen is you would see a giant shadow bar to the right of the withExec(npm start) that would link you to the "real" place where it runs (via up). We'll just need to manually connect the two with some span attribute shenanigans.

slender charm
#

Awesome @winter linden @warm temple @slender star - really fun to watch

winter linden
#

visualizating 'npm start' in Dagger Traces

slender charm
#

@winter linden thank you for trying my module, I shipped a new version that I think addresses most of the issues you ran into 😄

https://daggerverse.dev/mod/github.com/levlaz/daggerverse/docusaurus@72ec19206da7dbe2815da94c62e491b54935b633

notably - build actually builds your production site now (great idea!) which makes all retries much faster.

there is serve and serveDev - serve serves the built site, and serveDev now builds and serves the dev version of the site.

For cache volumes I implemented both the reverse logic for using or not using the cache and introduce cacheVolumeName to allow people to create their own volumes on the fly to avoid collisions.

warm temple
elfin frigate
onyx hill
#

hi, when i try to run dag.Container().From("scratch") it ends up throwing ! failed to resolve source metadata for docker.io/library/scratch:latest: docker.io/library/scratch:latest: not found, but i just want to make a container from scratch. is there a sanctioned way to do this? thanks

elfin frigate
onyx hill
#

oh, that makes sense, thanks

graceful coral
#

hey all, has anyone had success running renovatebot container with dagger v0.11.x yet?

slender charm
winter linden
#

@slender charm working on an updated PR right now 🙂

winter linden
stuck wyvern
slender charm
#

Nice! If you wanted, I think you could

onyx hill
#

can i convert a go fs.FS (specifically an embed.FS) into a dagger Directory?

stuck wyvern
#

I've done this a few times.

onyx hill
#

oh that's nice, ill do that. one wishes it could be part of the SDK though?

stuck wyvern
#

Also have an implementation of an fs.FS for a buildkit ref.

elfin frigate
winter linden
#

The good news is that we're bringing back the cookbook 🙂 So I guess this will come back too? @slender charm

lean vault
#

Hi I'd like to understand the pricing model, is it for the cloud service while the engine is FOSS?

smoky magnet
#

Hello again dagger community - I'm trying the new dagger call functionality I initialized the env dagger init --sdk=python wurflDagger I see the folder ```(venv) venv ❯ dagger call container_echo --endpoint=google.com
✔ initialize 10.7s
Error: unknown command "container_echo" for "dagger call"


I'm sure I'm missing something obvious, and I promise I looked in the chat logs before asking this, but what do I need to get this to work?
sharp marsh
sharp marsh
# smoky magnet You're darn right!

we automatically translate the naming of function call to the conventions used by each SDK and the CLI. Generally in CLIs use the kebab naming for different words 🙌

fierce sandal
# fierce sandal Been doing a lot of 'daggerizing' to build a pipeline to help my wife and I buil...

Pretty excited about this build. It's already helping my wife and I have more discussions about our spending. I just wrote a blog detailing how I built a Dagger pipeline to send my wife and I SMSs twice a week with budgeting advice from AI based on our spending habits

https://emmanuelsibanda.hashnode.dev/a-dagger-pipeline-sending-weekly-smss-with-financial-advice-generated-by-ai

Emmanuel Blogs

Automated Dagger pipeline sends personalized, AI-generated financial advice via SMS twice a week to help build healthier spending habits

pine crag
chilly arch
sick monolith
#

Hey all, wondering if there's a hack around the dagger terminal feature, when using docker, if you dont exec with interactive or bin/bash you get a really annoying experience in the terminal

#

im thinking if im doing something wrong or there is a limitation with dagger terminal right now? typos, not being able to err, 'backspace' in the terminal etc? I'm using the Powershell 7 terminal and using Windows Terminal.

#

...i found a way... I just need to type bash -.-

#

ignore me, im not a container expert (or linux) 😄

winter linden
#

no problem @sick monolith ! Glad you got it to work. What's the command you ended up running? I want to make sure I understand the problem you encountered so we can prevent others from encountering it

sick monolith
#

dagger ... terminal -cmd bash

#

without that last bit, you still get into the container, but the experience is not nice

winter linden
#

I see! makes sense

white zephyr
#

I think he is referring to the disappearing terminal prompt

sick monolith
#

hey all. are you guys aware of dagger website issues?

#

the website appears broken mostly from what looks to be content policy errors in the console log.

warm temple
#

the website appears broken mostly from

frozen basin
#

hey guys - curious about the 11.x releases, and logging in the terminal... I'm not using modules, and basically get no output to my console (no more progress plain?) I think this was mentioned on one of the community calls... any intent to fix this?

rain oriole
frozen basin
sick monolith
#

https://docs.dagger.io/manuals/developer/secrets

Would this still be up to date since any secrets work?

Dagger allows you to utilize confidential information, such as passwords, API keys, SSH keys and so on, in your Dagger Modules and Dagger Functions, without exposing those secrets in plaintext logs, writing them into the filesystem of containers you're building, or inserting them into the cache.

sick monolith
#

does anyone have a source of links about dagger that may target larger orgs which are more reserved about newer tech to introduce that may help my case in making dagger still very appealing? we are using github and k8s, docker, hashicorp products like consul/vault. I have a demo next week for 3 scenarios I implemented with dagger but want extra fire power material as a finisher

#

I can see grafana has had some interaction. so I'll try to find any community calls around grafana using it. we use grafana quite a lot so that will relate well also.

sick monolith
#

does anyone have a source of links about

wary cave
#

Anyone using Dagger as a programmable process control mechanism? With all the .service() hooks and dynamic container constructions the use case really isn't limited to CI/CD at all. For example, I'd imagine it'd be a very interesting way to run background workers.

I'm currently trying to use it to automate spawning long-lived containers on a remote machine and this container would require very dynamic configuration so I feel like dagger might be a good fit here to build the container image and run them on-the-fly instead of going through the usual shell scripting route.

winter linden
#

My immediate use case for this: running the CI runner software on dagger. Then if the CI configuration makes dagger calls, they are nested dagger-in-dagger calls 😁

winter linden
#

Actually this is likely to become the standard way to run Dagger on dedicated compute:

  1. Deploy Dagger Engine to a bunch of VMs or pods
  2. Engine is configured to run one function at boot - the "init function"
  3. The init function might be a long-running CI runner, but it could be anything. A webhook server perhaps. Or an ssh server.
  4. All subsequent dagger calls are nested via dagger-in-dagger
  5. Corollary: no more need for "experimental-dagger-runner-host": dagger no longer needs a remote access protocol just like the linux kernel doesn't need one. To be a linux "client" you need to be run by linux then make a system call
  6. Dagger is now an OS
winter linden
sick monolith
#

Some would say Kubernetes is kind of an OS. you Run "anything on it". Services, Pods, etc etc.

#

I've noticed a few CLI tools now have "example use" by vol mounting and then running a cli tool via the image. Would the website also be updated to include that kind of method of using the cli tool?

sick monolith
#

So i could use a dagger base image, then run dagger functions inside a dev container, which spins up other things such as dagger services (mock aws, with localstack) and use terraform inside dagger functions. all from a .devcontainer. That seems cool

rigid pebble
#

My immediate use case for this: running

sick monolith
#

Back again. Worked on both an RFC but something we tend to consider is a Roadmap. Hashicorp usually have a roadmap of what's coming and going. Is there any official publically available information on where Dagger is heading and future? Or should people be mostly referring to Github Issues for a sense of direction and features to come or be deprecated?

Resources section has been useful to extract features and use-cases and the blog has also been good to see major features.

Dagger is yet to have a 1.0 release and im not sure if this is something that some may interpret as "not stable". Any direction for me to go with collating information on Daggers "stability" and future?

stoic knot
#

@sick monolith Terraform went many years before reaching v1.0, but was largely stable from 0.10 onward, so I'm not sure version number is a great metric for stability, as it is for signaling commitment to backwards compatibility.

From my pov, Dagger has been evolving the DX, yet the lower level API has remained stable. I personally find the newer function paradigm a bit heavy compared to the older "main entrypoint" style, so I hope it keeps evolving.

I'll let the Dagger team point you to where to get updated and stay informed, re: roadmap and such

sick monolith
#

yeah, this a fair point. I think even internally, we've been using K8s operators and many other things still considered alpha, so i dont think we're only commited to stable solutions. Same goes for terraform tho we have in the past had some painful upgrades maybe would not be the case if we "held off a little longer" but this is the case in our industry anyway, forever evolving. Would certainly be interested in some kind of public official roadmap either way, buts a good point and if others within raise anything around versioning, i think i'll use your point and say versioning is about compatbility not stability

stoic knot
#

One thing to be aware of, if you have multiple projects using different versions of the SDK, running them may churn the engine in the background. I hit this before, as each SDK wanted to start its version of the engine. I know they are aware of this, but not sure where it stands today. I assume better because of the push on the function DX. Might get into issues where a module you depend on updates to a newer engine version than you run. Hopefully this doens't cause your engine to restart on a newer version automatically, would prefer a compatibility error

sick monolith
#

Do you think a pure GraphQL approach (non SDK) is still a viable approach? I see the docs have been updated but the old 0.9 seems to have way more information and it looks like using GraphQL directly was seen a sound way to use Dagger

winter linden
# sick monolith Do you think a pure GraphQL approach (non SDK) is still a viable approach? I see...

yes GraphQL layer is still the same, it is stable and supported. The client bindings are still generated from it in the same way. We are still porting over information from the 0.9 docs.

What 0.10 added with Functions is that now you can extend the GraphQL API, and generate your own client bindings for that. That's a significant expansion of the UX, and we've restructured the docs to fit it in. But through all this, the core GraphQL and codegen tech have remained stable.

sharp marsh
slender charm
tired moth
#

can dagger stream container shell data in realtime now?

chilly arch
winter linden
#

I just updated to 0.11.5 stable, and seeing more details on the "connect" phase, with progress bar on checking for latest engine container, downloading it etc. That's on purpose right? I love the extra detail 🙂

narrow nymph
#

Glad that the little progress fixes are noticed, there's quite a few little ones to discover

winter linden
#

Any chance of getting a progress bar API in the future, so that my function can show cool custom progress bars to the user too? 😛

blissful gull
#

Hey folks. I was wondering if you had recommendations or best practices for deploying remote dagger engines, specifically with a focus on security. We would like to potentially deploy a fleet of engines to a kubernetes namespace but are concerned primarily with security as the engine needs to run elevated. I have been doing some testing, and it looks like there is some abstraction or isolation going on (much of my docker knowledge currently is pre-buildkit) but would love more information on the architecture, and safety of running these privileged containers. If you have architecture diagrams or could point to the code that isolates these containers, even better. I have been slowly spelunking through engine/{buildkit...} to try and understand more completely what is going on. Ultimately trying to decide if we need to treat dagger engines as root-run processes and isolate them ourselves -- we would only be running the engines here, not other containers that could potentially share a socket with any of the engines.

elfin frigate
#

Progress bars

slender star
#

Hey folks. I was wondering if you had

sharp marsh
#

👋 Marcos from 🇺🇾 🧉

mild rivet
#

Checking in from Seattle!

wraith niche
#

Hello from California 👋

chilly arch
#

Hosting from Vancouver, WA!

split olive
#

This is Chris from Switzerland 👋

slender star
#

👋 from Portland, Oregon, USA

winter linden
#

Good morning from San Francisco, I'm happy to report it's sunny here 🙂

cunning jolt
#

Fort Worth, TX! It's definitely not sunny here.

analog raven
#

Sunny here in Vancouver, WA today as well! 🙌

sick monolith
#

hello from England, UK across the pond from you guys

winter linden
#

@chilly arch if there is any time at the end, I can give a few sneak peeks of new things we're working on

#

Deploying an app with SQL chefkiss

mild rivet
#

I work on container services, and I can't tell you how nice this is to see. This was on my to-do list after getting back from vacation this week to try to build a module just like this. So nice to see how dagger can take this flow and streamline so cleanly. Excited to build on this and add dagger to a few of these samples / demos

cunning jolt
#

where is the snowflake instance running? Is that a dagger service running locally?

winter linden
#

I'm curious if Dagger itself could run inside Snowpark 🙂

mild rivet
#

the fact you can just run "dagger call deploy" after making a code change is really nice too. One of the things I love about how dagger works

sick monolith
#

That's interesting, would this in theory potentially be a replacement for SQL management like flyway?

mild rivet
wraith niche
sick monolith
mild rivet
winter linden
#

Containerized AI pipelines ftw

elfin frigate
#

syntax highlighting amaze

split olive
#

Examples and tests in one -> amazing!

winter linden
#

Dear santa: please give me CLI examples also 😛

chilly arch
#

would love to learn more!

#

@pseudo stream with the deep dive

winter linden
#

There is one particular dependency of that particular module that is better left unmentioned 😛 cc @elfin frigate

#

unless you want the deep dive to get a whole lot deeper

split olive
#

@sharp marsh what was the module with the tests that you showed at the beginning?

sharp marsh
# split olive <@336241811179962368> what was the module with the tests that you showed at the ...
GitHub

Personal collection of Dagger modules. Contribute to marcosnils/daggerverse development by creating an account on GitHub.

winter linden
#

me right now

#

"SDKs are just modules"

This means:

  • Anyone can experiment and contribute alternative SDKs
  • You can actually ship a module with a custom SDK, and have everyone use it on the Daggerverse, and they won't even know
queen bramble
#

@pseudo stream You mentioned that same dependencies of different modules are cached and share state. What about versioning? Assume a module three levels down uses the same dependency as the root one, but a different version. Is a different module version treated like a different version?

winter linden
chilly arch
#

If you are new to Dagger and haven't tried the quickstart yet, please DM me. We always looking for users who are willing to record their raw experiences and share them with us (either live or privately). The real-time feedback is extremely helpful to us.

I also have some Dagger swag for whoever does 😉

cunning jolt
#

👍

stuck wyvern
#

👏 TTL caches

cunning jolt
#

moar moar moar!

queen bramble
#

👍 for "Adopting Dagger". I personally like to start with looking at some more complex samples to understand how to structure my code in a good way right from the start. E.g. how to setup a reusable / multi-modules repo? How to do the versioning? How to integrate the "call side" into the regular code repo?

chilly arch
#

Next community call, we'll show a quick demo of dagger login

cunning jolt
#

Love this overview and status update! Please do this more 🙂

winter linden
#

Thanks for joining everyone!

#

Here's the list of updates I just talked about:

Coming soon in Dagger

- Stability and performance improvements
- Documentation improvements
    - New quickstart, live now
    - Bringing back the cookbook
    - Unifying the developer manual - multi-language pages
    - New section: "adopting Dagger"
- Improve support for calling the Dagger API without extending it
    - Already works
    - Will bring back the docs
    - Add support for calling modules from an external client
- Improved support for locked down environments: custom certificates, proxy, less runtime dependency on public registry
- Context API
- Traces!
- Cache control
- Storage drivers (configurable cache backend)
- Improved production architecture (kubernetes..)
- Shell scripting
- Bringing back the README in Daggerverse
slender charm
#

I can see grafana has had some

winter linden
#

I forgot to mention on the call: we're hiring core engineers. If you're interested in contributing across the entire stack - from buildkit, to the engine, SDKs, CLI, and Cloud - contact us! You can DM me or @wraith niche

mystic citrus
#

Hey Daggernauts, we are experimenting and adapting Dagger in cncf project goharbor.io (atm it's only the harbor-cli, but I have bigger plans)
One big disadvantage of Dagger is, that once you start using it, you go down the rabbit hole and start thinking to DAG everything with it 🤣

So now I am looking at how can best combine Dagger with goreleaser. Is the goreleaser resource in daggerverse the best start?

main spear
#

Heyo,

I just wanted to let you know that the new dagger run v0.11+ cli struggles on a full screen terminal when run in non gpu rendered terminals.

If I've got a service (rabbitmq, postgres etc) a large portion of the screen looks to be updated each tick (of the second counter) which in turn causes a full page refresh even though nothing other than the timer has changed. This causes excessive flickering.

sharp marsh
#

Hey Daggernauts, we are experimenting

chilly arch
slender star
#

Heyo,

tired moth
#

with what technologies dagger cli has been developed?

sick monolith
#

Looking at the code it looks to be written in go and with a very popular cli framework, or do you mean more granular than that?

#

Cobra is the golang lib

sick monolith
#

Has any discussion of backstage with Dagger come up before?

slender charm
sick monolith
#

yes that's the one.

sick monolith
#

Well I did my first published module, its a small one but its something

#

I feel like ive abused the purpose. Maybe someone can shed light on that? For example, it's a CLI tool. I could have installed dotnet (I already have it, just assume i have nothing on my machine except docker and the dagger cli). I created a dagger module which pulls the git repo, builds it into a container, and essentially executes the cli tool with some commands. I see absolutely no use-case for someone else to pull the module into their own dagger pipeline. Its basically a dagger cli wrapper of a cli tool because why not.

#

Actually, said cli tool also wasnt dockerised. So there was a means to dagger for that.

winter linden
slender star
#

I feel like ive abused the purpose.

keen brook
#

Hey folks, I just finished another post on Dagger. Feedback is much appreciated!

https://labs.iximiuz.com/courses/dagger/writing-first-function?expand=all

iximiuz Labs

What is the key trick you need to know before writing your first Dagger Function?
How to write a simple Dagger Function and invoke it from the command line?
How Dagger Functions are containerized?
How to pass project files to Dagger Functions and save call artifacts?

fossil pine
urban lion
#

@fossil pine question about your latest video about credentials caching.
I have the feeling that having the ability to explicitely mark Path to exclude sections of the FS from being cached is a more robust solution

#

i don't have enough docker engine knowledge to know if it's easily feasible though

fossil pine
#

It's more of a buildkit question, but I don't think this is trivial.

I agree that the solution I came up with feels unnatural when someone is used to how these CLI tools work. It's quite funny that we call them "cloud native", but they are not very container-friendly in this sense.

This is the best solution I could come up with given the circumstances.

urban lion
#

the main issue with that is that it feels a bit hacky and it's definitely easier to run locally than on a CI server

dreamy kernel
#

I have been recently experimenting with Moon since Dagger doesn’t have support for corporate environments. Can anyone summarize the differences between these two products ?

swift inlet
cunning jolt
winter linden
#

Curious, what is "Moon"? Haven't heard

blissful gull
#

Hey folks. We are setting up our dagger MVP this week and noticed that modules are the suggested route for distributing dagger code, but also don't support authing to private git repos. Is this a feature you are considering? I notice you have an issue (https://github.com/dagger/dagger/issues/6113) but it is somewhat stale. Publishing our modules publically is not really an option for us in many cases.

GitHub

What are you trying to do? Currently you can only dagger mod install modules hosted in public Git repositories. While this is great for OSS, it's not ideal for Enterprises that use private Git ...

sick monolith
timber sphinx
#

rambling about some dagger adoption and development usage

stoic knot
#

FYI, we have seen a couple of intermittent errors from the Dagger container registry that last 30m or so

slender star
#

@rigid pebble 👆

rigid pebble
sick monolith
#

Is there a known issue with daggerverse module description formatting?

keen brook
#

Dagger init

pine crag
#

Hey! I had posted a question in #1030538312508776540 but now I'm unable to find it. Is there a way to filter out the questions based on who posted them?

narrow nymph
#

i just used the from:@arsh filter in the search bar for this discord server

pine crag
sick monolith
#

Windows paths - Part 2

stable patrol
#

anyone using buildkite with dagger? discord's lack of exact search makes this very difficult to answer for myself 😭 (hits for buildkit)

sharp marsh
rigid pebble
slender charm
#

I have used it recently and it worked for me - happy to help if you are running into isseus @stable patrol

stable patrol
#

just curious what patterns people are using

slender charm
# stable patrol just curious what patterns people are using

Its not really any different from any other CI prvider, dagger works more or less the same everywhere.

If you're using the legacy steps config in buildkite then you call your pipeline like this:

If you're using a pipeline.yml then it looks very similar to all the other CI configs

sand gorge
#

Any Dagger core team about? I'm working on the PHP dagger zenith module .. and we have some questions right now.

#

Helder is offline atm, who's been helping to date

#

We have some module-building queries

stable patrol
sharp marsh
#

makes sense, i am investigating

chilly arch
winter linden
# winter linden Here's the list of updates I just talked about: Coming soon in Dagger ``` - St...

Hi all, quick update:

- Bringing back the cookbook

Shipped! We now have a cookbook again 🙂 https://docs.dagger.io/cookbook

  • Unifying the developer manual - multi-language pages

Shipped! https://docs.dagger.io/manuals/developer

  • Improvements to Traces

First batch of improvements shipped! dagger login to get started

  • Traces from local dev environments are grouped together. You can see your team running pipelines as they develop, very fun and informative. (Make sure everyone logs into the same org, with dagger login <org>)
  • Traces from CI environments are grouped together, and aggregated by pull request.
main spear
#

Heyo, I don't have a minimal reproducible example but since we upgraded to 0.11.x (currently 0.11.5 and testing 0.11.6) we've seen that sometimes our containers simply lose network connecitons.

I.e. an apt-get might fail with a 137, we cannot reach a service container etc. We're still trying to produce a minimal example to reproduce the problem, it could still be our infrastructure that does weird things, but I wanted to hear if this is something that is known in 0.11.x. In our architecture we have many jobs that share a few large dagger engines, so that may be the cause, but still it is quite strange

fossil pine
#

I'm thinking about doing a live stream next week to create a module for xcaddy. I don't know when and where yet, so I'm just asking if anyone is interested in that. I haven't done it yet, so you get to see me struggle.

narrow nymph
#

i'd definitely be interested in watching along, just to spy on what other people are doing when making modules 😄

cunning jolt
#

Interested if it's on YT 🙂 I have trouble accessing other platforms when I'm at work.

sick monolith
fossil pine
#

Probably YT

sick monolith
#

ohh perfect. reason I ask is company policies and dns config blocks a lot of stuff for me. thankfully YouTube is accessible

fossil pine
#

If I manage to figure out how to do it 😄

#

Okay, let's put this on the calendar: Tuesday, 6pm CEST. I'll share the stream URL here.

elfin frigate
sand gorge
#

Hey Daggernaughts!

I'm giving a talk to 150 people tonight, on Dagger, it's only a 30 minute talk 🙂

sharp marsh
sand gorge
#

😆 </leg></body>

spring basin
#

Hello everyone

main spear
sand gorge
#

People love dagger!!! Great event and there are at least 30 new organisation's really enthusiastic to start using Dagger immediately.

chilly arch
stable patrol
#

is it currently possible to use gcs as a remote cache with dagger?

#

looking to run a series of clean build agents but also leverage caching from previous jobs

#

looks like dagger cloud may have something similar, but it would be nice to be able to use my own infra

#

ah! just spotted this in the docs

Does Dagger Cloud support “bring your own storage” for distributed caching?
The ability to "bring your own storage" is coming soon. Please reach out to us if this capability is needed for your organization.

that would be us! i think this is probably a security requirement.

winter linden
chilly arch
fossil pine
main spear
#

Yep Vito. It was a little bit of a

mystic citrus
#

Hello fellow Daggernauts:

Do you have a recommendation on how to make CLI output that look more user-friendly?
So instead of the ugly output (on the left) more something like on the right.

mystic citrus
#

Hello fellow Daggernauts:

fossil pine
winter linden
#

Thanks for a great session @fossil pine !

fossil pine
#

(I've spent the first ~10 minutes trying to fix audio, so skip that part 😄 )

chilly arch
vivid mango
#

Did v0.11.7 introduce breaking changes? Yesterday my trivy pipeline was running just fine with v0.11.6, but later in the day (night) it started failing with v0.11.7.

Even if I rerun the same pipelines (for the same commits) now (ones that passed OK yesterday), I'm getting failures
I need to find a way to pin a dagger version... Why don't you bake OCI images?

gilded flicker
#

Hi there! 👋 I'm currently writing my bachelor's thesis in Computer Science and I'd love to get some opinions on a specific point.

What exactly does "containerization" refer to? Is it the process of creating and running a container, or is it packaging software into a Docker image?

I'm trying to distinguish between two concepts:

  1. The moment when I create the Docker image
  2. The moment when I create and run an instance of the image using a container
narrow nymph
#

As a personal take, I would say "containerization" is the process in which an engineer takes a project and builds it into a docker image to be able to run/deploy.

#

I kind of think of 1 mostly, but I think the process aspect here is important

gilded flicker
fossil pine
#

Sincs these terms are often quite overloaded, it’s important to set the context right.

For example: you might say that a container is just a jailed process. Well, not always

gilded flicker
#

I was actually using the word "containerization" to describe the case where an image was instantiated in a Docker container, but I got a comment that I'd misused that term.

Thank you a lot for your detailed answers

winter linden
sick monolith
#

hey all. a query that came up internally regarding cloud. Will there be features for the data in dagger cloud to be deleted like traces?

#

maybe these have been answered somewhere already

slender star
sick monolith
#

it was security. though now you mention it, I think clearing traces would be something useful. but that's not what came up it was mostly about removal of traces due to security. I.e if I'm on my own org and i mistakenly connect to another or forgot to swap and run a trace I really don't think my org would be happy with traces going to wrong orgs and would want the ability to delete traces instantly

#

could be a complete blocker from using cloud

elfin frigate
#

deleting Cloud traces/data

chilly arch
#

Hey everyone! The Dagger team will be at AIQCon on June 25th, and we have a few extra passes as part of our sponsorship.

**If you are interested in attending this show and want a free pass, please DM me! **

https://www.aiqualityconference.com/

I'll register people on a first-come, first-served basis.

The world's first AI Quality Conference on June 25, 2024 in San Francisco, CA

frozen basin
#

General question for folks out there running in CI with daemon setups.... do you find that you need to tune your buildkit garbage collection at all? Feels like I'm getting bit by it, but not really sure

frozen basin
#

General question for folks out there

scenic cedar
#

Are you thinking of making a kind of Docker-like system, in order to point to its own artifactory, but this time not to retrieve Docker images, but to retrieve all the necessary dependencies to make a dagger init?

a kind of connection to our artifactory with dagger login "artifactory", and then pointing dagger init to this artifactory to retrieve the dependencies ?

scenic cedar
#

to work if my computer doesn't have internet 🙂

narrow nymph
#

i think we've talked about an "offline" mode for dagger before, but unfortunately, i don't think anyone's ever put effort into actually working on it yet

#

it's a tricky feature, and there's always been a lot of other things going on

#

that said, if you're interested, definitely happy to help coach external contributions for things like this

cunning jolt
winter linden
#

Reminder that there's a community call in 20mn, and from seeing the agenda, minds will be blown 🙂 Just saying

warm temple
#

Yup this is going to be a good one!

chilly arch
#

Welcome everyone! Hosting from Vancouver, WA. Today's song is Porto by Workakls

sharp marsh
#

👋 Marcos here from 🇺🇾 🧉

winter linden
elfin frigate
#

👋 hola from Toronto

cunning jolt
#

Hi from Fort Worth, Texas

honest oasis
#

👋

glad jolt
#

hello from Argentina! 🇦🇷

warm temple
#

Greetings from Michigan 👋

teal vine
#

👋🏻 hello from Montana

wispy tapir
#

Hi! From France 😄

winter linden
#

Good morning from San Francisco, I'm sad to report it is cold and foggy here

lapis slate
#

hello, everyone! from Porto, Portugal

drowsy frost
#

👋 from Berkeley

winter linden
#

First Dagger Switzerland meetup woo!

elfin frigate
#

wait, we have to follow andrea?