No description
  • TypeScript 100%
Find a file
keeb d8e4a6ce04 Add property-based schema tests (fast-check via @traversable/zod-test)
Generic harness: derives a fast-check arbitrary from every model zod
schema (globalArguments, method arguments, resource schemas) and asserts
generated data round-trips through the schema's own safeParse. Identical
file across extensions; canonical copy + docs live in mms/tests/property/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 09:19:17 -07:00
.claude/skills/grafana feat: add embedded grafana skill for AI agents 2026-04-06 18:33:13 -07:00
extensions/models Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:57:16 -07:00
tests/property Add property-based schema tests (fast-check via @traversable/zod-test) 2026-07-18 09:19:17 -07:00
.gitignore Initial commit: @keeb/grafana swamp extension 2026-02-27 12:31:13 -08:00
.swamp.yaml Initial commit: @keeb/grafana swamp extension 2026-02-27 12:31:13 -08:00
CLAUDE.md Add repository and tags to manifest 2026-03-02 22:01:49 -08:00
manifest.yaml Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:57:16 -07:00
README.md Publish @keeb-namespaced types (rename @user→@keeb); bump to 2026.05.25.1 2026-05-25 16:57:16 -07:00

@keeb/grafana

Swamp extension for Grafana dashboard and alert management via the Grafana HTTP API.

Models

grafana/instance

Manage dashboards, alert rules, contact points, and notification policies on a Grafana instance.

Method Description
discover List all dashboards
pushDashboard Create or update a dashboard from a JSON file
exportDashboard Export a dashboard to JSON
configureContactPoint Configure a notification contact point (e.g. Discord webhook)
configureNotificationPolicy Set the notification routing policy
pushAlertRule Create or update an alert rule
createAnnotation Create a dashboard annotation (used to mark deploys, server events)

Workflows

None — dashboard and alert deployment workflows are defined in the consuming project.

Dependencies

Install

swamp extension pull @keeb/grafana

Example

Push a dashboard JSON file and create a deploy annotation:

models:
  - name: grafana
    type: "@keeb/grafana/instance"
    globalArguments:
      grafanaUrl: "http://grafana.local:3000"
      apiKey: "${vault.grafana.apiKey}"

jobs:
  - name: push-and-annotate
    steps:
      - model: grafana
        method: pushDashboard
        inputs:
          dashboardFile: "dashboards/hosts.json"
      - model: grafana
        method: createAnnotation
        inputs:
          text: "deploy ${env.GIT_SHA}"
          tags: '["deploy"]'

License

MIT