Our current Ansible and Terraform should be reorganized more coherently.
A single central Ansible repository would be created to store host_vars, group_vars, the inventory file(s), and the overall playbook or playbooks. Then, each role would be split out into its own separate repository and pushed to Ansible Galaxy. The central Ansible repository would then reference the roles pushed in Ansible Galaxy. We could also use other roles, such as those created by geerlingguy, that are deemed of sufficient quality to use. Please note that this repository would be separate from our openstack-ansible repository.
Our Terraform should be split into two repositories: an internal and external repository. The external repository would contain all Terraform for our AWS environment, and could also include anything used for any other public clouds we choose to use. The internal repository would contain all Terraform for our internal OpenStack environment.
The goal should be that these repositories could be used to completely re-deploy our entire club infrastructure with the proper variables set. The only required dependencies should be AWS and OpenStack accounts with the proper permissions. Yes, that does mean that we would need to have OpenStack set up.
Tasks
All of the following tasks must be complete before this issue can be closed. Be sure to reference this issue in the relevant issues/PRs in other repositories.
[x] Create internal Terraform repository
[x] Create external Terraform repository
[x] Update existing Ansible repository to match the goals outlined in this issue
[x] Merge existing Terraform and Ansible into the repositories as described above
[ ] Document how to run our Terraform and Ansible and explain what it is used for
Organize Existing Automation
Our current Ansible and Terraform should be reorganized more coherently.
A single central Ansible repository would be created to store host_vars, group_vars, the inventory file(s), and the overall playbook or playbooks. Then, each role would be split out into its own separate repository and pushed to Ansible Galaxy. The central Ansible repository would then reference the roles pushed in Ansible Galaxy. We could also use other roles, such as those created by geerlingguy, that are deemed of sufficient quality to use. Please note that this repository would be separate from our openstack-ansible repository.
Our Terraform should be split into two repositories: an internal and external repository. The external repository would contain all Terraform for our AWS environment, and could also include anything used for any other public clouds we choose to use. The internal repository would contain all Terraform for our internal OpenStack environment.
The goal should be that these repositories could be used to completely re-deploy our entire club infrastructure with the proper variables set. The only required dependencies should be AWS and OpenStack accounts with the proper permissions. Yes, that does mean that we would need to have OpenStack set up.
Tasks
All of the following tasks must be complete before this issue can be closed. Be sure to reference this issue in the relevant issues/PRs in other repositories.