Add support in HAProxy / Chef / Config Management for releasing Workspaces HTTP Server on .com
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=578194) </details> <!--IssueSummary end--> MRs: **Staging** - https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/12503+ - https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/6549+ - https://gitlab.com/gitlab-cookbooks/gitlab-haproxy/-/merge_requests/435+ - https://gitlab.com/gitlab-com/gl-infra/production-engineering/-/issues/27886+ **Production** - ... <!-- NOTE: For context on MR heading, see: https://handbook.gitlab.com/handbook/engineering/devops/dev/create/remote-development/index.html#relationship-of-issues-to-mrs --> ## Description Add support in HAProxy / Chef / Config Management for releasing Workspaces HTTP Server on .com as per the conversation in https://gitlab.com/gitlab-com/gl-infra/production-engineering/-/issues/27468#note_2786845164 ## Acceptance criteria - [ ] Workspaces HTTP Server is live on gstg. You should be able to create a workspace on staging and access it from the configured URL. - [ ] Workspaces HTTP Server is live on gprd. You should be able to create a workspace on staging and access it from the configured URL. ## Implementation plan For each environment(gstg, gprd), do the following - [ ] Define a pool for the environment ([ref](https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/blob/master/roles/gstg-base-haproxy-main-config.json#L86-L91)) - [ ] Add an override for the port ([ref](https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/blob/master/roles/gstg-base-haproxy-main-config.json#L141)) - [ ] Add a backend definition in HAProxy ([ref](https://gitlab.com/gitlab-cookbooks/gitlab-haproxy/-/blob/master/templates/default/backends/kas.erb?ref_type=heads)) - [ ] Add to enabled backends ([ref](https://gitlab.com/gitlab-cookbooks/gitlab-haproxy/-/blob/master/attributes/default.rb#L24)) (This should be done on an environment level in `chef-repo` until rolled out to `gprd`) - [ ] Add a frontend definition in HAProxy ([ref](https://gitlab.com/gitlab-cookbooks/gitlab-haproxy/-/blob/master/templates/default/frontends/kas.erb?ref_type=heads)) - [ ] Add to enabled frontends ([ref](https://gitlab.com/gitlab-cookbooks/gitlab-haproxy/-/blob/master/attributes/default.rb#L18)) (This should be done on an environment level in `chef-repo` until rolled out to `gprd`) - [ ] Add the `8160` port to the existing load balancer [here](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/blob/main/environments/gstg/variables.tf?ref_type=heads#L182) - [ ] Adds DNS records through `config-mgmt` in Terraform: - [ ] `*.staging.gitlab.dev` - [ ] `kas.staging.gitlab.com` <!-- NOTE: Feel free to expand with more sections and headers as needed --> <!-- DO NOT TOUCH BELOW -->
issue