Hi, I'm trying to understand the benefits of using pulumi/eks instead of pulumi/aws/eks, but so far I don't really understand why I would want to use it. Can anyone enlighten me? Thank you
b
billowy-army-68599
08/15/2022, 5:13 PM
pulumi/eks is a component resource around EKS and handles lots of the necessity of building a production EKS cluster:
• It’ll add all the IAM roles, including OIDC provider
• it adds nodes with support for rolling updates via a cloudformation stack
• it adds security groups for those nodes
and lots more
pulumi/aws/eks is the raw api call from AWS.you can use it, but you’ll have to define lots of stuff.
As an example, here’s an implementation of EKS in python using pulumi/aws/eks
https://github.com/pulumi/examples/tree/master/aws-py-eks (notice all the distinct IAM roles here)
and then here’s a roughly the same implementation in pulumi/eks
https://github.com/pulumi/pulumi-eks/blob/master/examples/cluster-py/__main__.py#L16-L31
tl;dr you’ll write a lot less code
a
ambitious-father-68746
08/15/2022, 5:20 PM
Got it, thanks. I'm still on the fence since I only have to write the code once (and to be honest I already have it). I'm afraid that pulumi/eks might bring stuff that I don't need.
Having said that, less code is always appreciated and so I will take a look and validate my assumptions, thanks.
b
billowy-army-68599
08/15/2022, 5:21 PM
if you have your own code, wrapping it into your own component is a totally valid path
a
ambitious-father-68746
08/15/2022, 5:22 PM
For example in my case I only run Fargate, so I don't need any of the nodes stuff.
Any reason why pulumi/eks requires npm, even on other languages? This is a huge ask...
b
billowy-army-68599
08/16/2022, 4:13 PM
the component is written in TypeScript. it uses the javascript runtime to invoke the engine