Skip to content

feat: wire Dependabot PR alerting via managed caller workflow - #15

Open
xnoto wants to merge 1 commit into
feat/managed-dependabotfrom
feat/dependabot-alerts
Open

feat: wire Dependabot PR alerting via managed caller workflow#15
xnoto wants to merge 1 commit into
feat/managed-dependabotfrom
feat/dependabot-alerts

Conversation

@xnoto

@xnoto xnoto commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Note

Stacked on #14 — merge that first; this PR retargets to main automatically.

What

Last leg of the Dependabot PR alerting pipeline:

  1. gh-dependabot.tf now also manages .github/workflows/dependabot-notify.yml in every active repo — a thin caller that invokes shared-workflows/.github/workflows/dependabot-notify.yml only when github.actor == 'dependabot[bot]'.
  2. Secrets distribution (main.tf):
    • CLOUDFLARE_AUTH_CLIENT_ID / CLOUDFLARE_AUTH_CLIENT_SECRET extended from 3 repos to all active repos (new active_github_repositories local — archived repos reject secret writes).
    • GRAFANA_ALERTS_TOKEN added with a documented placeholder. The real value is the operator-generated token from kustomize-cluster#54; copy it into secrets/secrets.yaml as grafana_alerts_token after that PR syncs:
      kubectl --context k3s -n grafana get secret grafana-alerts-token -o jsonpath='{.data.token}' | base64 -d
  3. AGENTS.md: new Dependabot PR Alerting section documenting the pipeline and the placeholder.

Merge order (full pipeline)

  1. shared-workflows#14 (reusable workflow)
  2. kustomize-cluster#54 (Discord contact point, policy, service account)
  3. tfroot-cloudflare#20 (Access app)
  4. tfroot-github feat: manage Dependabot configs centrally and document branch protection posture #14this PR

On apply: 11 caller workflow files + secret updates land across the org. Until the token is copied into SOPS and re-applied, the notify job fails loudly with a 401 — by design, visible in Actions logs.

Validation

  • make test — all hooks pass (validate, tflint, checkov, fmt, terraform_docs, gitleaks).
  • Caller YAML verified: no HCL interpolation hazards (jobs.if needs no ${{ }} wrapper), actionlint-clean in the shared repo.

- gh-dependabot.tf also manages .github/workflows/dependabot-notify.yml
  in every active repo, calling the shared-workflows reusable workflow
  only when the pull_request actor is dependabot[bot]
- distribute CLOUDFLARE_AUTH_CLIENT_* to all active repos (new
  active_github_repositories local; archived repos cannot receive
  secrets)
- add GRAFANA_ALERTS_TOKEN with a documented placeholder until the
  operator-generated token is copied from the cluster secret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant