mirror of
https://github.com/stellarshenson/stellars-jupyterhub-ds.git
synced 2026-03-15 09:15:08 +00:00
updated with new version
This commit is contained in:
31
.claude/skills/cleanup-tags/API.md
Normal file
31
.claude/skills/cleanup-tags/API.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Docker Hub API Reference
|
||||
|
||||
## Repository
|
||||
|
||||
- **Owner:** stellars
|
||||
- **Repository:** stellars-jupyterlab-ds
|
||||
- **Base URL:** `https://hub.docker.com/v2/repositories/stellars/stellars-jupyterlab-ds`
|
||||
|
||||
## List Tags
|
||||
|
||||
```bash
|
||||
curl -s "https://hub.docker.com/v2/repositories/stellars/stellars-jupyterlab-ds/tags?page_size=100" \
|
||||
| jq -r '.results[].name'
|
||||
```
|
||||
|
||||
## Delete Tag
|
||||
|
||||
```bash
|
||||
curl -s -o /dev/null -w "%{http_code}" -X DELETE \
|
||||
-H "Authorization: Bearer $TOKEN" \
|
||||
"https://hub.docker.com/v2/repositories/stellars/stellars-jupyterlab-ds/tags/{TAG}/"
|
||||
```
|
||||
|
||||
## Response Codes
|
||||
|
||||
| Code | Meaning |
|
||||
|------|---------|
|
||||
| 204 | Success - tag deleted |
|
||||
| 401 | Unauthorized - token invalid |
|
||||
| 404 | Tag not found |
|
||||
| 403 | Forbidden - insufficient permissions |
|
||||
23
.claude/skills/cleanup-tags/AUTH.md
Normal file
23
.claude/skills/cleanup-tags/AUTH.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Authentication
|
||||
|
||||
## Docker Desktop Credential Helper
|
||||
|
||||
Get username and PAT from Docker Desktop:
|
||||
|
||||
```bash
|
||||
CREDS=$(echo "https://index.docker.io/v1/" | docker-credential-desktop.exe get)
|
||||
USERNAME=$(echo "$CREDS" | jq -r '.Username')
|
||||
PASSWORD=$(echo "$CREDS" | jq -r '.Secret')
|
||||
```
|
||||
|
||||
## JWT Token
|
||||
|
||||
Exchange credentials for Docker Hub JWT token:
|
||||
|
||||
```bash
|
||||
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST \
|
||||
-d "{\"username\": \"$USERNAME\", \"password\": \"$PASSWORD\"}" \
|
||||
https://hub.docker.com/v2/users/login/ | jq -r .token)
|
||||
```
|
||||
|
||||
The token is used in the Authorization header for subsequent API calls.
|
||||
24
.claude/skills/cleanup-tags/SKILL.md
Normal file
24
.claude/skills/cleanup-tags/SKILL.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
description: Clean up Docker Hub tags for stellars-jupyterlab-ds
|
||||
allowed-tools: Bash, AskUserQuestion
|
||||
---
|
||||
|
||||
# Clean Up Docker Hub Tags
|
||||
|
||||
Manage and remove old or unwanted tags from Docker Hub for the `stellars/stellars-jupyterlab-ds` repository.
|
||||
|
||||
## Current Tags
|
||||
|
||||
!`curl -s "https://hub.docker.com/v2/repositories/stellars/stellars-jupyterlab-ds/tags?page_size=100" | jq -r '.results[].name' | sort -V`
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Show the user the current tags listed above
|
||||
2. Ask which tags to delete using AskUserQuestion with options:
|
||||
- Delete all tags below version X.Y (e.g., "Delete all 3.4.x and lower")
|
||||
- Delete specific version range (e.g., "Delete 3.3.x only")
|
||||
- Delete tags matching a pattern
|
||||
- Custom selection
|
||||
3. Authenticate using Docker credential helper (see AUTH.md)
|
||||
4. Delete selected tags via Docker Hub API (see API.md)
|
||||
5. Report results showing which tags were deleted successfully
|
||||
@@ -3,7 +3,7 @@ PROJECT_NAME="stellars-jupyterhub-ds"
|
||||
PROJECT_DESCRIPTION="Multi-user JupyterHub 4 deployment platform with data science stack, GPU auto-detection, NativeAuthenticator, and isolated per-user environments spawned via DockerSpawner"
|
||||
|
||||
# Version
|
||||
VERSION="3.7.17_cuda-13.0.2_jh-5.4.2"
|
||||
VERSION="3.7.10_cuda-13.0.2_jh-5.4.2"
|
||||
VERSION_COMMENT="Activity Monitor: admin page with 3-state status, activity scoring, reset functionality"
|
||||
RELEASE_TAG="RELEASE_3.2.11"
|
||||
RELEASE_DATE="2025-11-09"
|
||||
|
||||
Reference in New Issue
Block a user