Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Container optimizations in preparation for OpenShift deployment #525

Merged
merged 4 commits into from
Sep 14, 2023

Conversation

jennydaman
Copy link
Contributor

For the most part, this PR affects auxiliary files such as Dockerfile and docker-compose_dev.yml, as well as making some changes to configuration-related Python modules in config.

  • mod_wsgi-express replaced by gunicorn
  • manage.py collectstatic is run during build and served using WhiteNoise, easier deployment
  • Base image replaced by Red Hat UBI (preferred over custom fnndsc/ubuntu-python3 image)
  • Python version upgraded to 3.11 (from 3.8)
  • Container user may be an arbitrary UID, closes Container security optimizations: arbitrary UID #514
    • UID build argument removed
  • In docker-compose_dev.yml, database migrations are run in their own service. Advanced usage of depends_on imitates initContainer functionality, see Release notes 1.29 - initContainer information missing docker/docs#12633
  • Entrypoint scripts docker-entrypoint.sh and migratedb.py are removed, they are no longer necessary
  • Added an LDAP server to docker-entrypoint_dev.yml and enabled LDAP auth for config.settings.local

How I tested this:

  • ✔️ ./make.sh all tests pass
  • ✔️ ChRIS admin dashboard visible at http://localhost:8000/chris-admin/, seems to work
  • ✔️ LDAP authentication works

@jennydaman jennydaman merged commit 2b235b2 into FNNDSC:master Sep 14, 2023
2 checks passed
@jennydaman jennydaman deleted the gunicorn branch September 14, 2023 14:53
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.

Container security optimizations: arbitrary UID
1 participant