Conference management site for FOSSY. Forked from Linux Australia's version at https://gitlab.com/laconfdev/symposion_app.
db1f3f9792
This improves the administrative workflow of deploying updated images to the k8s cluster. Still tag latest however, as that's important to old-workflow. Would be good to block this and have it fail on a db migration so it doesn't happen accidently, and make the deployer deal with it. |
||
---|---|---|
docker | ||
fixtures | ||
pinaxcon | ||
static | ||
vendor | ||
.dockerignore | ||
.gitignore | ||
.gitlab-ci.yml | ||
constraints.txt | ||
dev-env.sh | ||
LICENSE | ||
manage.py | ||
README.rst | ||
requirements.txt | ||
tox.ini |
symposion_app =============== At this time, considerations have not been made to have the django project run without additional infrastructure. This can be configured in the future by switching the defualt DEFAULT_FILE_STORAGE django default, and properly configuring django to load subsequent configuration to switch this back to GCS on run in our testing and production environments. Login is a bit more complicated, the default flow redirects you out to a SAML server, you can probably work something out with testshib. But if you go to /admin and log in, that will persist into /dashboard. Required Configuration ---------------------- GCS ~~~ 1. Set the bucket in settings.py 1. Store your Service Account JSON in a file 1. Set GOOGLE_APPLICATION_CREDENTIALS to your account file 1. Set GCS_BUCKET to your bucket name SAML2 ~~~~~ Please familurise yourself with Shibboleth configuraiton and the general flow of how to register a SP with an IDP. If you send the SP metadata staticly, validdity time must be removed. You will also need to register your IDP metadata here either staticly or remotely updated. You may consider testing with testshib. Configure signing and encryption keys, and configure them in the settings.py VirtualEnv ~~~~~~~~~~ Not all things are lovely, so we use constraints to force the versions we we wish for without having to do anything ugly. This may require a newer version of pip than is packaged with distros virtualenv. Note that this application is python 3 only so you must create your virtualenv with a python3 interpretter. - ``virtualenv -p `which python3` venv`` - ``source ./venv/bin/activate`` - ``pip install -c constraints.txt -r requirements.txt`` Pre-post-start configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Now that we are ready to start the app, we need to do initial setup, start it, perform voodoo string magic, run more database jingling voodoo, and then we can start it up and start looking around and customising the application. ``./manage.py migrate`` ``./manage.py runserver`` Now we hit up the admin interface, find `symposion_proposals` `proposalkind` and add `Talk` slug `talk`, `Tutorial`:`tutorial`, and `Miniconf`:`miniconf`. Shut down and now run: ``./manage.py populate_inventory`` Now you can run the system and see how it goes. Admin Credentials ~~~~~~~~~~~~~~~~~ To create a local administrator account run: ``./manage.py createsuperuser`` and enter your username, email and password. This can then be used to login to: (http://localhost:8000/admin). Base Data ~~~~~~~~~ On initial creation and whenever you reset the database you must reload the basic data. This data is stored in the /fixtures directory. You can load this with: ``./manage.py loaddata ./fixtures/*.json`` Creating review permissions objects ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some more voodoo magic that needs to be manually run because that's just how symposion works. This creates the permission that needs to be applied to a user/group/team to be able to see the review sections of the site. ``./manage.py create_review_permissions``