
Embark on a hands-on devops course designed to sharpen practical skills through five sections and course resources. Follow along with on-screen guidance, clone repositories, and learn by doing.
Explore how to fuse AWS, GitLab CI/CD, Terraform, Docker, and Kubernetes across five sections, from OIDC authentication to EKS automode and Argo CD GitOps.
Set up your GitLab and AWS accounts, then register a GoDaddy domain to enable CNIM records and map the load balancer hostname with TLS and SSL.
Set up a public Route 53 hosted zone, delegate DNS to AWS name servers from GoDaddy, and obtain a wildcard certificate via DNS validation.
Create your first GitLab project in the interface, naming it OIDC project under your user and setting it private. Push and pull via SSH after adding an SSH key.
Learn to generate and configure an ssh key for GitLab using the ed25519 algorithm, with step-by-step commands to create, name, copy, and add the public key to GitLab.
Authenticate and push to a GitLab project using an ssh key. Initialize a local repo, set the remote origin, configure user details, and verify the connection before pushing.
Create an IAM user with administrator access, generate access key and secret key, and configure GitLab CI/CD variables in eu-west-2 to enable secure AWS authentication and future OIDC setup.
Set up an OIDC connection between GitLab and AWS to obtain temporary credentials via a federated identity without secrets. Deploy the OIDC provider, role, and policy with Terraform.
Learn to create an OIDC connection between GitLab and AWS with Terraform, configuring the identity provider, trust, project path conditions, and issuing temporary credentials.
Set up an AWS OIDC workflow with Terraform by generating a TLS certificate, creating a federated role and policies, and wiring GitLab CI/CD for secure authentication.
Enable OIDC authentication with Terraform by configuring a GitLab CI pipeline that initializes, validates, plans, applies, and destroys AWS resources, culminating in a role ARN for secure access.
Configure OIDC in GitLab CI/CD by using the role ARN to obtain temporary AWS credentials via STS, replacing long-lived keys, and apply YAML anchors for reusable pipeline steps.
Learn to set up your own GitLab runner with Terraform, provisioning an EC2 instance and IAM role. Run jobs in Docker containers and access with Session Manager instead of SSH.
Learn to access an AWS EC2 instance via Session Manager, install the Session Manager plugin, and set up a GitLab runner with Docker executor, preparing for Terraform automation.
Explore GitLab's shared template concept by centralizing a Terraform workflow (init, validate, plan, apply, destroy) in a separate project and including it from others with a yaml template tfworkflow.yaml.
Create two private AWS EC2 GitLab runners with a modular Terraform workflow, installing Docker, registering runners non-interactively, and enabling SSM access via an IAM instance profile.
Deploy GitLab runners with Terraform using AWS OIDC and a project runner token, configure CICD variables, and extend the trust relation for multiple GitLab projects.
Deploy the model LMS to our EC2 instance using session manager, GitLab CI-CD, Docker Compose, nginx reverse proxy, and AWS SSM, securing access with sadbot lets encrypt ssl.
Explore Moodle lms lamp stack requirements and set up linux, apache, mysql, and php with necessary extensions. Prepare containerized deployment with docker and gitlab on ec2, focusing on config.php security.
Explore deploying Moodle LMS with Docker and Docker Compose behind an Nginx reverse proxy, secured by SSL, using Terraform to provision EC2, VPC, subnets, IAM roles, and GitLab CI.
Log in to the instance via SSM, verify docker is installed, add the SSM user to the docker group to run docker commands without sudo, and check cloudinit-output.log.
Dockerize moodle with docker compose on EC2 using PHP 8.4 Apache and MySQL containers, ensuring required and recommended PHP extensions are installed via docker PHP extension install or configure.
Learn to build Moodle LMS docker image from a PHP 8.4 Apache base, clone Moodle via Git, copy to web root, and auto generate config.php behind an Nginx SSL proxy.
Discover how to deploy a Moodle LMS stack with Docker Compose, including module and MySQL databases, Nginx, phpMyAdmin, and automated certificate provisioning via Let's Encrypt in a CI/CD workflow.
Explains how to configure GitLab CI to build and tag Docker images with the GitLab container registry, and deploy them to an EC2 instance via AWS SSM using OIDC credentials.
Grant the module instance S3 read-only access to download artifacts, then use GitLab CI with OIDC and Terraform plan and apply to update permissions and run pipelines.
Watch a hands-on moodle build and deploy workflow, validating registry authentication, build cache usage, artifact export, and deployment verification through containerized ci/cd.
Learn end-to-end Moodle deployment using Terraform, GitLab CI/CD, and Docker Compose, orchestrated by AWS Systems Manager; provision Let's Encrypt certificates, run Nginx and Moodle, and enable phpMyAdmin access.
Explore EKS auto mode overview: AWS manages cluster and compute, while you handle VPC, configuration, add-ons, and the app via node class and node pool under shared responsibility model.
Compare RBAC, IRSA, and port identity in EKS, explaining how roles and cluster roles govern Kubernetes API access while IRSA and port identity manage AWS credentials.
Learn to deploy an EKS cluster with Terraform using the auto mode, configure OIDC access, and manage cluster access via a jump server and Kubernetes access entries.
Explore the terraform eks module configuration overview, featuring a modular EC2/ECR/EKS setup with VPC and jump server access. Includes OIDC, pod identity, SSM access, and S3 backend.
Explore a GitLab CI workflow for Terraform-based eks auto mode deployment, including a custom node class and access entries, with Terraform outputs and pipeline stages from init to destroy.
Learn how to troubleshoot a Terraform EKS deployment part 2, fix pipeline output mismatches, set au-west2 region, and enable jump-server and OIDC access for the cluster.
Learn how to configure EKS AutoMode with a node class and node pool, including the node IAM role, subnet and security group selectors, and readiness checks.
Build and push a PHP 8.4 contact form image to ECR, test locally with Docker, and deploy to a Kubernetes cluster using IRSA or port identity, with S3 upload.
deploy the contact form app to eks by using ecr images, kubernetes manifests, config maps and secrets, and automate deployment with a gitlab pipeline and ingress.
Configure and deploy an AWS application load balancer with an ingress class for EKS AutoMode, using a TLS certificate to expose the PHP app and PHP marketing services.
Explore Argo CD, declarative GitOps tool that keeps Kubernetes cluster in sync with a Git repository. Install it using EKS blueprint and plain directory YAML, with Helm behind the scenes.
learn to configure Terraform EKS blueprint add-ons with Argo CD, manage provider version constraints, and pass GitOps credentials for a private repo via CI/CD variables.
Access the Argo CD user interface securely over TLS, deploy Argo CD on an EKS cluster, configure an ingress, retrieve admin credentials, and create an Argo CD application via manifest.
Deploy the contact form app with Argo CD and a shared ingress. Enable tls for secure public access and have Argo CD auto-sync repository changes.
This course is a hands-on, project-driven DevOps course designed to teach you how modern DevOps is practiced in real production environments.
Rather than focusing on theory, you will build, deploy, and manage real applications end-to-end using industry-standard tools such as GitLab CI/CD, Docker, Terraform, AWS, Kubernetes (EKS Auto Mode), and ArgoCD.
You will start by setting up a secure GitLab workflow, including SSH authentication, GitLab runners, and OIDC-based authentication with AWS, eliminating long-lived access keys and aligning with modern cloud security best practices.
From there, you will work on real-world projects, including deploying a three-tier Moodle LMS application on EC2 using Docker, Docker Compose, Terraform, and CI/CD pipelines. You will also learn how to deploy applications to EC2 instances directly from GitLab CI/CD using AWS Systems Manager (SSM), enabling secure, keyless access to servers without relying on SSH.
Next, you’ll take things further by deploying workloads to Kubernetes on AWS using EKS Auto Mode. You’ll learn how to:
Provision EKS using Terraform modules
Work with NodeClasses, NodePools, StorageClasses, and Ingress
Implement AWS Pod Identity for secure, least-privilege pod-to-AWS access
Build container images, push them to Amazon ECR, and deploy them via CI/CD
Expose applications securely using AWS Load Balancers and Route53
Finally, you’ll implement GitOps using ArgoCD, where Git becomes the single source of truth for your Kubernetes deployments. You’ll install and configure ArgoCD with Terraform, secure access with TLS, and deploy applications declaratively using GitOps workflows.
By the end of this course, you won’t just understand DevOps concepts — you’ll have practical, production-ready experience designing, building, and operating CI/CD pipelines, cloud infrastructure, and Kubernetes platforms the way they are implemented in real organizations.