sales-demos-alloylisted
Install: claude install-skill ericcames/sales.demos
# sales-demos-alloy
## There is an AAP path now too (#318)
`AAP Observability - 1 Deploy Alloy` runs the same playbook from AAP, per
environment. Deploy Alloy *before* pushing dashboards — a dashboard on a cluster
with no Alloy renders twelve empty panels, which is why the templates are
numbered.
Deploy Grafana Alloy on an OpenShift cluster to push metrics and logs to
Grafana Cloud. Issue [#265](https://github.com/ericcames/sales.demos/issues/265).
This skill contains **no logic**. All the work is in
[`playbooks/deploy_alloy.yml`](../../../playbooks/deploy_alloy.yml). See
`CLAUDE.md` → *Skills and playbooks*.
## What it does
Deploys Grafana Alloy as a DaemonSet in the `grafana-alloy` namespace:
1. **Prometheus federation** — federates selected series from the cluster's
Prometheus endpoint (`prometheus-k8s`): KubeVirt VM metrics, node health,
pod/container resource usage (namespace-filtered).
2. **AAP controller scrape** — scrapes `/api/controller/v2/metrics/` via the
gateway (`aap.aap.svc`) with basic auth for `awx_*` and `django_*` metrics.
3. **Kubernetes API log streaming** — streams pod logs from four namespaces
(`aap`, `sales-demos-<env>`, `openshift-cnv`, `grafana-alloy`) without
hostPath volumes or elevated SCCs.
Everything pushes to Grafana Cloud's Prometheus (remote-write) and Loki
(push) endpoints.
**Budget:** ~2,098 Prometheus series (measured 2026-09-06) out of the 10k
free-tier limit.
## Reversal
```bash
ansible-playbook playbooks/deploy