The open source project Dagger, officially launched in 2022 by Docker founder Solomon Hykes and his colleagues Sam Alba and Andrea Luzzardi, has presented version 0.10.0 of its Dagger Engine. Developers can use the Lego principle to create individual CI/CD pipelines (Continuous Integration / Continuous Delivery) from predefined modules. Instead of complex YAML scripts, individual actions can be stored as building blocks in common programming languages such as Go, Python or TypeScript. The new release of the Dagger Engine now opens up the possibility of integrating custom functions via a GraphQL API.
Advertisement
Expand Dagger API with your own functions
The basic principle of Dagger is based on individual actions that are available in reusable modules. Developers use this to build customized CI/CD pipelines that can be tested and debugged locally before being handed over to any continuous integration system (GitHub, GitLab, CircleCI, Jenkins, etc.).
Developers gain additional flexibility with the Dagger Functions option, which was newly added in Dagger Engine 0.10.0. Basic functions such as “copy a file” or “pull a container image” can be called directly from the program code using the GraphQL API. Developers can also expand the Dagger Functions with their own functions as desired. Packaged (containerized) in the reusable modules, the individual functions can then be made available and shared via the so-called Daggerverse – a collection of modules and functions created by Dagger, the community and individual users.
This brings Dagger another step closer to its own claim of implementing CI as code. Not only can individual functions be called via the GraphQL API, but with an appropriately configured query, several Dagger functions can also be combined to create complex, dynamic pipelines. In addition, the functions can also be called directly via the CLI without having to write any code at all.
More about the Dagger platform and the innovations
The blog post provides further information about the Dagger functions and the new features in Dagger Engine 0.10.0. If you would like to become fundamentally familiar with Dagger, the functions and modules, you will find help in the Developer Guide. The source code is available in the GitHub repository. The Dagger team maintains a Discord channel for discussions and requests.
(map)