This repository help customers to use HashiCorp Terraform over multiple modules.
Each module can be run independently
- Module 1 : Introduction of Terraform (no lab)
- Module 2 : First step with Terraform
- (lab) Installation and Configuration
- Module 3 : Langages and Interpolations
- (lab) My First infrastructure deployment
- (lab) Advanced development and Interpolation
- Module 4 : Integrated Development Environment
- (lab) Improve productivity using IDE
- Module 5 : Testing strategies
- (lab) Continuous Integration with Terraform
- Module 6 : Team Working
- (lab) Create you own module registry using Gitlab
- Module 7 : Usage in production
- (lab) Continuous Deployment with Terraform
- Module 8 : Custom Providers
- (lab) : Create your own Terraform provider
All code used are compatible with the 0.12 major version of Terraform.
This set of labs use Google Cloud Platform resources. An active GCP project is required, and specifics roles like roles/compute.admin
, roles/container.admin
may be necessary regarding resources used.
Disclaimer : This institute will not cover GCP services usage. Please follow Google Cloud Platform Sfeir Institute if you want to learn more about GCP services
Module 6 and 7 use Gitlab to manage CI and CD pipelines. An active account is required on Gitlab.
All other components will be part as Open-Source projects and will be deployed on Kubernetes using Google Kubernetes Engine
Source code and tutorials are saved in a dedicated branch of this repository.
You can switch between branches using git checkout <branch-name>
Notes : if you made changes, don't forget to commit locally using git commit -m "<msg>"
)
Please report issues using Github issue. If you would like to contribute on this repository, please submit a pull request.