Skip to content

fix: read the alert webhooks from one JSON secret - #135

Merged
Mtze merged 1 commit into
mainfrom
feat/alert-webhooks-json
Aug 28, 2026
Merged

fix: read the alert webhooks from one JSON secret#135
Mtze merged 1 commit into
mainfrom
feat/alert-webhooks-json

Conversation

@Mtze

@Mtze Mtze commented Aug 28, 2026

Copy link
Copy Markdown
Member

toJSON(secrets) makes Actions refuse to schedule the run at all: it completes in about a second with zero jobs and conclusion action_required, reporting no error anywhere. The bootstrap workflow was unrunnable from the moment #132 merged, and the failure mode gives you nothing to go on.

Confirmed rather than guessed: I dispatched the same workflow twice from a branch, identical apart from that one expression. With it, zero jobs. Without it, resolve succeeded and bootstrap reached its environment approval gate as normal.

Replaced with a single ALERT_WEBHOOKS secret holding a JSON object keyed by each channel's secretKey. That needs no dynamic lookup, and it keeps KUBECONFIG and the wildcard private key out of a step that has no use for them - which the previous approach handed over for free.

Bootstrap now also fails with a clear message when alerting is on and the secret is missing or is not a JSON object, instead of writing an empty Secret and producing an AlertmanagerConfig that notifies nobody.

Verified: actionlint, shellcheck, test-deploy-logic.sh ALL PASS. The secret is already set on cluster-eduide.

🤖 Generated with Claude Code

https://claude.ai/code/session_019qeiQRFu8xAMRYWPdZewjG

Actions refuses to schedule a run whose workflow uses toJSON(secrets). The run
completes in about a second with zero jobs and conclusion action_required, and
reports no error anywhere - it looks like the workflow simply did not run.
Confirmed by dispatching the same workflow twice from a branch, identical apart
from that expression: with it, zero jobs; without it, resolve succeeded and
bootstrap reached its approval gate as normal.

That expression was there because GitHub cannot index secrets by a computed
name and each channel needs its own webhook. The replacement is one
ALERT_WEBHOOKS secret holding a JSON object keyed by secretKey, which needs no
dynamic lookup, and does not hand KUBECONFIG and the wildcard private key to a
step that has no use for them.

Bootstrap now fails with a clear message when alerting is on and ALERT_WEBHOOKS
is unset or is not a JSON object, rather than writing an empty Secret.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qeiQRFu8xAMRYWPdZewjG
Copilot AI lite review requested due to automatic review settings August 28, 2026 17:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 13 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7ab4f6fd-a387-4f89-ae61-d32858ac151e

📥 Commits

Reviewing files that changed from the base of the PR and between 415afe1 and 0209150.

📒 Files selected for processing (5)
  • .github/workflows/bootstrap-cluster.yml
  • clusters/eduide.yaml
  • clusters/tum-production.yaml
  • clusters/tum-student.yaml
  • docs/monitoring-setup.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Mtze
Mtze merged commit 088067b into main Aug 28, 2026
5 checks passed
@Mtze
Mtze deleted the feat/alert-webhooks-json branch August 28, 2026 17:42
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.

2 participants