---
title: Audit - actualbudget.yaml
description: Gremlin audit report 2026-04-13
published: true
date: 2026-04-13T11:04:42.980Z
tags: gremlin,audit
editor: markdown
dateCreated: 2026-04-13T11:04:42.980Z
---

# Audit Report — actualbudget.yaml

**Date:** 2026-04-13  
**File:** swarm/actualbudget.yaml  
**Type:** Docker Swarm  
**Verdict:** FAIL

---

### Audit Report:

#### Homepage Labels:
- **PASS**: All required labels (`homepage.group`, `homepage.name`, `homepage.icon`, `homepage.href`, `homepage.description`) are present.

#### Uptime Kuma Labels:
- **FAIL**: The label `kuma.actual.http.url` is missing. It should be set to the actual URL of the service, e.g., `kuma.actual.http.url: "http://actual:5006"`.
  - **Fix**: Add `kuma.actual.http.url: "http://actual:5006"`.

#### Caddy Labels:
- **PASS**: The labels `caddy` and `caddy.reverse_proxy` are correctly set to expose the service via Caddy at `budget.netgrimoire.com`.

#### Placement Constraints:
- **FAIL**: The placement constraint `- node.platform.arch != aarch64` is incorrect as it should be `- node.platform.os == linux`. Also, missing the constraint for `amd64`.
  - **Fix**: Modify to include both architectures: `- node.platform.os == linux && (node.platform.arch == amd64 || node.platform.arch == x86_64)`.

#### Volumes Use `/DockerVol/<service>` Path Convention:
- **PASS**: The volume path `/DockerVol/actual` follows the convention correctly.

#### Network References External `netgrimoire` Overlay:
- **PASS**: The network `netgrimoire` is referenced correctly as an external network.

### VERDICT: FAIL