Hi everyone! I’ve been toying around with Pulumi for a while trying to decide if it would work for my organization. But there’s one thing really important thing that I can’t figure out how to do. I’d like to create an npm package for other developers to import into their repos that has an abstracted Kubernetes application.
I’m picturing creating a Component Resource class that takes in some kind of configuration and makes a deployment/service/whatever. That much I’ve got. But I also want to be able to import that class, create an object from it, and be able to customize any additional fields that I didn’t happen to put in the config.
For example, if someone wants to change the serviceAccountName of the podSpec for a deployment, I don’t want to have to go back and add that to the config. I want them to be able to modify it once it has be instantiated. Am I missing an easy way to do this?
@brash-dream-38657 you can use transformations to modify any resource (including a component resource): https://www.pulumi.com/docs/intro/concepts/resources/options/transformations/
What this means in practice is that you can create your own custom abstractions (a component) and expose values via the input arguments, but if you miss anything out, the downstream users can simply import your package and "transform" it as needed