Back to the course
Test yourself

Puppet

Final exam · 14 questions · answers explained as you pick
Beginner
4 questions
01Puppet’s language is…
Incorrect — the opposite — it is declarative.
Correct — you write the model; Puppet reconciles reality to it.
Incorrect — Puppet has its own DSL; YAML is used by Hiera data.
Incorrect — that is Chef; Puppet has a purpose-built DSL.
02In Puppet, resources run…
Incorrect — no — it orders by the dependency graph.
Incorrect — not random — by declared dependencies.
Correct — you must declare relationships; source order is not run order.
Incorrect — the agent applies them.
03The Resource Abstraction Layer (RAL) is what lets…
Correct — the RAL maps an abstract resource to an OS-appropriate provider.
Incorrect — the opposite of the RAL’s purpose.
Incorrect — unrelated.
Incorrect — that is eyaml, unrelated to the RAL.
04A Puppet catalog is…
Incorrect — unrelated.
Correct — compiled on the master, applied by the agent.
Incorrect — no.
Incorrect — that lists modules; the catalog is the compiled desired state.
4 questions · explanations appear as you answer
Intermediate
5 questions
01The difference between a class and a defined type is…
Incorrect — they differ in cardinality.
Incorrect — reversed — see the correct option.
Correct — class for “has nginx”, defined type for “has these N vhosts”.
Incorrect — they can and usually do.
02For security decisions, you should branch on…
Incorrect — a compromised node can forge facts.
Correct — trusted facts come from the cert, not the agent’s claims.
Incorrect — spoofable, like facts.
Incorrect — irrelevant to trust.
03Puppet variables are…
Correct — a deliberate feature that keeps the model declarative and order-independent.
Incorrect — no — reassignment is an error.
Incorrect — they are scoped, not global.
Incorrect — Puppet has a rich type system.
04For new templates, EPP is preferred over ERB because…
Incorrect — the main win is safety/consistency, not speed.
Incorrect — ERB uses Ruby; EPP uses the Puppet language.
Correct — typed params make templates self-documenting and validated.
Incorrect — both take data.
05A module from the Forge should be…
Incorrect — unpinned dependencies are a reproducibility and supply-chain risk.
Correct — pin in the Puppetfile and vet exec/providers before adopting.
Incorrect — it runs privileged everywhere — vet it.
Incorrect — Forge modules are useful; just pin and review.
5 questions · explanations appear as you answer
Advanced
5 questions
01Hiera’s purpose is to…
Correct — manifests stay generic; env/node values live in data, with eyaml for secrets.
Incorrect — that is the master.
Incorrect — unrelated.
Incorrect — no.
02In the roles-and-profiles pattern, a node is assigned…
Incorrect — exactly one role, by convention.
Incorrect — nodes get a role, not resources.
Correct — roles include profiles only; profiles configure technology.
Incorrect — profiles wrap component modules, not nodes.
03Exported resources let you…
Incorrect — that is eyaml.
Correct — cross-node coordination via PuppetDB, no manual list.
Incorrect — no.
Incorrect — unrelated.
04eyaml encrypts Hiera secrets so that…
Correct — like Ansible Vault/SOPS — protect the master’s private key as crown jewels.
Incorrect — the opposite.
Incorrect — the master decrypts at compile time.
Incorrect — it uses a key pair.
05Blanket autosigning of agent certificates is dangerous because…
Incorrect — the risk is security, not performance.
Correct — sign deliberately or use policy-based autosigning.
Incorrect — unrelated.
Incorrect — no.
5 questions · explanations appear as you answer