- `vagrant up` to bring up a development enviornment and make application changes
- `vagrant push` to send application code
- `packer push` to package software requirements to produce an artifact (AMI, Docker container, VMware image, many more)
- `terraform apply` to deploy artifacts
Important to note that each of these commands can be executed by different people in different sequences, and all changes are tracked in the Atlas Dashboard/UI.
I want to add to what Kevin said here (and disclaim that he is a HashiCorp employee) by saying that in a few months all of these steps will be possible via the web UI and without a command line interface or any knowledge of our open source at all. That is the direction we're heading.
The current form of Atlas requires usage of our open source and is a tech preview showing what is coming and the direction we're heading. It is very much functional but we're going to make it a very slick system that does all of this for you without a CLI. For example, Atlas currently already runs Packer for you on our servers. We're going to extend that to everything.
I have built a few projects with vagrant and it's annoying when working on the puppet files that I'm constantly installing php and httpd in the vagrant file just to try a new wordpress config.
Should I be using packer to publish a mostly configured vagrant box. My vagrant steps just configure my app specifically for wordpress. Then use that box again in packer to publish it further?
In short:
- `vagrant up` to bring up a development enviornment and make application changes
- `vagrant push` to send application code
- `packer push` to package software requirements to produce an artifact (AMI, Docker container, VMware image, many more)
- `terraform apply` to deploy artifacts
Important to note that each of these commands can be executed by different people in different sequences, and all changes are tracked in the Atlas Dashboard/UI.