Skip to content

Migration to SQLAlchemy#424

Open
benjwadams wants to merge 180 commits into
mainfrom
develop
Open

Migration to SQLAlchemy#424
benjwadams wants to merge 180 commits into
mainfrom
develop

Conversation

@benjwadams
Copy link
Copy Markdown
Contributor

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.

benjwadams and others added 30 commits April 12, 2024 13:27
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.
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.
Test removing passlib to remove pkg_resources dependency
@benjwadams benjwadams added this to the Deployment of DB Upgrades milestone Apr 28, 2026
benjwadams and others added 11 commits April 29, 2026 09:42
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.
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