Well-Architected Framework
Version control systems
Version control systems (VCS), such as GitHub, GitLab, and Bitbucket, allow you to store and version your code. VCS fosters collaboration by making it easy to share and collaborate on code with peers. Terraform can manage the installation and configuration of on-prem VSC systems and configure VCS as a service.
Automating VCS configuration with Terraform improves the reliability and security of your infrastructure by applying the same controls you use for managing applications and infrastructure. By managing your VCS as code, you can reduce manual configuration errors, integrate VCS configuration into CI/CD, and enforce security best practices at a granular level.
Benefits of using Terraform:
- Set default branches and branch protections
- Create branches and repositories
- Manage code releases
- Create and manage security controls, users, and groups
- Install and configure your VCS in the cloud and on-prem
HashiCorp resources:
- List of version control systems in the Terraform Registry
- Manage GitHub Users, Teams, and Repository Permissions
Next steps
In this section of Codify infrastructure and tools, you learned how to define your version control systems using infrastructure as code to enable version control and audit capabilities for VCS changes. Define your version control systems is part of the Define and automate processes pillar.