3 ms·
For a long time I was frustrated by the lack of scripting tools for orchestration. My ideal situation would be to write the orchestration / deployment config us
by octopoc 7y ago
For a long time I was frustrated by the lack of scripting tools for orchestration. My ideal situation would be to write the orchestration / deployment config using the same programming language the app is written in. Eventually I found Pulumi, which supports a limited number of programming languages but is basically what I was looking for, except I would like C# to be officially supported.
Pulumi has a high-priority issue for deciding how they're going to support arbitrary programming languages: https://github.com/pulumi/pulumi/issues/2430 https://github.com/pulumi/pulumi/issues/2430
I'm watching this with great interest.
Edit: looks like it's not high priority anymore :/
- webo 7y agoHow has your experience been with Pulumi? I tried it back in its alpha days to compare to terraform but I didn’t make much progress due to lack of documentation and limited ecosystem.
- octopoc 7y agoI really like the concept. Here are the highlights: - Helm v2 support didn't use Tiller, instead it rendered the YAML client side and pushed that to the server. Sort of how Helm v3 will be, but it didn't work very well in practice with the charts I wanted to deploy. It felt like Helm suppor t was an afterthought and the best way to deploy was to port all your Helm chart dependencies to Pulumi. - It was really intuitive to create functions that deployed the same thing repeatedly with slightly different settings. I used it for Office365 email server settings. I managed a couple domain names that use Office365 email so I had a single function that deployed the correct settings to the specified domain name, and I just called it twice with slightly different parameters. Way more intuitive than Terraform.
- ianpurton 7y agoWe're using Pulumi for a production system and couldn't be happier. The ability to template Yaml in Typescript and create infrastructure is mind blowing, all the time checked by the compiler. Well it's not so much templating as using Typescripts built in JSON syntax. Using VSCode we can refactor our infrastructure code, i.e. create functions for sub-levels of our Yaml. So we effectively combine our Kuberentes Yaml and infrastructure. It's great. Try it.
- levi_b 7y agoGlad to hear you’re enjoying it! We just released a bunch of new k8s content/features this week that you might want to check out. [1] (I maintain the k8s provider at Pulumi) [1] https://www.pulumi.com/blog/crosswalk-kubernetes/ https://www.pulumi.com/blog/crosswalk-kubernetes/
- demosito666 7y agoFrom the readme examples it seems that the code is not provider-agnostic, i.e. you write specifically for e.g. AWS. How is it then better than using AWS' native SDK for your language?
- levi_b 7y agoSupport for C# (and other .NET languages) just landed last week[1]. (I work on the k8s provider at Pulumi) [1] https://www.pulumi.com/blog/pulumi-dotnet-core/ https://www.pulumi.com/blog/pulumi-dotnet-core/
- octopoc 7y agoWow that is awesome, thank you! I'll have to check it out.