Introducing the Daggerverse
March 12, 2024
Mar 12, 2024
None
Today we’re excited to introduce the Daggerverse: a searchable index of all public Dagger Functions.
Two weeks ago we introduced Dagger Functions, a powerful new way to extend the Dagger API with custom code. The Dagger API already gave you primitives to stitch together powerful pipelines out of containers, artifacts, network services, and secrets – all in type-safe Go, Python or TypeScript. Now with Dagger Functions, you can encapsulate this code into a software component which can be loaded into any Dagger Engine, and called by other functions.
Dagger Functions support cross-language composition, and are fully containerized. As a result any function can call any other function, safely and reliably, on any machine that can run Dagger.
This creates an exciting possibility: a unified software ecosystem for the devops community.
Now, every time you find yourself integrating a new tool or best practice into your pipeline, there is a good chance that someone, somewhere, already wrote a Dagger Function for it. But how to find that function? And how do you decide if you should use it?
Enter the Daggerverse.
There’s a module for that!
For easy sharing and consumption, Dagger Functions are packaged into modules. Dagger modules are just source code: if you can host a git repository, you can host a Dagger module.
The Daggerverse does not centralize the hosting or naming of your modules. Instead, it provides a searchable index, to help you discover great modules developed by the community, learn how they work, and start using them. Since modules are just source code, it’s also easy to contribute to them.
Here are a few examples of tasks you can automate using modules found on the Daggerverse:
Lint your Python project, using Ruff
Scan your container for vulnerabilities, using Grype or Trivy
Secure your SBOMs with Chainloop
Use a managed build service like Depot
Integrate with HashiCorp Vault or AWS Secrets Manager
Build secure container images using Wolfi
Deploy to Fly.io, Netlify, Vercel, Cloudflare Workers, Google Cloud Run, and more
Simulate interactive terminal sessions, and record them as GIFs
Update a PR comment with the GitHub API
Natively load and execute GitHub Actions and CircleCI configurations
Publishing to the Daggerverse
It’s surprisingly easy to write functions, and we’ve made sure it’s just as easy to publish them! Just follow these steps:
Push your module source code to a public git repository
Tag your git repository with one or more semver-compliant version tags
Go to the module publishing page, and submit your module URL
That’s it!
If you need help, or want to share your awesome new module, visit our Discord server and say hi!
Today we’re excited to introduce the Daggerverse: a searchable index of all public Dagger Functions.
Two weeks ago we introduced Dagger Functions, a powerful new way to extend the Dagger API with custom code. The Dagger API already gave you primitives to stitch together powerful pipelines out of containers, artifacts, network services, and secrets – all in type-safe Go, Python or TypeScript. Now with Dagger Functions, you can encapsulate this code into a software component which can be loaded into any Dagger Engine, and called by other functions.
Dagger Functions support cross-language composition, and are fully containerized. As a result any function can call any other function, safely and reliably, on any machine that can run Dagger.
This creates an exciting possibility: a unified software ecosystem for the devops community.
Now, every time you find yourself integrating a new tool or best practice into your pipeline, there is a good chance that someone, somewhere, already wrote a Dagger Function for it. But how to find that function? And how do you decide if you should use it?
Enter the Daggerverse.
There’s a module for that!
For easy sharing and consumption, Dagger Functions are packaged into modules. Dagger modules are just source code: if you can host a git repository, you can host a Dagger module.
The Daggerverse does not centralize the hosting or naming of your modules. Instead, it provides a searchable index, to help you discover great modules developed by the community, learn how they work, and start using them. Since modules are just source code, it’s also easy to contribute to them.
Here are a few examples of tasks you can automate using modules found on the Daggerverse:
Lint your Python project, using Ruff
Scan your container for vulnerabilities, using Grype or Trivy
Secure your SBOMs with Chainloop
Use a managed build service like Depot
Integrate with HashiCorp Vault or AWS Secrets Manager
Build secure container images using Wolfi
Deploy to Fly.io, Netlify, Vercel, Cloudflare Workers, Google Cloud Run, and more
Simulate interactive terminal sessions, and record them as GIFs
Update a PR comment with the GitHub API
Natively load and execute GitHub Actions and CircleCI configurations
Publishing to the Daggerverse
It’s surprisingly easy to write functions, and we’ve made sure it’s just as easy to publish them! Just follow these steps:
Push your module source code to a public git repository
Tag your git repository with one or more semver-compliant version tags
Go to the module publishing page, and submit your module URL
That’s it!
If you need help, or want to share your awesome new module, visit our Discord server and say hi!
Today we’re excited to introduce the Daggerverse: a searchable index of all public Dagger Functions.
Two weeks ago we introduced Dagger Functions, a powerful new way to extend the Dagger API with custom code. The Dagger API already gave you primitives to stitch together powerful pipelines out of containers, artifacts, network services, and secrets – all in type-safe Go, Python or TypeScript. Now with Dagger Functions, you can encapsulate this code into a software component which can be loaded into any Dagger Engine, and called by other functions.
Dagger Functions support cross-language composition, and are fully containerized. As a result any function can call any other function, safely and reliably, on any machine that can run Dagger.
This creates an exciting possibility: a unified software ecosystem for the devops community.
Now, every time you find yourself integrating a new tool or best practice into your pipeline, there is a good chance that someone, somewhere, already wrote a Dagger Function for it. But how to find that function? And how do you decide if you should use it?
Enter the Daggerverse.
There’s a module for that!
For easy sharing and consumption, Dagger Functions are packaged into modules. Dagger modules are just source code: if you can host a git repository, you can host a Dagger module.
The Daggerverse does not centralize the hosting or naming of your modules. Instead, it provides a searchable index, to help you discover great modules developed by the community, learn how they work, and start using them. Since modules are just source code, it’s also easy to contribute to them.
Here are a few examples of tasks you can automate using modules found on the Daggerverse:
Lint your Python project, using Ruff
Scan your container for vulnerabilities, using Grype or Trivy
Secure your SBOMs with Chainloop
Use a managed build service like Depot
Integrate with HashiCorp Vault or AWS Secrets Manager
Build secure container images using Wolfi
Deploy to Fly.io, Netlify, Vercel, Cloudflare Workers, Google Cloud Run, and more
Simulate interactive terminal sessions, and record them as GIFs
Update a PR comment with the GitHub API
Natively load and execute GitHub Actions and CircleCI configurations
Publishing to the Daggerverse
It’s surprisingly easy to write functions, and we’ve made sure it’s just as easy to publish them! Just follow these steps:
Push your module source code to a public git repository
Tag your git repository with one or more semver-compliant version tags
Go to the module publishing page, and submit your module URL
That’s it!
If you need help, or want to share your awesome new module, visit our Discord server and say hi!