For configuring our own gitlab we need to prepare the infrastructure inside the AWS environment.
- Use IAC approach - AWS codepipelines can be used here, to avoid using the source gitlab.
- The setup has to be situated in separate VPC. Ensure EBS 200Gb volume is attached. Deploy backup policies for EBS.
- Setup will have to contain an RDS PostgreSQL instance in private subnet. Ensure backups are enabled.
- 2core/8ram EC2 instance should be added (ubuntu-based), with a public IP (alternatively we can use an ALB in public network with EC2 instance in private network - this will ease up the certificate management).
- Prepare separate subdomain for the gitlab installation (and TLS certificate - easier with ALB deployed).
- Add a light instance as a base gitlab runner, which will be used for running the jobs (this will me moved to a User Migration ticket)
- Ensure EC2 instance has needed "ses" roles attached, since we will be using AWS SES for sending the emails to the users - in fact Gitlab does not support IAM roles, so we had to prepare a separate account.