we don't have a circleci provider for pulumi, do w...
# general
g
we don't have a circleci provider for pulumi, do we?
e
I don't think so. We could help with a community provider for it, either a native one or bridging a terraform provider for circleCI such as https://registry.terraform.io/providers/mrolla/circleci/latest/docs
g
I've used that one a lot; is the process of bridging diffiult?
maybe i need to learn some Go hey
e
It's more difficult than it needs to be, a lot of accidently complexity that we're trying to get rid off, but it isn't that hard. You can generally copy another non-pulumi provider such as https://github.com/lbrlabs/pulumi-scaleway and look at the template repo https://github.com/pulumi/pulumi-tf-provider-boilerplate Feel free to ask for help in #contribute as well.
g
easy, cheers
ah crap it needs .net doesn't it
why, why u do this
"i have not suffered enough"
e
Yeh that's one of the "more complex than we'd like" aspects. You can just cut all the .net stuff out to start if you want, we're looking at making it easier for people here by doing the codegeneration and publishing as a service, but that's a while off. Still this'll be your provider, you don't have to support .net if you don't want to.
g
right
i'm guessing the vast majority of pulumi templates in the wild are tyescript followed by python, yeah?
f
I don't know if @big-architect-71258 is has time, but he helped me get my provider setup.
b
Hi folks 👋 First question: which one to wrap? 😀 Seems there's no official provider. Or I overlooked it. If the provider is not such a monster like the Fortios of @fresh-scientist-56300 wrapping is not that hard.
Seems that the Provider of mrolla is by far the most popular one: https://github.com/mrolla/terraform-provider-circleci
I quickly wrapped the TF provider. But the functionality of the TF provider is limited. Only the following resources and data sources are available. Because I never used CircleCI, I can't assess if this makes any sense to have that little support.
Copy code
Resources: map[string]*tfbridge.ResourceInfo{
			"circleci_context": {
				Tok: makeResource(mainMod, "circleci_context"),
			},
			"circleci_context_environment_variable": {
				Tok: makeResource(mainMod, "circleci_context_environment_variable"),
			},
			"circleci_environment_variable": {
				Tok: makeResource(mainMod, "circleci_environment_variable"),
			},
		},
		DataSources: map[string]*tfbridge.DataSourceInfo{
			"circleci_context": {
				Tok: makeDataSource(mainMod, "circleci_context"),
			},
		},