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

Update the codebase to allow for cloud-based deployment #107

Open
2 of 4 tasks
khardix opened this issue Sep 5, 2018 · 4 comments
Open
2 of 4 tasks

Update the codebase to allow for cloud-based deployment #107

khardix opened this issue Sep 5, 2018 · 4 comments

Comments

@khardix
Copy link
Collaborator

khardix commented Sep 5, 2018

The current method of deployment -- building a Fedora-based RPM and installing it on dedicated system -- requires dedicated maintenance effort: The site (and all of its dependencies) needs to be kept regularly ported to a version of Django present in any currently supported Fedora version. Failure to do so results in need to run the site on unsupported version of OS.

There is also kind of vendor lock-in -- the site is only deployable on RPM based distribution.

Replacing the RPM-based deployment with something more generic and pythonic, such as utilizing a pypi/virtualenv based workflow, would offer a great flexibility in deploying to any platform deemed convenient.

Proposed plan

  • Enable local development in virtual python environment, preferably using Pipenv
  • Update the codebase to be compatible with more Django versions, specifically the current 2.* branch
  • Replace the RPM deployment with more generic one
    • The deployment should ideally be as simple as $ pip install softwarecollections[production]
    • Current RPM can be replaced with simplified, "wrapper" version of the above.
  • Provide instructions (Dockerfile, template) for deploying the site on OpenShift instance.
@khardix
Copy link
Collaborator Author

khardix commented Sep 5, 2018

This is intended to be mainly a discussion/tracking issue, with separate PRs for concrete enhancements. I have experimented with/prepared code for several aforementioned steps, but I would like to know if anyone has any comments/issues with the current plan, or is interested and/or available in helping with this changes.

Any comments, @misli, @asamalik, @xsuchy?

khardix added a commit to khardix/softwarecollections that referenced this issue Sep 5, 2018
Fill setup.py to match the dependencies specified in spec file,
which will allow the usage of virtual environments for local
development.

Related: sclorg#107
@khardix
Copy link
Collaborator Author

khardix commented Sep 12, 2018

Since no one mentioned has any comments, I assume that the described course is desired and will go ahead with it 😉.

@khardix
Copy link
Collaborator Author

khardix commented Sep 13, 2018

As of commit 823c2e8, the Pipenv/setup.py based workflow is supported.

@khardix
Copy link
Collaborator Author

khardix commented Sep 25, 2018

As of commit 2ccb51b, the codebase is compatible with Django 2.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant