Hello all Getting started with IaC in our infra an...
# getting-started
c
Hello all Getting started with IaC in our infra and decided to go with Pulumi. I want to start slow to get my bearings right so instead of deploying Azure or AWS infrastructure with Pulumi, I decided to start off with deploying Grafana Cloud as its something we can experiment with for now. Moreover, I want to deploy the kuberenetes operator and use the Program custom resource and hence I want to use declarative YAML for my program definitions. My question is that in the Pulumi registry, some packages don't have any mention of YAML, especially in the Grafana Cloud package. Can I still use YAML with such packages? Can I use YAML with any package in the Pulumi registry? If not, how do I know the supported languages for a package?
w
c
oh, right. So what does this mean? Do all packages support yaml implicitly?
w
that i am not sure about, but i guess it seems that way! (i am also quite new to pulumi)
"Pulumi YAML programs can use any package and any resource defined in the Pulumi Registry. This includes 80+ cloud and SaaS providers, comprising tens of thousands of cloud infrastructure resources." from https://www.pulumi.com/blog/pulumi-yaml/
c
ooh...it can even implement packages implemented in a different language! Thank you! This is what I was looking for.
l
@cuddly-engineer-30016 there might not be YAML examples for some (mainly community) packages, but every of these packages exports a Pulumi schema. Our YAML support works because of this schema. If you activate the Pulumi YAML language server in your editor, you have proper code completion for all the types and properties. https://github.com/pulumi/pulumi-lsp?tab=readme-ov-file#setting-up-pulumi-lsp
c
What about other language support? Do packages need to explicitly support say C# or does the schema handle this? Does CrossCode come into play here?
l
Other language support first needs runtime support within Pulumi, hence our list of supported languages. Once a language is supported, we generated language specific SDKs for these and publish these in the respective package registries. Each provider had their packages listed on the
Installation & Configuration
page of their entry in our Registry. For instance, for the AWS provider: https://www.pulumi.com/registry/packages/aws/installation-configuration/#installation
c
So, if a language is not there in a package's installation page, its safe to assume there is no support right?
l
Most likely, yes. But it is always best to ask (as an issue) in the corresponding Git repository. The link to the backing code repository can be found in the top right corner of the Registry pages of a provider.
c
Gotcha! Thanks so much for answering these trivial questions. Much appreciate it
l
No problem. Hope you have a great time using Pulumi. pulumi logo