Migration to SQLAlchemy#424
Open
benjwadams wants to merge 180 commits into
Open
Conversation
Uses application factory pattern. Moves over to SQLAlchemy from MongoKit.
Removes BerkeleyDB for user authentication, instead using User model to store password. FTP PAM authentication methods will need to be updated to use SQL instead.
Adds a model attribute/DB column for whether CF Standard names are all compliant after Compliance Checker runs. Also updates NCEI archival scripts to utilize this column as part of the criteria prior to determining whether datasets should be archived by NCEI.
Removes a non-functioning dataset removal task which didn't properly get queued up due to Flask application context error. In theory even for removing many files from the web application from a delayed mode dataset the operation should not take much time and deletions are not a common occurrence. If needed can be fixed and re-added later.
Adds feature file for example scenarios with deployments. Tests are currently not implemented for these feature files but will likely be implemented later using pytest-bdd.
…ication_factory_fixes_rebase
Adds BDD testing steps for glider deployment creation, ensuring that a user can create a deployment successfully, have an email sent out to Glider DAC group, and ensure the proper filesystem directory and file structure is created for the dataset.
Further manual fixes indicated by ruff
Fix incomplete deployment email sending and related models
Adds appropriate databases event listeners for Deployment model creation (.save) and delete (.delete)
Uses uv to speed up the Docker build. Also eliminates PYTHON_VERSION_SHORT Docker build argument.
Merge in main w/ CI, ERDDAP version updates
Adds an example PAM configuration for vsftpd that checks against the PostgreSQL database "user" table for authorization of FTP virtual users.
Use uv for Docker build
Fix cchecker invocations
Test removing passlib to remove pkg_resources dependency
Adds example PAM configuration for vsftpd
Changes the name of the testing environment in config.yml from TESTING to TEST_CONFIG. TESTING has special meaning in Flask and is usually reserved for a boolean variable, which has several downstream effects, including disabling Flask-Mail sending when set to True. This particular effect was interfering with locally testing emails being sent out for password resets and new deployment creation, among other effects.
Use Flask-Security password reset emails
Allows filtering on deployment name on index name. Currently makes an ILIKE query.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Next major upgrade for Glider DAC, moves over to SQLAlchemy for database storage.
Glider DAC v3.0 will likely be released shortly after this is merged.