• Post category:StudyBullet-16
  • Reading time:12 mins read


Learn Infrastructure Provisioning using OpenTofu with lectures, quizzes, hands-on demos and coding exercises

What you will learn

Introduction to OpenTofu

Getting Started with OpenTofu and OpenTofu Configuration Language

OpenTofu Providers, Resource Types, Input and Output variables, Provisioners

Migrating from Terraform to OpenTofu

Data sources, Modules and Registries in OpenTofu

Local and Remote State file Management with Backends

Working with OpenTofu using timeouts, taints, untaints, graphs, aliases, local value block

Process of Importing resources inside OpenTofu Management

Meta-Arguments, Functions and Workspaces

Real Time OpenTofu Sample Projects for Network, Compute and Container Orchestration

Description

What’s in this course?

This Infrastructure Automation with OpenTofu course is designed for absolute beginners to experts looking to learn OpenTofu. It introduces the basic fundamental blocks needed to get started with OpenTofu. The course begins with an introduction to OpenTofu, explaining how it differs from Terraform, followed by real time OpenTofu setup, OpenTofu Configuration Language, Providers, Resources and OpenTofu Workflow. This course also covers the core critical concepts such as Input variables, Output block, Provisioners and Datasources, Modules, Backends, State File management followed by other topics like workspaces, Graphs, Taints, Dependencies and much more. We will also learn how existing Terraform code can be migrated to the OpenTofu ecosystem with ease. Don’t worry if you are new to OpenTofu, we are going to get started with the absolute basics. Each lecture in this course is accompanied by real hands-on demos.

What is OpenTofu?

In today’s complex IT landscape, creating, managing and updating a variety of infrastructure platforms and their services (can be IaaS, PaaS or SaaS) can be a daunting task. This is where OpenTofu – a powerful open-source, community driven, stable, simple and impartial software steps in, offering powerful Infrastructure as Code capabilities. The OpenTofu project is part of The Linux Foundation and the first release of OpenTofu was made in January 2024.

Legal Notice:


Get Instant Notification of New Courses on our Telegram channel.


OpenTofu is open-source, community-driven Infrastructure as Code tool which is managed by the Linux Foundation. OpenTofu and the OpenTofu logo are trademarks or registered trademarks of The Linux Foundation in one or many countries. The Linux Foundation and other parties may also have trademark rights in other terms used herein. This course is not certified, accredited, affiliated with, nor endorsed by The Linux Foundation.

Course Structure:

  • Lectures
  • Demos
  • Quizzes
  • Assignments

Course Contents:

  • Introduction to OpenTofu
  • Getting Started with OpenTofu
  • OpenTofu Configuration Language
  • OpenTofu Providers
  • OpenTofu Workflow and Resources
  • Migrating from Terraform to OpenTofu
  • Input Variables
  • Output Values
  • Provisioners
  • Data Sources
  • Modules and Registries
  • State files
  • OpenTofu Remote State and Backends
  • Working with OpenTofu – timeouts, taints, graphs, aliases
  • Local Value Block
  • Import Existing Infrastructure
  • Meta-Arguments – Lifecycle Rules, depends_on, count, for_each
  • Built-In Functions
  • Workspaces

All sections in this course are demonstrated Live. The intention for enrolled users is to setup their own OpenTofu environment, perform the exercises and learn by doing!!!

English
language

Content

Introduction

Course Introduction
OpenTofu Introduction | OpenTofu vs Terraform
Demo – OpenTofu Documentation
Introduction to OpenTofu
Github Repository Link
Course Material – Infrastructure Automation with OpenTofu Presentations

Getting Started with OpenTofu

Pre-Requisites and Setting up OpenTofu
Demo – AWS Instance Creation (Optional)
Demo – OpenTofu setup for AWS Platform
Demo – OpenTofu setup for macOS
Getting Started with OpenTofu

OpenTofu Configuration Language

OpenTofu Configuration Language
Demo – OpenTofu Configuration Language Documentation
OpenTofu CLI
Demo – OpenTofu CLI usage
OpenTofu Configuration Language

OpenTofu Providers

Providers and their Types, Provider Versions and Multiple Provider Usage
Demo – Provider Documentation
Demo – First Provider file in OpenTofu
Demo – Multiple providers
OpenTofu Providers

OpenTofu Workflow and Resources

OpenTofu Workflow and Resources
Demo – OpenTofu Resources Documentation
Demo – Workflow for instance creation on AWS
Resource updates (In-place and Recreate)
Demo – Resource Updates – In-place and Recreate
Resource References
Demo – Resource References
OpenTofu Workflow and Resources

Migrating from Terraform to OpenTofu

Migration and Rollback Process
Demo – Terraform to OpenTofu Migration
Migrating from Terraform to OpenTofu

Input Variables in OpenTofu

OpenTofu File Structure
Demo – OpenTofu files
Demo – Visual Code Overview (Optional)
Input Variables
Demo – Input Variables
Demo – Input Variables with -var Option
Demo – Input Variables with Environment variables
Demo – Input Variables with .tfvars files
Demo – Input Variables Precedence
Variable – Type Constraints
Demo – Variable- Type Constraints
Demo – Advanced Use of Variables (optional)
Input Variables in OpenTofu

Output Values in OpenTofu

Understand Output Values
Demo – Tofu Console Command and Output Block
Output Values in OpenTofu

Provisioners and Connection Block

Provisioners, Provisioners Types and Connection Block
Demo – Local Provisioners | When and On-failure options
Demo – Remote Provisioners
Demo: File Provisioners
Provisioners and Connection Block

Data Sources in OpenTofu

Understanding Data Sources
Demo – Challenges without Data Sources
Demo – Resolution using Data Sources
Data Sources in OpenTofu

Modules and Registries

Understanding Modules and Registries
Demo – Navigating Modules Documentation
Demo – Module Registry
Creating Custom Modules
Demo – Create Child Module
Demo – Create Root Module
Demo – Publish Code to Registry
Modules and Registries

State and State Files in OpenTofu

State, State Files and their Purpose
Demo – State filles – terraform.tfstate and terraform.tfstate.backup
Demo – State Files in Action
“tofu state” Command
Demo – “tofu state” CLI usage
State and State File in OpenTofu

OpenTofu Remote State and Backends

Remote State, Backends and their significance
Demo – Preparing Remote Backend
Demo – Implementing Remote Backend
OpenTofu Remote State and Backends

Working with OpenTofu

Timeouts and debug
Demo – Operation Timeouts and Debugging
OpenTofu Taints and Untaints
Demo – Taint and Untaint
OpenTofu Graph Command
Demo – “tofu graph” CLI Usage
Import in OpenTofu
Demo – Importing Existing Infrastructure
Local Values Block
Demo – Local Values Block
Alias
Demo – Provider Aliases
Working with OpenTofu

Meta-Arguments, Functions and Workspaces

lifecycle Meta-Argument
Demo – Lifecycle Rules
depends_on Meta-Argument
Demo – depends_on Meta-Argument
count Meta-Argument
Demo – count Meta-Argument
for_each Meta-Argument
Demo – for_each Meta-Argument
functions (min, max, length, file, offset, lookup etc.)
Demo – Functions in OpenTofu
Workspaces
Demo – Workspaces
Meta-Arguments, Functions and Workspaces

Sample OpenTofu Projects

Project1 and Project2 Overview (VPC Network and Compute)
Hands-On Project1 – VPC & Other Network Components
Hands-On Project2 – Compute

More Learnings

More Learnings – Free Online Assessments Platform