Refactor e2xgrader-notebook configuration management and introduce environment variables #116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request updates the configuration management for the
e2xgrader-notebookDocker image to improve maintainability and support for different operational modes (base, student_exam, teacher). The main changes include restructuring configuration files, introducing mode-specific config handling, and adding cleanup steps for temporary files.Configuration restructuring and base setup:
configs/base/nbgrader_config.pyand expanded it with detailed environment variable support, permissions, and additional options. The Dockerfile now copies this base config for all modes. [1] [2]jupyter_notebook_config_override.pyfor base configuration, which disables the notebook banner for version 6.5.4 and is appended to the main config during build. [1] [2]Student exam mode enhancements:
student_exammode, the Dockerfile copies and installs ajupyter_backup_config.pyto enable backup features based on environment variables. [1] [2]General improvements:
Deprecation and removal:
configs/nbgrader_config.pyin favor of the new structured base config.These changes make the configuration more modular, easier to maintain, and allow for more flexible deployment scenarios.