Search code examples
amazon-web-servicesvagrantpuppetaws-opsworks

vagrant, puppet, aws but without vagrant on aws


So I have been googling for a while now and either I have completed the internet or I cannot articulate my search query to find the answer so I thought I would come here.

So my team and I want to use vagrant on our local machines which is fine. We want to use puppet for our configs. Now we don't want vagrant inside inside our AWS/DigitalOcean/Whatever providers instance. How do I get the puppet config to automatically build the instance for us ?

I am a little stuck, I think I need a puppet master but how does the AWS instance for example get built based on the puppet config and how does vagrant use the same config ?

Thanks


Solution

  • That's the default behavior if you install vagrant on your local workstation and configure an instance for AWS. Vagrant will connect over SSH to the instance and install client software (in this case puppet) to configure the instance.

    In short: Vagrant will not install itself on any AWS-Instance.

    Here's a link to the Vagrant-AWS Plugin: Vagrant-AWS

    Further information: Vagrant uses providers to create VM's. The normal workflow is to use for example the virtualbox provider (which is build into vagrant) to create local VM's. You can set attributes for the specific provider in the Vagrantfile. In this case you need the Vagrant aws provider (which is a plugin -> vagrant plugin install <pluginname> command). Thus you can create VM's remotely. Just as with the virtualbox provider vagrant will not install itself on the created VM (remotely or not doesn't matter)