Skip to content

check-stack-layer

Version 2026.209.1500
Repo superproject

Combined kind:layer + kind:pod + DeployTarget smoke on top of check-base-layer The second (and final) layer of the check-pod stack. In one layer it proves three mechanisms the combined check-pod bed (charly check run check-pod) covers beyond the build smoke:

  • layer composition order — asserts /etc/check-base-marker (written by the prior check-base-layer) is still present;
  • kind:pod runtime — runs nc -lk 18794 under the configured init system and probes the listening port (harness + in-container ss);
  • DeployTarget rendering — runs sleep infinity under supervisord and probes the service is running. Installs ncat + iproute (port listener) + coreutils (sleep) + supervisor. Both services are custom exec entries — fedora-minimal ships no systemd units for nc/sleep, so the layer is supervisord-only on container targets.
  • check-listener
  • check-sleep

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run write=/etc/check-stack-marker
run create the checkgrp group at image build via the unix_group plugin verb (act-emit enabler)
check the check-stack marker file is present at /etc/check-stack-marker
agent-check the check listener accepts a TCP connection on port 18794 from inside the deployment
check file=/etc/check-base-marker
check port=18794
check command=ss -tlnp 2>/dev/null | grep ‘:18794’
check service=check-sleep
check command=false is asserted as an expected non-zero exit via expect_non_zero