Linux provider (to be born?)

Hi,
big fan of TF, using it over 2ys in professional life, for various reasons and projects from small to enterprise, thanks a lot for it!
I had a sudden idea, maybe stupid, but wanted to discuss and see the needs.
Let’s have a “generic” Linux provider, so it would do something like ansible, puppet or salt. Okay, okay I know these tools are there and they are just perfect, but hey, maybe it would make sense to make a provider.
I have couple of years software development experience, and would be supper happy to make this happen, if there is a need…
What do you guys think?
Thanks for all the answers, please criticize, give ideas, I’m hard to offend but stay respectful as the community guideline says :slight_smile:

A month ago, @mitchellh tweeted about a new project and I’m still hoping that it’s going to be basically what you’re asking for: configuration management using HCL

If that’s not it , then hopefully somebody else will come up with something.

The problem I see with doing the config management as a Terraform provider is that Terraform is a push-style operation only and config management needs to have pull functionality if it’s going to be useful with auto-scaling. (And then you can do push as well by sending a signal that triggers a pull)

So we’d need some kind of config management server and a way of ensuring that each entity only receives it’s own config and not everybody else’s. Maybe Vault can be twisted to do something like that and issue certs to the pulling entities and also ensure that only authenticated entities can issue push triggers.

Oh BTW, have you seen the shell provider? Might be useful for you as it holds state as opposed to the provisioners. Downside is that it runs locally where TF is executed.

Configuration management makes (somewhat) sense for static typically on premise hardware.

For cloud VMs it just ends up getting in the way of simplicity.

For computers, things can be automated to an huge extent that the configuration management system can “stay out of the way” (userdata and such)

*** I had hope that “Converge” might succeed/be enhanced as its a single binary Golang tool. AFAIK it can work in push or pull style.

Thanks for all the answers, well looks like this is not really an invention we need right now :slight_smile: