RHELS LAB
Contents · the agent book

Agent book · Reference

Glossary

BSN — Build Serial Number. The lab’s app identifier: appDDDD (seven characters, e.g. app1001). Used for namespaces (app1001-dev), IAC repos (rhels/IAC.app1001), and Argo CD Applications.

IAC repo — Infrastructure-as-code repository. Each app has one private repo (rhels/IAC.<bsn>) holding its manifests; the platform itself lives in rhels/local-k8s-gitops. Argo CD reconciles the clusters from these repos. Git is the source of truth — never hand-edit the cluster.

AppProject — An Argo CD construct scoping what an Application may deploy (source repos, destination clusters/namespaces). Lab convention: lowercased names derived from the BSN.

ApplicationSet — An Argo CD construct generating Applications from templates/parameters. The lab uses it to stamp out per-app Applications (namespaces, RBAC, workloads) from the BSN.

verifyImages — A Kyverno policy type that checks container images against signature/attestation rules. Installed on CRC as ClusterPolicy require-signed-images in Audit for app* namespaces (rhels/team#107; GitOps c5d749f586d43640a61591f0bcdb94ac04d98e0d). Enforce (unsigned images rejected at admission) is not live — that is the #107 final mile.

SBOM — Software Bill of Materials. A machine-readable inventory of an image’s components. Optional follow-on to the signed pipeline (generated at build, attached to the image); not claimed live.

Cosign — The signing tool in the live signed pipeline (rhels/team#107): keyless signing of container images using GitHub OIDC identity, so no long-lived signing keys exist to leak.

Tooling plane — The control side of the lab: Docker Desktop Kubernetes on the tooling host, running CI runners, Argo CD, Vault, cert-manager, and Harbor/Loki/Tempo (live, rhels/team#107). It builds and ships; it does not run demo workloads.

Workload cluster — The demo side of the lab: OpenShift 4.22 (CRC), running the appDDDD demo apps in per-app namespaces, managed by Argo CD. It runs workloads; it does not build them.

Dex — The OIDC bridge that fronts OpenLDAP for the tooling-plane Argo CD, so the directory is the only credential store behind it. See identity.md.

Fixture user — A seeded directory identity (dev1, dev2, ops1) used by login checks and day-to-day sign-in. Fixtures are not people; their passwords are low-value test credentials held in Vault. See identity.md.

VaultStaticSecret / VSO tenant — The Vault Secrets Operator pattern for delivering one Vault KV entry into one namespace as a Kubernetes Secret: a dedicated service account + VaultAuth + VaultStaticSecret, backed by a Vault policy and role scoped to exactly that one path. See vault.md.

Aggregator — The standing Vector StatefulSet on CRC (log-agg) that receives forwarded logs and fans them out to the sinks. Its config is one file per sink, so adding a sink is a one-file git change. See observability.md.

Sink — One destination in the aggregator’s fan-out, defined by one file: 10-loki (local Loki), 15-logstash-fallback, 20-grafana-cloud-loki, plus 00-metrics for Vector’s own metrics.

ClusterLogForwarder (CLF) — The OpenShift Cluster Logging object that decides which namespaces’ logs go where. The lab’s CLF covers the log-sim namespace and feeds both Logstash and the aggregator.

DNS-01 — The only ACME challenge type this lab can use: the home ISP permanently blocks inbound 80/443, so HTTP-01 is impossible and all Let’s Encrypt issuance proves control by DNS TXT records via Cloudflare. See certificates.md.

Front door — A service’s single public name on the lab’s own domain (argo., vault., grafana. …), served by the Tailscale operator + ingress on the tooling plane and reachable only from the tailnet. See certificates.md.

Seed Job (PostSync hook) — The Argo CD hook Job that loads the OpenLDAP seed LDIF after a completed sync of the agentops-ldap app. It runs ldapadd -c, so it creates entries that do not exist yet and silently skips ones that do — the single fact behind the directory’s propagation rules (identity.md Part A).

Pushgateway — The Prometheus companion for batch jobs: producers that exit before they can be scraped (CronJobs, one-shot checks) push their result metrics to it, and Prometheus scrapes the gateway. Two run in the lab — one per plane (tools/prometheus-alertmanager.md).

Content collection — The Astro mechanism this book is built with: a typed set of markdown files (site/src/content/docs/) whose frontmatter drives the table of contents, rendered by one dynamic route inside the site’s own layout (tools/docs-system.md).