Replace Chef with Ansible
#### Status 2021-07-27 - Focusing on extending the initial pipeline used for testing to support multiple environments, and ensuring alignment with &492. Immediate next steps include repeatable/automated methods to create/manage OS-level ansible service accounts and the corresponding SSH keys for Ansible connections to the target nodes, followed by analysis and conversion of existing base roles/cookbooks from Chef. Next steps 1. Setup multi-environment CI pipelines 1. Provision ansible service account (GCP) 1. Finalize tag-based dynamic inventories 1. Provision ansible service account (SSH) 1. Update bootstrap processes to deploy Ansible service account public keys *** #### DRI @craig *** #### Overview With Chef Server officially EOL as of 2020-12-31, we need to organize the discussion, planning, and execution of replacing all relevant software, configuration artifacts, and infrastructure systems with equivalents within the Ansible ecosystem. We already make heavy use of Ansible to deploy gitlab.com, so this shift will leverage existing knowledge, expertise, and technology within GitLab. Discussions related to the work of this epic are being held in the slack channel #chef-ansible-migration *** #### Reference 1. [Chef discontinues distribution of open-source packages, and requires subscription for enterprise](https://blog.chef.io/chef-software-announces-the-enterprise-automation-stack) 1. Chef Software [acquired](https://investors.progress.com/news-releases/news-release-details/progress-completes-acquisition-chef) by [Progress Software Corp](https://investors.progress.com/news-releases/news-release-details/progress-announces-acquisition-chef) 1. [Initial design concept, discussion, and high-level implementation notes](https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/12274)
epic