Offer small hosted runner on Linux Arm for GitLab.com for all Tiers
### Release notes
We are excited to introduce the small hosted runner on Linux Arm for GitLab.com available for the Free tier. The now available 2 vCPUs Arm runner is fully integrated with GitLab CI/CD, and will allow you to build and test your application for the ARM architecture.
We are determined to provide the industry’s fastest CI/CD build speed and look forward to seeing teams achieve even shorter feedback cycles and ultimately deliver software faster.
### Problem to solve
Free users want to cost-effectively build and test natively on the Arm architecture, without requiring them to setup their own self-managed runners.
### Proposal
Introduce `small` hosted runner on Linux Arm for GitLab.com with the following specs
| Runner Tag | vCPUs | Memory | Storage |
|------------|-------|--------|---------|
| saas-linux-small-arm64 | 2 | 8 GB | 30 GB |
<!--triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION-->
_This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc._
<!--triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION-->
- [x] Add new CIDRs for new shard ([here](https://gitlab.com/gitlab-com/runbooks/-/blob/master/docs/ci-runners/README.md?ref_type=heads#ephemeral-runners-unique-cidrs-list)) :point_right: https://gitlab.com/gitlab-com/runbooks/-/merge_requests/8178
- [x] Create a GCP project
- [x] **feat(Hosted Runners): create new environment** ([example](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9650)) :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9712
- [x] **feat(Hosted Runners): create the new GCP project** ([example](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9651)) :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9713
- [x] **feat(Hosted Runners): define the new environment folder** ([example](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9652)) :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9714
- [x] Request quota increase in GCP.
- [x] add new projects to the [CI Project Cleaner](https://ops.gitlab.net/gitlab-com/gl-infra/ci-project-cleaner).
- [x] Append the GCP project ID to `gcp_projects` ([example](https://ops.gitlab.net/gitlab-com/gl-infra/ci-project-cleaner/-/merge_requests/21)) :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/ci-project-cleaner/-/merge_requests/22
- [x] Add the GCP project ID to [`vault-production` GCP projects](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/blob/2d0e9da5c904e7426e321f55cbfff57ab89e33b1/environments/vault-production/gcp_projects.tf#L21-55). ([example](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9671)) :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9715
- [x] Add the GCP project ID to [`infra-mgmt` impersonated accounts](https://gitlab.com/gitlab-com/gl-infra/infra-mgmt/-/blob/b6c39a68530bed83c56670f9af002002a1382c1e/data/gcp/impersonated-accounts.yaml#L33-69). ([example](https://gitlab.com/gitlab-com/gl-infra/infra-mgmt/-/merge_requests/1263 "Added GCP projects to vault")) :point_right: https://gitlab.com/gitlab-com/gl-infra/infra-mgmt/-/merge_requests/1292
- [x] Create Chef roles {chef-repo MR} (ensure concurrent = 0) ([example](https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5280 "feat(Runner private): add roles for two new machines")) :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5312+s
- [x] Create runner-manager VMs ([example](https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9685)) :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9716
- [x] Fix networking
- [x] Use dedicated network to the arm64-small shard :point_right: https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9754.
- [x] Document the network change :point_right: https://gitlab.com/gitlab-com/runbooks/-/merge_requests/8205.
- [x] Register new runner managers and add tokens to Vault (6 tokens for each VM, that is 6x4 = 24 - automate?)
- ~~[x] gitlab.com/gitlab-org group runner~~
- ~~[x] gitlab.com/gitlab-com group runner~~
- ~~[x] gitlab.com/charts group runner~~
- [x] default gitlab.com instance runner
- [x] dev.gitlab.org instance runner
- [x] ops.gitlab.net instance runner
- [x] staging.gitlab.com instance runner
- [x] Add non-prod configs to chef :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5329+s
- [x] Set concurrent = 1 ([example](https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5293 "feat(Runner private 7/8): increase concurrency to 1")) :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5328+s
- [x] Add shard to the deployer :point_right: https://gitlab.com/gitlab-com/gl-infra/ci-runners/deployer/-/merge_requests/39+
- [x] Run deployer & verify runner-manager can create VMs.
- [x] Increase concurrent = 100 ([example](https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5294 "feat(Runner private 7/8): increase concurrency to 100")) :point_right:
- [x] Verify jobs are succeeding ([example](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/3865#note_2211210921 "[Hosted Runners VPC] Scale up the private shard")) :point_right:
- [x] Increase concurrent = 1200 ([example](https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5295 "feat(Runner private 7/8): increase concurrency to 1200")) :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5365+s
- [x] Update scaling options (scaling is very slow) :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5398+s
- [x] Update scaling and concurrent to fit quota constraints :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5399+s
- [x] Further restrict scaling and remove extraneous configs :point_right: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5409+s
- [ ] Inform EOC of the change
issue