Skip to content
Clairos Learn

Capstone labs · Lesson 14 of 18 · 8 minutes

Capstone bad deploy

Review deployment script, config diff, nginx validation, and rollback notes.

Mastery 0/3Run itExplain itApply it
learner@clairosSimulated Linux lab
learner@clairos:~ $
↑ history · Tab complete · Ctrl+C cancel · Esc, Tab to leaveExit 0

Understand the pattern

Junior operators build confidence by gathering evidence before changing systems.

sha256sum
Compare content digests to detect byte changes, not to establish who authored the file.

A checksum detects changes only relative to a trusted expected digest.

diff
Compare two text files; a difference is a meaningful nonzero status, not necessarily an execution error.

Status 1 means differences for diff; shell status must be interpreted in command context.

nginx
Check the simulated configuration using nginx -t before changing service state.

This lab checks a limited configuration subset, not the complete Nginx parser.

printf
Format data deliberately, including separators and final newlines.

A format string controls output; a newline is data, not an automatic guarantee.

tee
Copy a stream both to a file and standard output; -a appends.

tee can overwrite a file even though the output is also visible on screen.

Worked example and expected result
$ sha256sum scripts/deploy.sh
f7d569c8d8504a5ddbe9ac442362c65f068aeacd1f540b24ca1ec84b7c27359e  /home/learner/scripts/deploy.sh

Exit status: 0. The command completed successfully in the training fixture.

$ diff data/config-a.conf data/config-b.conf
--- /home/learner/data/config-a.conf
+++ /home/learner/data/config-b.conf
-listen 443 ssl;
+listen 8443 ssl;

Exit status: 1. This nonzero result is an expected part of this exercise.

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Exit status: 0. The command completed successfully in the training fixture.

$ printf rollback-ready | tee lab/deploy-rollback.txt
rollback-ready

Exit status: 0. The command completed successfully in the training fixture.

Try a variation

Repeat this workflow in the sandbox with a different scratch filename. Keep the system fixtures unchanged and compare the observed output with your expectation before moving on.

Explain it

In “Capstone bad deploy”, which interpretation is safe?

Apply it elsewhere

Before adapting the diff workflow from “Capstone bad deploy” to another server, what should you do?

Keep the momentum.

Complete the lab, then explain and apply the pattern.

Next: Capstone unknown listenerTry an incident drill

Anonymous lesson and mastery progress lasts for this session. Sign in to keep synced lesson XP between sessions; mastery stays device-local. No speed bonus, lost lives, or hint penalties.

Keep learning

  1. 01Capstone suspicious loginReview auth evidence, SSH policy, firewall state, and notes.Practice
  2. 02Capstone unknown listenerReconcile listeners, process owners, firewall, and service state.Practice
  3. 03Capstone backup restore reviewReview backup manifest, archive, restored file, and checksum evidence.Practice