Skip to content

feat: add deploy-kernel action and Dockerfile validation#22

Draft
rryoung98 wants to merge 6 commits intomainfrom
feature/custom-kernel-deployment
Draft

feat: add deploy-kernel action and Dockerfile validation#22
rryoung98 wants to merge 6 commits intomainfrom
feature/custom-kernel-deployment

Conversation

@rryoung98
Copy link
Member

Summary

  • Add deploy-kernel/ composite action for deploying custom Jupyter kernel images to qBraid
  • Add src/scripts/validate_dockerfile.py for static Dockerfile validation
  • Add kernel catalog validation to validate_course.py (checks kernelName exists in catalog)

Usage

Referenced as qBraid/upload-course-action/deploy-kernel@main in workflows.

Inputs: api-key, dockerfile-path, kernel-name, language, display-name, context-dir

Test plan

  • Merge to main
  • Run deploy-kernel workflow from qbraid-tutorial
  • Verify kernel appears in catalog at qbook-staging.k8s.qbraid.com/api/kernelspecs

🤖 Generated with Claude Code

rryoung98 and others added 6 commits March 23, 2026 14:02
Static validation of kernel Dockerfiles before submission to API.
Checks: required qbraid.kernel.* LABELs, EXPOSE 8888, CMD/ENTRYPOINT
referencing jupyter kernelgateway, no root USER, no privileged flags,
kernel.json presence, and kernel name format validation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Course validator now fetches the kernel catalog from
qbook-staging.k8s.qbraid.com/api/kernelspecs and verifies that
every kernelName in chapters/sections exists. Gracefully skips
validation if catalog is unreachable.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New composite action at deploy-kernel/ for deploying custom Jupyter
kernel images to qBraid. Called as qBraid/upload-course-action/deploy-kernel@main.

Inputs: api-key, dockerfile-path, kernel-name, language, display-name,
context-dir, api-base-url.

Flow: validate Dockerfile structure -> base64 encode + submit to API ->
poll Cloud Build status until active/failed.

Outputs: kernel-name, image-uri, status, build-id.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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