auth
FreeAuthentication and authorization patterns for Rossoctl services
The English summary is being prepared. Showing the original description.
Org-wide weekly report - covers all rossoctl repos with proportional depth based on activity
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Deep weekly analysis across all rossoctl org repositories. Active repos get full analysis; quiet repos get a one-liner summary.
Set at session start:
export OWNER=<org-or-user>
export REPO=<repo-for-report-issue> # where the weekly report issue is posted
Auto-approved: All
ghread commands andgh repo listare auto-approved.
Run the org data gathering script to snapshot all repos:
./.github/scripts/reports/weekly-report-org-data.sh 7 > /tmp/rossoctl/github/org-data-gather.log 2>&1; echo "EXIT:$?"
Then read the org summary (small file, OK inline):
jq . /tmp/rossoctl/github/data/org-summary.json
This creates:
/tmp/rossoctl/github/data/<repo>/ — Per-repo JSON files (merged-prs, open-prs, open-issues, new-issues, ci-runs)/tmp/rossoctl/github/data/org-summary.json — Totals and per-repo counts with active/quiet classificationIMPORTANT: All subsequent phases MUST read from these JSON files, NOT re-query gh. This ensures consistency.
Read totals from org-summary.json and present:
## Org-Wide Summary
| Repo | Merged PRs | Open PRs | Open Issues | New Issues | CI Pass Rate | Status |
|------|-----------|----------|-------------|------------|-------------|--------|
| rossoctl | ... | ... | ... | ... | .../... | active |
| repo2 | ... | ... | ... | ... | .../... | quiet |
| **TOTAL** | **N** | **N** | **N** | **N** | | |
Order repos by activity (most merged PRs + new issues first).
IMPORTANT: All issue and PR references in the report MUST use absolute GitHub URLs,
not shorthand references like #N or rossoctl/<repo>#N. Shorthand references are
ambiguous when the report is posted as a GitHub issue — GitHub auto-links them relative
to the repo where the issue lives.
Use this format for every repo, including rossoctl itself:
[rossoctl/<repo>#N](https://github.com/rossoctl/<repo>/issues/N)[rossoctl/<repo>#N](https://github.com/rossoctl/<repo>/pull/N)Examples:
[rossoctl/rossoctl#960](https://github.com/rossoctl/rossoctl/issues/960)[rossoctl/cortex#239](https://github.com/rossoctl/cortex/pull/239)For each repo classified as active in org-summary.json, analyze in order of activity level.
rossoctl (local checkout available) — Full DepthThis is the main repo with local checkout. Apply the full github:last-week analysis:
Use subagents for log analysis:
Agent(subagent_type='Explore'):
"Read /tmp/rossoctl/github/data/rossoctl/merged-prs.json and summarize:
- Count by author
- Which areas changed most (charts, backend, tests, CI)
Return a brief summary, not the raw data."
No local checkout. Use gathered JSON data only.
Use absolute URLs for all references (see Linking Convention above).
open-issues.json. Group by labels. Flag stale issues (>30 days no update). Note issues linked to PRs.open-prs.json. Check CI/review status from JSON. Flag PRs waiting >7 days for review.ci-runs.json. Count pass/fail. Flag any failures on main.merged-prs.json. List with author and title.Present each active repo as:
## <repo> (Deep Dive)
### Merged PRs (N)
| # | Title | Author | Merged |
| [rossoctl/\<repo\>#N](https://github.com/rossoctl/\<repo\>/pull/N) | ... | ... | ... |
### Open PRs (N)
| # | Title | Author | CI | Review | Health |
| [rossoctl/\<repo\>#N](https://github.com/rossoctl/\<repo\>/pull/N) | ... | ... | ... | ... | ... |
### Open Issues (N)
| # | Title | Labels | Age | Status |
| [rossoctl/\<repo\>#N](https://github.com/rossoctl/\<repo\>/issues/N) | ... | ... | ... | ... |
### CI Health
- Main branch: X/Y passed (Z%)
- Failures: [list if any]
For repos with no merged PRs and no new issues, present a single table:
## Quiet Repos
| Repo | Open PRs | Open Issues | Last Activity | Note |
|------|----------|-------------|---------------|------|
| repo-x | 0 | 2 | 45 days ago | dormant |
| repo-y | 1 | 0 | 12 days ago | low activity |
Check the oldest issue/PR update date to determine "last activity".
Analyze patterns across all repos:
Present as bullet list:
## Cross-Repo Highlights
- **@author** contributed to rossoctl (3 PRs) and repo-x (1 PR)
- Org CI pass rate: X% (rossoctl: Y%, repo-x: Z%)
- [any notable cross-repo patterns]
Write the full report to /tmp/rossoctl/github/org-weekly-report.md:
# Rossoctl Org Weekly Report: [start-date] - [end-date]
## Org-Wide Summary
[table from Phase 1]
## Cross-Repo Highlights
[bullets from Phase 4]
## rossoctl (Deep Dive)
[full analysis from Phase 2]
## <other-active-repo> (Deep Dive)
[moderate analysis from Phase 2]
## Quiet Repos
[table from Phase 3]
## Action Items
| # | Action | Repo | Owner | Priority |
|---|--------|------|-------|----------|
| 1 | [highest priority] | rossoctl | @author | P0 |
| 2 | [next action] | repo-x | @author | P1 |
...
Action items are a single flat list across ALL repos, ordered by priority. No timescales.
Save the report:
# Write to /tmp/rossoctl/github/org-weekly-report.md
After generating the report, ask:
Org-wide weekly report ready at
/tmp/rossoctl/github/org-weekly-report.md. Want me to create a GitHub issue in $OWNER/$REPO with this report? Suggested title: "Org Weekly Report [start-date] - [end-date]"You can also suggest a different repo or title.
Only create the issue after user confirms title, repo, and content.
Follow the CLAUDE.md context budget rules strictly:
jq length, jq .totals, repo counts — these are fine inline.github:last-week - Deep single-repo report (used as the template for rossoctl deep dive)github:issues - Deep dive into individual issue triagegithub:prs - Deep dive into individual PR healthci:status - Detailed CI check analysisrca:ci - Investigate CI failuresNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Authentication and authorization patterns for Rossoctl services
The English summary is being prepared. Showing the original description.
Create confidential OAuth2 clients in Keycloak for server-to-service authentication
The English summary is being prepared. Showing the original description.
Configure MLflow with mlflow-oidc-auth plugin for Keycloak OIDC authentication
The English summary is being prepared. Showing the original description.
Configure OpenTelemetry Collector with OAuth2 authentication for trace export
The English summary is being prepared. Showing the original description.
CI pipeline monitoring, status checks, and PR validation workflows
The English summary is being prepared. Showing the original description.
Monitor running CI jobs, wait for completion, create tasks for results
The English summary is being prepared. Showing the original description.