#Using Dagger modules as plugins for a CLI: feedback needed

1 messages · Page 1 of 1 (latest)

empty lake
#

Hello everyone! I'm trying to figure out if I can get dagger to fit into a use case of mine, hope this is the right place to raise such a question.

So, the idea is that I'd like to automatize the build process of an OCI artifact containing the results of an FPGA firmware building. I want a CLI to setup a chain of different tasks starting from a Dockerfile-like instructions set that can be reproducible and, more importantly, pluggable with different building engines (different boards, vendors and tools).

I have actually included dagger already in the first poc of such a tool, and it worked great. The question I have now, is if I can get any opinion on how crazy would be to think of a plugin structure for the building phase based on Dagger modules. Such that one can install his preferred plugin like a module install and then ask the cli to use that in the steps of the building chain.

The benefits I see, it is mainly in leveraging graphql queries to get an interface with plugins written in different languages.

Is that making any sense? Are there other more sensible patterns? Do you have any advice?

#

Using Dagger modules as plugins for a CLI: feedback needed

terse radish
junior summit
terse radish
#

It’s not a strict Go interface, so checking if a type implements an interface is done by the server and codegen. So the plugins just implement the right function signatures but they don’t need to depend on the parent. There’s more details in the associated PR.

junior summit
empty lake
empty lake
spring ibex