Commit Graph

234 Commits

Author SHA1 Message Date
stellarshenson
a5fd82b3ea updated version CHECKPOINT_BEFORE_ACTIVITY_TRACKER_3.6.22 2026-01-19 08:06:52 +01:00
stellarshenson
b440a7fe07 fix: show max extension error as disappearing warning alert, remove duplicate static text 3.6.22_cuda-13.0.2_jh-5.4.2 2026-01-18 21:58:25 +01:00
stellarshenson
d492232802 updated version 2026-01-18 21:48:00 +01:00
stellarshenson
439472999d fix: show max hours in extension limit warning message 3.6.21_cuda-13.0.2_jh-5.4.2 2026-01-18 21:45:24 +01:00
stellarshenson
7c9d78d4a5 updated version 3.6.20_cuda-13.0.2_jh-5.4.2 2026-01-18 21:24:32 +01:00
stellarshenson
af9c415d4b docs: update journal with extend button behavior 2026-01-18 21:23:20 +01:00
stellarshenson
3264c26d6b fix: keep extend button enabled when max reached (backend handles rejection) 2026-01-18 21:22:44 +01:00
stellarshenson
6762a5739a fix: truncate excess extension hours instead of rejecting request
- Truncate requested hours to max available instead of returning error
- Add 'truncated' flag in API response with detailed message
- UI shows warning alert (yellow) when truncated, success (green) otherwise
- Warning displays 4 seconds vs 2 seconds for normal success
- Fixed extend button re-enable after successful extension
2026-01-18 21:18:47 +01:00
stellarshenson
42180502e7 fix: extension now ADDS hours (cumulative), added detailed logging 2026-01-18 21:11:34 +01:00
stellarshenson
63efb1a264 fix: simplify session extension - reset activity and SET hours (not add) 2026-01-18 21:04:24 +01:00
stellarshenson
61807cac1f fix: session extension now adds hours instead of resetting timer 2026-01-18 21:03:09 +01:00
stellarshenson
de3863ef5e fix: use offset-naive datetime for last_activity to match JupyterHub internal format 2026-01-18 21:01:28 +01:00
stellarshenson
1d5fb93c49 feat: improve session extension UI with numeric input and idle note 2026-01-18 20:56:58 +01:00
stellarshenson
e0ceed8004 feat: add idle culler session extension and harmonize env settings
Session Extension Feature:
- Add JUPYTERHUB_IDLE_CULLER_MAX_EXTENSION env var (default 24h)
- Add SessionInfoHandler and ExtendSessionHandler API endpoints
- Add Session Status card to home page with countdown timer
- Extension tracking in spawner state (resets on server restart)
- Color-coded warnings (yellow <1h, red <30min)

Environment Settings Harmonization:
- Add all ENV defaults to Dockerfile
- Add idle culler settings to compose.yml
- Standardize logo as JUPYTERHUB_LOGO_URI with file:// prefix
- Update NVIDIA_IMAGE to nvidia/cuda:13.0.2-base-ubuntu24.04
2026-01-18 20:28:33 +01:00
stellarshenson
1db8ed1129 feat: rename JUPYTERHUB_SERVICE_GLANCES to JUPYTERHUB_SERVICE_RESOURCES_MONITOR CHECKPOINT_3.6.12 3.6.12_cuda-13.0.2_jh-5.4.2 2026-01-18 18:18:29 +01:00
stellarshenson
45cb18da4d feat: enhance traefik-host-based-routing with CIFS and cert installers
- Add optional CIFS mount support via compose_cifs.yml and .env
- Create install_cert.sh for Linux (multi-distro support)
- Enhance install_cert.bat with folder argument and help flags
- Fix compose_override.yml stray quote, add idle culler defaults
- Enhance generate-certs.sh with generic CN and verification
- Update start.sh/stop.sh to support ENABLE_CIFS from .env
- Update README with CIFS and certificate installation docs
2026-01-16 16:27:45 +01:00
stellarshenson
72fcc32eaf feat: add stop.sh script for platform shutdown 2026-01-16 14:34:17 +01:00
stellarshenson
7cd56fe2d6 fix: fixed issue with the gpustat not showing in the prompt RELEASE_3.6.11 3.6.11_cuda-13.0.2_jh-5.4.2 2026-01-16 11:38:58 +01:00
stellarshenson
349d243545 chore: update journal with server_version fix 3.6.10_cuda-13.0.2_jh-5.4.2 2026-01-14 17:36:04 +01:00
stellarshenson
35955c9671 fix: add server_version to global template_vars
HomeHandler doesn't pass server_version to templates (only AdminHandler does).
Added jupyterhub.__version__ to c.JupyterHub.template_vars for global access.
2026-01-14 17:35:18 +01:00
stellarshenson
940ac7e0d9 feat: add version footer to home page
Display Stellars JupyterHub DS and JupyterHub versions in footer.
Uses short version format (major.minor.patch) only.
3.6.8_cuda-13.0.2_jh-5.4.2
2026-01-14 17:30:40 +01:00
stellarshenson
181e2ac5f4 chore: cleanup templates directory structure
- Remove unused *.html from services/jupyterhub/templates/
- Keep only certs/ subdirectory in templates/
- Rename templates_enhanced to html_templates_enhanced
- Update Dockerfile COPY paths
3.6.6_cuda-13.0.2_jh-5.4.2
2026-01-14 17:19:12 +01:00
stellarshenson
6a1ac93d1f updated project version 2026-01-14 17:13:04 +01:00
stellarshenson
9e52c3c36a feat: xkcdpass password generation with configurable options
- Move settings_dictionary.yml to services/jupyterhub/conf/
- Replace hardcoded word list with xkcdpass library
- Add JUPYTERHUB_AUTOGENERATED_PASSWORD_WORDS (default: 4)
- Add JUPYTERHUB_AUTOGENERATED_PASSWORD_DELIMITER (default: "-")
- Fix ENABLE_SIGNUP to JUPYTERHUB_SIGNUP_ENABLED in Dockerfile
3.6.5_cuda-13.0.2_jh-5.4.2
2026-01-14 17:11:27 +01:00
stellarshenson
f7770d5e3a updated project version 2026-01-14 16:53:42 +01:00
stellarshenson
d8a306a0d5 feat: externalize settings metadata to YAML dictionary
- Add config/settings_dictionary.yml with category-based structure
- Categories as top-level keys (JupyterHub Core, Docker Spawner, etc.)
- Each setting has name, description, default, optional empty_display
- Update SettingsPageHandler to load from YAML file
- Add pyyaml to Dockerfile pip dependencies
- Refactor pip install to heredoc format with echo message
3.6.4_cuda-13.0.2_jh-5.4.2
2026-01-14 16:43:26 +01:00
stellarshenson
022e970dbf feat: standardize env vars with JUPYTERHUB_ prefix, add admin settings page
- Rename 13 environment variables to use JUPYTERHUB_ prefix:
  - ENABLE_GPU_SUPPORT -> JUPYTERHUB_GPU_ENABLED
  - ENABLE_JUPYTERHUB_SSL -> JUPYTERHUB_SSL_ENABLED
  - ENABLE_SERVICE_* -> JUPYTERHUB_SERVICE_*
  - ENABLE_SIGNUP -> JUPYTERHUB_SIGNUP_ENABLED
  - DOCKER_NOTEBOOK_IMAGE -> JUPYTERHUB_NOTEBOOK_IMAGE
  - DOCKER_NETWORK_NAME -> JUPYTERHUB_NETWORK_NAME
  - NVIDIA_AUTODETECT_IMAGE -> JUPYTERHUB_NVIDIA_IMAGE
  - IDLE_CULLER_* -> JUPYTERHUB_IDLE_CULLER_*
- Add SettingsPageHandler with admin-only access at /settings
- Add Settings link to admin navbar
- Sync templates from templates_enhanced to templates
- Update README.md and CLAUDE.md documentation
- No backward compatibility for old variable names
2026-01-14 16:39:34 +01:00
stellarshenson
a40bb19f5b feat: add Notifications link to admin navbar 2026-01-14 16:17:26 +01:00
stellarshenson
4b6ac08ab0 feat: idle server culler for automatic shutdown of inactive servers
- Add jupyterhub-idle-culler package to Dockerfile
- Configure as managed JupyterHub service with role-based scopes
- Environment variables: IDLE_CULLER_ENABLED, IDLE_CULLER_TIMEOUT,
  IDLE_CULLER_CULL_EVERY, IDLE_CULLER_MAX_AGE
- Default: disabled, 24h timeout, 10min check interval
- Bump version to 3.6.0
2026-01-14 16:15:21 +01:00
stellarshenson
cd9c6bf7fa feat: selective notification recipients
Add ability to send notifications to selected servers instead of all.
- New ActiveServersHandler at GET /api/notifications/active-servers
- BroadcastNotificationHandler accepts optional recipients array
- UI with "Send to all" checkbox and server selection list
- Select All/Deselect All buttons, dynamic button text
- Backward compatible - sends to all if recipients not specified
CHECKPOINT_BEFORE_INACTIVITY_SHUTDOWN_3.5.46 3.5.46_cuda-12.9.1_jh-5.4.2
2026-01-14 12:46:49 +01:00
stellarshenson
f5874b1e94 docs: add new user credentials screenshot and improve branding section CHECKPOINT_before_selective_notifications_3.5.44_cuda-12.9.1_jh-5.4.2 2026-01-08 14:37:37 +01:00
stellarshenson
ad789d7632 fix: lowercase hex encoding for docker volume names 3.5.44_cuda-12.9.1_jh-5.4.2 FIX_volume_encoding_3.5.43 2026-01-08 14:24:06 +01:00
stellarshenson
5e633a9841 fix: encode usernames for docker volume/container names
Use escapism library (same as DockerSpawner) to encode special
characters in usernames when constructing Docker volume and container
names. Fixes volume reset for users with dots in names (e.g., user.name).
2026-01-08 13:37:53 +01:00
stellarshenson
ea7d45c696 updated cert installer for linux 2026-01-07 05:09:12 +01:00
stellarshenson
abc11c5872 updated startup scripts with images pull 2026-01-07 03:52:40 +01:00
stellarshenson
117e1d6c58 added pull for lab 2026-01-07 03:50:51 +01:00
stellarshenson
988cebf9f1 chore: enhance certs-installer with folder param and help
- Add optional directory argument to install_cert.sh and install_cert.bat
- Add -h/--help flags showing usage, file types, and examples
- Display scanning directory in output
- Increase logo height to 2.25rem
2026-01-07 03:44:31 +01:00
stellarshenson
36933afe2b chore: further enhanced display of logo 2026-01-07 03:05:16 +01:00
stellarshenson
f50dfbd3c5 docs: update journal with custom logo support RELEASE_3.5.36 3.5.38_cuda-12.9.1_jh-5.4.2 2026-01-07 01:45:22 +01:00
stellarshenson
a6686ab4a2 feat: custom logo support and authorization handler fix
- Add JUPYTERHUB_LOGO_FILE config for custom logo (served at /hub/logo)
- Fix CustomAuthorizationAreaHandler with @needs_scope decorator
- Import orm inside get() method to fix NameError
- Simplify page.html logo block (always use base_url/logo)
2026-01-07 01:44:54 +01:00
stellarshenson
8be73942da feat: server-side authorization discard button protection
- Add StellarsNativeAuthenticator subclass with CustomAuthorizationAreaHandler
- Pass hub_usernames set to template for Jinja2 conditional logic
- Remove JavaScript API call approach (was clunky with XSRF token handling)
- Fix Bootstrap 5 table hover color override (target td/th explicitly)
FIX_AUTHORIZATION_DISCARD_3.5.35 3.5.36_cuda-12.9.1_jh-5.4.2
2026-01-07 01:16:52 +01:00
stellarshenson
8a420cbb63 feat: document mnemonic passwords and fix table hover styling 2026-01-07 00:44:00 +01:00
stellarshenson
3607c5cb4c fix: use Bootstrap CSS variable for table hover opacity 3.5.31_cuda-12.9.1_jh-5.4.2 2026-01-07 00:21:44 +01:00
stellarshenson
20ed13baab fix: reduce spacing before Shutdown Hub button 3.5.27_cuda-12.9.1_jh-5.4.2 2026-01-06 23:58:04 +01:00
stellarshenson
6378b68821 fix: admin panel styling and replace eye emoji with icons 2026-01-06 23:55:02 +01:00
stellarshenson
3ab1c38932 chore: update journal entry for volume-renamer 2026-01-06 23:13:29 +01:00
stellarshenson
936fa523ca chore: use generic examples in volume-renamer help 2026-01-06 23:12:59 +01:00
stellarshenson
2618f699f5 feat: add volume-migration scripts for renaming and user migration 2026-01-06 23:03:16 +01:00
stellarshenson
3a7d697834 feat: add --refresh flag to traefik template start.sh 2026-01-06 23:00:16 +01:00
stellarshenson
4094e04a67 fix: further admin panel styling refinements
- Reduce user row hover to nearly invisible (0.003 alpha)
- Fix Add Users button: stock colors in light mode, explicit in dark mode
- Make collapse buttons more compact (0.2rem 0.3rem)
- Add username label left padding
- Update journal
RELEASE_3.5.25
2026-01-06 22:54:24 +01:00