tknerr / vagrant-managed-servers

Enables Vagrant to ssh into and provision managed servers
MIT License
185 stars 30 forks source link

Allow :managed provider to inherit from cloud providers #7

Open patcon opened 11 years ago

patcon commented 11 years ago

This is awesome! Not sure how this would work atm, but this fits perfectly into a use-case for feature that I was planning to submit to the :aws or :rackspace providers.

The issue is that, while I obviously expect to spin up new servers with vagrant up --provider=aws, I want to create a bunch of users so that any team member can technically rerun the provisioner with cloud credentials. But since cloud providers require credentials for any provisioning commands, there's no elegant way for team members to manage their infra. It would be awesome to version-control a file from .vagrant.d/ with ip or hostname info, and then team members could just run vagrant provision --provider=managed (with their username on the server somewhere in the Vagrantfile) and they could converge the box.

It might work something like this, config-wise:

config.managed.inherit_provider = :aws
config.managed.inherit_provider = :rackspace
config.managed.inherit_provider = :auto

Anyhow, just a use-case to put on your radar. I'm happy to work on this in the next few months when I get to the point that I need it :)

tknerr commented 11 years ago

Caveat: I have tried vagrant provision --provider=managed as well but this errors because --provider is not a valid option for provision.

That's why I ended up with the artificial vagrant up --provider=managed only to convince vagrant I want to use this provider for the following provision and ssh actions.

I would love to make up and destroy no-ops as well but I don't know how to get vagrant provision --provider=managed alone to work... :-/

tknerr commented 11 years ago

Btw: sorry for the distraction, but your use case sounds very valid to me

As a really manual workaround you could use vagrant-awsinfo in the meantime to get the ip address but you want that automatically inherited from the other provider, right?

I think I got the idea...

patcon commented 11 years ago

Good point. You're totally right. OK, well something for me to think on!

And :+1: on the awsinfo plugin. Thanks!