I'm talking with someone about https://cdk8s.io/ and it sounds a lot like pulumi - but pulumi requires storing somewhere state, whereas this doesn't. What / why does pulumi need to store in case of kubernetes, if "kubernetes already stores state in etcd"?
05/19/2020, 10:19 AM
but better question should be asked, why terraform saves the state too?
Mainly because terraform/pulumi work on clouds where you don't have state
So k8s for pulumi is just a provider and pulumi has many providers
but cdk8s.io is definitely a project to keep a eye on...
If that project could import resouses from pulumi/terraform it would be even better
05/21/2020, 2:29 AM
@incalculable-dream-27508 the big reason originally was that we wanted to be able to offer a high-fidelity preview step. these days you could probably remove it and use the kube dry-run functionality, but there is no particular pressing need to do this, especially since state is required for every single other provider.
I am biased (even though I no longer work at pulumi) but I flatly do not understand the point of cdk8s. you get none of the benefits of CDK (rollback, dependency tracking, waiting until the apply is complete, etc.) since it simply generates YAML. if you want a plain-old typescript/go/whatever SDK, why not just use the official kube SDKs?
05/21/2020, 6:44 AM
I only assume it's because people don't know about kube SDK or they find it hard to use...
but yeah, pulumi has CDK where cdk8s does not. It's very important !