Operate the Service
Last updated on 2026-10-04 | Edit this page
Estimated time: 40 minutes
Overview
Questions
- What does a green monitor actually tell us?
- How do we release and roll back content locally?
Objectives
- Interpret the scope of the existing health monitor.
- Release a local content change and verify it.
- Roll back through source and explain the limits of that rollback.
Read the monitor before trusting it
At the pointcloud-infra root, read
scripts/site-check.sh. It checks the canonical homepage’s
status, an exact bare-name redirect, a metadata URL extracted from a
collection page (with a supplied Referer), and certificate expiry on
both names. It does not execute the viewer or fetch point-cloud
binaries.
Running pixi run site-check contacts the live
public service. It is optional here; use the following
illustrative output for the exercise without contacting that
service:
OUTPUT
ok https://www.pointcloud.ucla.edu/ -> 200
ok https://pointcloud.ucla.edu/Iceland/Torfljar.html -> 301 https://www.pointcloud.ucla.edu/Iceland/Torfljar.html
ok Iceland/Torfljar.html: point cloud metadata loads (200)
FAIL www.pointcloud.ucla.edu: certificate expires in 5 days
Choose an operational response
Does this output show a current site outage? What needs attention, and what further test would establish that a visitor can view a scan?
The HTTP checks passed at that moment; the expiry threshold failed before the certificate expired. An operator should investigate renewal and monitor it, not wait for an outage. A browser test must also check JavaScript, CORS, binary requests, and rendering. The output does not prove those work.
Release and roll back in staging
The role’s tasks/content.yml and
tasks/release.yml install content in verified release
directories, then switch /var/www/pointcloud to the active
release. Older releases are pruned according to
potree_keep_releases. A source rollback can recreate a
release even if the old target directory was pruned, provided its inputs
and dependencies remain available.
Release a visible change, then restore the previous requirement
Use the Workshop page from the previous episodes. Record its full contents and the current symlink target:
Change the heading to Workshop collection, release 2.
Predict whether Apache needs to reload for this HTML-only change.
Converge, inspect the symlink again, and fetch the page. Then restore
only your HTML edit in source, converge again, and verify the original
heading:
BASH
pixi run staging-up
podman exec pointcloud-staging readlink /var/www/pointcloud
curl -ksSf https://localhost:8443/Workshop/welcome.html
Finally run pixi run staging-verify and a second
converge. Explain what was rolled back, and what was not.
The changed content produces a different archive checksum and release directory. An HTML-only edit does not require an Apache configuration reload. Restoring the previous file and converging republishes the old content through the same role; verify the original heading instead of relying only on the link name or recap.
This rolls back static content. It does not reverse database writes, DOI registration, dependencies, or S3 data changes. Production release and rollback need their own reviewed procedure and acceptance checks.
Finish the public core
Inspect your diff. Remove only the Workshop folder and description
you created (or keep them on your learner branch), then converge and
verify if you want a baseline staging site. Stop the local container
with pixi run staging-down.
You have practiced publication, verification, diagnosis, and a local content rollback. Offline 3D rendering and real-host firewall/SELinux acceptance remain outside this lab. Continue to the separate Dataverse case study, optional AI review exercise, or certification practice.
- Monitors provide bounded evidence, including early warnings.
- Verify a release with a requirement-specific check.
- Static-content rollback does not establish data-migration rollback safety.