DevOps Engineer
Infrastructure as code questions
132 questions on Infrastructure as code for devops engineers, easiest first.
Easy 41
- What terraform plan doeseasy
- What terraform init doeseasy
- Why Terraform keeps stateeasy
- Idempotency in Ansibleeasy
- Immutable infrastructureeasy
- What IaC scanning catcheseasy
- What a Terraform provider iseasy
- Resource block vs data blockeasy
- What terraform fmt doeseasy
- What terraform validate checkseasy
- What terraform destroy doeseasy
- What a local value is foreasy
- Which tfvars files load automaticallyeasy
- Setting a variable from the environmenteasy
- What a Terraform module iseasy
- What ~> 5.0 allowseasy
- What an Ansible inventory holdseasy
- How Ansible reaches Linux hostseasy
- Ad-hoc command vs playbookeasy
- Declarative infrastructure codeeasy
- Reading an output after applyeasy
- Where a role's tasks liveeasy
- Rendering a config file per hosteasy
- Running a task as rooteasy
- What Ansible facts areeasy
- Keeping a password in the repo safelyeasy
- Running a playbook on one servereasy
- What a Terraform backend iseasy
- What not to commit in a Terraform repoeasy
- Reading -/+ in a planeasy
- A YAML error with variableseasy
- Why post the plan on a PReasy
- Terraform and Ansible togethereasy
- Seeing what a file change will beeasy
- Why write ansible.builtin.copyeasy
- Installing collections in CIeasy
- Running plan with OpenTofueasy
- A failed CloudFormation createeasy
- What sets Pulumi aparteasy
- What cdk synth produceseasy
- What Bicep iseasy
Medium 53
- Terraform state in a teammedium
- Console change shows up in planmedium
- Bringing an existing bucket under Terraformmedium
- Sensitive outputs and statemedium
- Replacement causes downtimemedium
- When Ansible handlers runmedium
- Policy checks on a Terraform planmedium
- Which variable value winsmedium
- How Terraform orders resourcesmedium
- When depends_on is really neededmedium
- Guarding a production databasemedium
- Tags changed by another toolmedium
- Turning a list into a mapmedium
- Many ingress rules from a listmedium
- Creating a resource only in prodmedium
- What CLI workspaces give youmedium
- Variables in the backend blockmedium
- Using -target day to daymedium
- Applying exactly what was reviewedmedium
- Inspecting one resource in statemedium
- Handing a resource to another teammedium
- An AMI lookup that changesmedium
- Rejecting a bad input earlymedium
- Pinning a registry modulemedium
- A certificate in another regionmedium
- Testing an expression quicklymedium
- Recording drift without changing itmedium
- Which Ansible variable value winsmedium
- Settings for one group of hostsmedium
- A task only for Ubuntumedium
- Installing a list of packagesmedium
- Using one task's output in anothermedium
- A command task that always says changedmedium
- Cleaning up when a task failsmedium
- Running a step on another machinemedium
- Inventory for auto scaled serversmedium
- Running only the config tasksmedium
- Locking with the S3 backend todaymedium
- Hardening the state bucketmedium
- What Atlantis doesmedium
- Why teams add Terragruntmedium
- Blocking public buckets automaticallymedium
- What tflint adds to validatemedium
- Moving to a newer providermedium
- Showing cost before mergemedium
- Terraform fighting the autoscalermedium
- Turning off facts to speed upmedium
- Encrypting state in OpenTofumedium
- Switching a stack to OpenTofumedium
- One provider per region in a loopmedium
- Previewing a CloudFormation updatemedium
- Testing an Ansible rolemedium
- Cloud resources as Kubernetes objectsmedium
Hard 38
- Removing an item from a count listhard
- Provider checksum mismatch in CIhard
- One huge Terraform statehard
- Refactoring into a module safelyhard
- Forcing one resource to be rebuilthard
- Rebuilding when a related thing changeshard
- for_each over a list with repeatshard
- Checking an assumption before createhard
- What a check block is forhard
- Importing 40 hand-made resourceshard
- A DB password that never hits statehard
- depends_on on a whole modulehard
- A lock left by a crashed jobhard
- Sharing VPC IDs between stackshard
- Removing a module that has its own providerhard
- Unit testing a module cheaplyhard
- Splat on a for_each resourcehard
- Updating 20 web servers safelyhard
- Dry run with shell taskshard
- run_once inside a rolling playhard
- Many lineinfile tasks on one confighard
- An apply that fails halfwayhard
- Designing state boundarieshard
- A nightly drift check jobhard
- Cluster and workloads in one applyhard
- Plan after a provider major upgradehard
- for_each over a sensitive variablehard
- Bake an image or configure at boothard
- Vault password in a pipelinehard
- Push vs pull with Ansiblehard
- A state file overwritten by mistakehard
- Linear vs free strategyhard
- Releasing a shared internal modulehard
- Looking up a resource you just createdhard
- Continuous reconcile vs plan and applyhard
- Skipping one broken resourcehard
- Stack stuck in UPDATE_ROLLBACK_FAILEDhard
- Two tools managing one resourcehard