Skip to content

Add Apache Superset for xAPI/LRsql analytics#64

Merged
sei-awelle merged 3 commits intomainfrom
add-superset
Apr 1, 2026
Merged

Add Apache Superset for xAPI/LRsql analytics#64
sei-awelle merged 3 commits intomainfrom
add-superset

Conversation

@sei-awelle
Copy link
Copy Markdown
Contributor

Summary

  • Adds Apache Superset container to the Aspire AppHost for xAPI learning analytics
  • Configures Keycloak OAuth SSO and auto-registers the LRsql database on startup
  • Creates a starter "xAPI Learning Analytics" dashboard with 7 charts: client app breakdown (Blueprint, CITE, Gallery, Steamfitter), verb distribution, activity timeline, top learners, and most active learning objects

Details

  • Custom Dockerfile adds psycopg2-binary and authlib to the stock Superset image
  • Keycloak OAuth uses split internal/external URLs for container-to-container vs browser redirects
  • Dashboard is created via Superset's internal ORM on first startup to properly populate chart associations
  • Superset client added to Keycloak realm JSON
  • Launch configurations and env file added for toggling Superset on/off

New files

File Purpose
Dockerfile.SupersetCustom Custom image with PostgreSQL + OAuth deps
superset_config.py OAuth, cache, security config
init-superset.sh Startup: migrations, admin user, LRsql registration, dashboard
create-dashboard-orm.py ORM-based dashboard creation (runs on startup)
create-dashboard.{py,js,sh} Alternative REST API scripts for manual use
README.md Integration documentation

Test plan

  • Run aspire run with Launch__Superset=true
  • Verify Superset starts and is healthy at http://localhost:8088
  • Verify LRsql database appears in Superset data sources
  • Verify xAPI Learning Analytics dashboard loads with charts
  • Verify Keycloak OAuth login works from Superset login page
  • Verify toggling Superset off excludes it from startup

- Add Superset container with custom Dockerfile (psycopg2, authlib)
- Configure Keycloak OAuth SSO with internal/external URL split
- Auto-register LRsql database connection on startup
- Add superset client to Keycloak realm
- Add launch configurations and env file
- Add ORM-based dashboard creation script with 7 charts including
  client app breakdown (Blueprint, CITE, Gallery, Steamfitter)
- Auto-create dashboard on Superset startup via init-superset.sh
- Add README documenting Superset integration and xAPI data model
- Remove unrelated KC_SPI and CSP changes (belong in separate branch)
@sei-awelle sei-awelle requested a review from a team as a code owner April 1, 2026 13:48
@sei-awelle sei-awelle merged commit a858fc0 into main Apr 1, 2026
@sei-awelle sei-awelle deleted the add-superset branch April 1, 2026 13:59
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