Media is too big
VIEW IN TELEGRAM
12. Continuous Integration & Delivery CI/CD
Erik compares Continuous Integration (CI) and Continuous Delivery (CD). CI involves automating code integration from multiple contributors into a single project and validates changes. CD focuses on delivering software in short cycles, getting it into production as quickly as possible. While CI and CD are often used together, they are not the same thing, and mixing the two should be done carefully.
#lesson
Erik compares Continuous Integration (CI) and Continuous Delivery (CD). CI involves automating code integration from multiple contributors into a single project and validates changes. CD focuses on delivering software in short cycles, getting it into production as quickly as possible. While CI and CD are often used together, they are not the same thing, and mixing the two should be done carefully.
#lesson
Media is too big
VIEW IN TELEGRAM
13. CI/CD Q&A
Erik answers questions about CI/CD processes and advises against relying on manual scripts. The benefits of using cloud or CI/CD provider tools to run containers is also discussed in this lesson.
#lesson
Erik answers questions about CI/CD processes and advises against relying on manual scripts. The benefits of using cloud or CI/CD provider tools to run containers is also discussed in this lesson.
#lesson
Media is too big
VIEW IN TELEGRAM
14. Self-Hosted vs Cloud Providers
Erik addresses common misconceptions about self-hosting being easier or cheaper than cloud hosting, highlighting the complexities and maintenance involved in self-hosted solutions. The decision between self-hosting and using cloud providers should be based on an organization's specific needs, resources, and confidence in managing infrastructure.
#lesson
Erik addresses common misconceptions about self-hosting being easier or cheaper than cloud hosting, highlighting the complexities and maintenance involved in self-hosted solutions. The decision between self-hosting and using cloud providers should be based on an organization's specific needs, resources, and confidence in managing infrastructure.
#lesson
Media is too big
VIEW IN TELEGRAM
15. Infrastructure Setup
Erik discusses the service providers used throughout the course, including Doppler for secret management, GitHub Actions for CI/CD, Terraform for automation, and AWS as the chosen cloud provider. A question about secrets management is also discussed in this lesson.
- https://dashboard.doppler.com/register
- https://github.com/
- https://app.terraform.io/public/signup/account
- https://portal.aws.amazon.com/billing/signup#/start/email
#lesson
Erik discusses the service providers used throughout the course, including Doppler for secret management, GitHub Actions for CI/CD, Terraform for automation, and AWS as the chosen cloud provider. A question about secrets management is also discussed in this lesson.
- https://dashboard.doppler.com/register
- https://github.com/
- https://app.terraform.io/public/signup/account
- https://portal.aws.amazon.com/billing/signup#/start/email
#lesson
Media is too big
VIEW IN TELEGRAM
16. Terraform Cloud Components
Erik introduces the infrastructure automation process with Terraform components. A modular approach to managing various infrastructure components with a GitOps workflow adds flexibility and allows for easy scalability and updates across multiple environments.
#lesson
Erik introduces the infrastructure automation process with Terraform components. A modular approach to managing various infrastructure components with a GitOps workflow adds flexibility and allows for easy scalability and updates across multiple environments.
#lesson
Media is too big
VIEW IN TELEGRAM
17. Developer Service Components
Erik outlines the logical separation of developer service components. This structure gives developers access to their code repositories and deployments while allowing DevOps to manage the workspaces. The workshop materials repositories are also provided and contain the final solutions and branches for each step in the process.
#lesson
Erik outlines the logical separation of developer service components. This structure gives developers access to their code repositories and deployments while allowing DevOps to manage the workspaces. The workshop materials repositories are also provided and contain the final solutions and branches for each step in the process.
#lesson
Media is too big
VIEW IN TELEGRAM
18. Creating a Doppler Project
Erik introduces Doppler, a tool that simplifies the management of environment variables and secrets. Doppler allows users to organize secrets based on projects, workspaces, and configurations, providing a convenient way to store and access secrets securely. A Doppler project is created and the Doppler CLI is demonstrated.
- https://dashboard.doppler.com/register
- https://docs.doppler.com/docs/cli
#lesson
Erik introduces Doppler, a tool that simplifies the management of environment variables and secrets. Doppler allows users to organize secrets based on projects, workspaces, and configurations, providing a convenient way to store and access secrets securely. A Doppler project is created and the Doppler CLI is demonstrated.
- https://dashboard.doppler.com/register
- https://docs.doppler.com/docs/cli
#lesson
Media is too big
VIEW IN TELEGRAM
19. GitHub Configuration
Erik walks through creating an SSH key for a GitHub account. A fine-grained personal access token is also added to GitHub and configured so Terraform can manage repositories. Secrets for GITHUBTOKEN and GITHUBOWNER are then added to the Doppler project.
#lesson
Erik walks through creating an SSH key for a GitHub account. A fine-grained personal access token is also added to GitHub and configured so Terraform can manage repositories. Secrets for GITHUBTOKEN and GITHUBOWNER are then added to the Doppler project.
#lesson
Media is too big
VIEW IN TELEGRAM
20. Terraform Cloud Setup
Erik sets up a Terraform Cloud account and generates an API token for accessing the Terraform Cloud API. The API token is added to Doppler.
- https://app.terraform.io/public/signup/account
#lesson
Erik sets up a Terraform Cloud account and generates an API token for accessing the Terraform Cloud API. The API token is added to Doppler.
- https://app.terraform.io/public/signup/account
#lesson
Media is too big
VIEW IN TELEGRAM
21. AWS Setup
Erik creates an IAM user and administrator group in Amazon Web Services (AWS) to ensure secure and organized access to AWS resources. Using an account other than the root account avoids security risks. Account aliases are also explained in this lesson.
- https://portal.aws.amazon.com/billing/signup#/start/email
#lesson
Erik creates an IAM user and administrator group in Amazon Web Services (AWS) to ensure secure and organized access to AWS resources. Using an account other than the root account avoids security risks. Account aliases are also explained in this lesson.
- https://portal.aws.amazon.com/billing/signup#/start/email
#lesson
Media is too big
VIEW IN TELEGRAM
22. AWS Security Credentials & Doppler CLI
Erik creates an AWS access key, which grants access to the AWS CLI. The access key is stored in Doppler with the other secrets. The Doppler CLI is set up and tested.
- https://docs.doppler.com/docs/cli
- https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
#lesson
Erik creates an AWS access key, which grants access to the AWS CLI. The access key is stored in Doppler with the other secrets. The Doppler CLI is set up and tested.
- https://docs.doppler.com/docs/cli
- https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
#lesson
Media is too big
VIEW IN TELEGRAM
23. Creating a Managed Repository
Erik creates a private GitHub repository for managing Terraform automations. The repository can be cloned to your computer using Git or the GitHub CLI. Instructions for installing and setting up the GitHub CLI are also included in this lesson.
#lesson
Erik creates a private GitHub repository for managing Terraform automations. The repository can be cloned to your computer using Git or the GitHub CLI. Instructions for installing and setting up the GitHub CLI are also included in this lesson.
#lesson
Media is too big
VIEW IN TELEGRAM
24. Adding Providers
Erik explains the providers enabled DevOps to work with multi-cloud and connect to other services within the same automation. The Terraform registry is similar to NPM and contains several providers from popular services. Project and Workspace modules are added to the main.tf file.
#lesson
Erik explains the providers enabled DevOps to work with multi-cloud and connect to other services within the same automation. The Terraform registry is similar to NPM and contains several providers from popular services. Project and Workspace modules are added to the main.tf file.
#lesson
Media is too big
VIEW IN TELEGRAM
25. Using the Terraform CLI
Erik uses the Terraform CLI to initialize the repo. The validate, plan, and apply commands are also introduced.
#lesson
Erik uses the Terraform CLI to initialize the repo. The validate, plan, and apply commands are also introduced.
#lesson
Media is too big
VIEW IN TELEGRAM
26. Migrating to Terraform Cloud
Erik migrates the state to Terraform Cloud and removes the local state from the repository. Doppler is used since the authentication keys are required to connect to Terraform Cloud.
#lesson
Erik migrates the state to Terraform Cloud and removes the local state from the repository. Doppler is used since the authentication keys are required to connect to Terraform Cloud.
#lesson
Media is too big
VIEW IN TELEGRAM
27. Locals
Erik explains how Terraform's dynamic configurations streamline the creation process of multiple workspaces and projects. Rather than copying and pasting configurations, locals are used to create variables for projects and workspaces.
#lesson
Erik explains how Terraform's dynamic configurations streamline the creation process of multiple workspaces and projects. Rather than copying and pasting configurations, locals are used to create variables for projects and workspaces.
#lesson
Media is too big
VIEW IN TELEGRAM
28. Iterating Through Locals
Erik uses a for loop to iterate over local variables to generate the dynamic configurations. Values are accessed through the "each" property. Accessing project-specific variables are also demonstrated in this lesson.
#lesson
Erik uses a for loop to iterate over local variables to generate the dynamic configurations. Values are accessed through the "each" property. Accessing project-specific variables are also demonstrated in this lesson.
#lesson
Media is too big
VIEW IN TELEGRAM
29. Moving Resources
Erik uses a moved meta-argument to prevent resource deletion during updates. Once the change has been planned and applied, the moved meta-argument can be deleted.
#lesson
Erik uses a moved meta-argument to prevent resource deletion during updates. Once the change has been planned and applied, the moved meta-argument can be deleted.
#lesson
Media is too big
VIEW IN TELEGRAM
30. Renaming the Workspace
Erik renames the workspace to clarify its purpose and uses the moved meta-argument to update Terraform. The separation and visualization of state are also discussed in this lesson.
#lesson
Erik renames the workspace to clarify its purpose and uses the moved meta-argument to update Terraform. The separation and visualization of state are also discussed in this lesson.
#lesson
Media is too big
VIEW IN TELEGRAM
31. Updating the TFE Repo
Erik commits the local changes in the fem-eci-terraform-tfe repository and pushes the changes up to GitHub.com.
#lesson
Erik commits the local changes in the fem-eci-terraform-tfe repository and pushes the changes up to GitHub.com.
#lesson
Media is too big
VIEW IN TELEGRAM
32. Configuring a Version Control Provider
Erik connects Terraform Cloud to a version control system (VCS) like GitHub. A variable representing the GitHub installation ID is added to a ata file so it can be added to the workspace.
#lesson
Erik connects Terraform Cloud to a version control system (VCS) like GitHub. A variable representing the GitHub installation ID is added to a ata file so it can be added to the workspace.
#lesson