skills/argocd-pagerduty-notifications/SKILL.md
Configures PagerDuty v1 and v2 notification services for Argo CD. Use when setting up PagerDuty incident creation or event triggering from Argo CD notifications, including secrets, ConfigMaps, templates, and annotations for PagerDuty integrations.
npx skillsauth add peterj/skills argocd-pagerduty-notificationsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Argo CD supports two PagerDuty notification services: PagerDuty v1 (incident creation via API token) and PagerDuty v2 (event triggering via Events API v2 integration keys).
pagerdutyToken — PagerDuty auth tokenfrom — email address of a valid user associated with the accountserviceID — the ID of the PagerDuty service (provided via annotation)apiVersion: v1
kind: Secret
metadata:
name: <secret-name>
stringData:
pagerdutyToken: <pd-api-token>
argocd-notifications-cm:apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.pagerduty: |
token: $pagerdutyToken
from: <emailid>
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
template.rollout-aborted: |
message: Rollout {{.rollout.metadata.name}} is aborted.
pagerduty:
title: "Rollout {{.rollout.metadata.name}}"
urgency: "high"
body: "Rollout {{.rollout.metadata.name}} aborted "
priorityID: "<priorityID of incident>"
Note:
priorityIDis only available on PagerDuty Standard and Enterprise plans.
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
annotations:
notifications.argoproj.io/subscribe.on-rollout-aborted.pagerduty: "<serviceID for PagerDuty>"
serviceKeys — a dictionary mapping service names to secret references containing PagerDuty Events API v2 integration keysTo create an integration key, add an Events API v2 integration to the desired PagerDuty service.
apiVersion: v1
kind: Secret
metadata:
name: <secret-name>
stringData:
pagerduty-key-my-service: <pd-integration-key>
argocd-notifications-cm:apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.pagerdutyv2: |
serviceKeys:
my-service: $pagerduty-key-my-service
To alert multiple Argo apps to different PagerDuty services, create an integration key per service and add each to the serviceKeys dictionary.
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
template.rollout-aborted: |
message: Rollout {{.rollout.metadata.name}} is aborted.
pagerdutyv2:
summary: "Rollout {{.rollout.metadata.name}} is aborted."
severity: "critical"
source: "{{.rollout.metadata.name}}"
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
annotations:
notifications.argoproj.io/subscribe.on-rollout-aborted.pagerdutyv2: "<serviceID for PagerDuty>"
All parameters are strings. The template payload maps to the Events API v2 endpoint.
| Parameter | Required | Description |
|-----------|----------|-------------|
| summary | Yes | Brief text summary; used for alert titles |
| severity | Yes | critical, warning, error, or info |
| source | Yes | Unique location of affected system (hostname/FQDN) |
| component | No | Component of the source machine responsible |
| group | No | Logical grouping of service components |
| class | No | Class/type of the event |
| url | No | URL for "View in ArgoCD" link in PagerDuty |
| dedupKey | No | Deduplication string; same key groups into one incident |
Note:
timestampandcustom_detailsparameters are not currently supported.
| Aspect | v1 (service.pagerduty) | v2 (service.pagerdutyv2) |
|--------|--------------------------|----------------------------|
| Auth | API token ($pagerdutyToken) | Integration keys per service |
| Action | Creates incidents | Triggers events |
| Config key | token + from | serviceKeys dictionary |
| Template key | pagerduty | pagerdutyv2 |
| Annotation service | .pagerduty | .pagerdutyv2 |
| Multi-service | Single token | One integration key per service |
development
Guide for installing, configuring, and deploying SPIRE servers and agents. Use when working with SPIRE, SPIFFE, workload identity, trust domains, node attestation, workload attestation, service identity, or X.509/JWT SVIDs on Kubernetes or Linux.
development
Diagnoses and resolves common Istio service mesh problems across traffic management, security, observability, and upgrades. Use when debugging Istio networking issues (503 errors, route rules not working, TLS mismatches, gateway 404s), security problems (authorization policies, mTLS, JWT authentication), observability gaps (missing traces, Grafana output issues), EnvoyFilter breakage, or when upgrading Istio and migrating from EnvoyFilter to first-class APIs.
tools
Configures Istio traffic management including multicluster traffic control, gateway network topology (XFF/XFCC headers, PROXY protocol), protocol selection, and TLS configuration. Use when working with Istio service mesh traffic routing, multicluster setups, gateway configuration, protocol detection, mTLS settings, or when troubleshooting TLS/proxy header issues.
development
Guide for installing, deploying, debugging, and cleaning up Istio's ambient mode mesh. Use when working with Istio ambient mode, ztunnel proxies, ambient mesh traffic redirection, istio-cni, HBONE encryption, Bookinfo sample application deployment, or istioctl commands for ambient profile setup and teardown.