Sfeir Institute Terraform
This repository help customers to use HashiCorp Terraform over multiple modules.
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
Technical stack requirements
Terraform
All code used are compatible with the 0.12 major version of Terraform.
GCP
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
Gitlab
Module 6 and 7 use Gitlab to manage CI and CD pipelines. An active account is required on Gitlab.
Others
All other components will be part as Open-Source projects and will be deployed on Kubernetes using Google Kubernetes Engine
Slides
Slides are available here : https://sfeir-open-source.github.io/sfeir-school-terraform
How to use
Source code and tutorials are saved in directory steps
, with one directory labs, and another one suffixed with -solution
with solutions...
Notes : if you made changes, don't forget to commit locally using git commit -m "<msg>"
How to contribute
Please report issues using Github issue. If you would like to contribute on this repository, please submit a pull request.