Coldfront is an open source resource allocation system designed to provide a central portal for administration, reporting, and measuring scientific impact of HPC resources. Coldfront was created to help HPC centers manage access to a diverse set of resources across large groups of users and provide a rich set of extensible meta data for comprehensive reporting. Coldfront is written in Python and released under the GPLv3 license.
- Allocation/Subscription based system for managing access to resources
- Collect Project, Grant, and Publication data from users
- Define custom attributes on resources and subscriptions
- Email notifications for expiring/renewing access to resources
- Integration with 3rd party systems for automation and access control
- Center director approval system and annual project reviews
If you would like a live demo followed by QA, please contact us at [email protected]. You can also contact us for general inquiries and installation troubleshooting.
If you would like to join our mailing list to receive news and updates, please send an email to [email protected] with no subject, and the following command in the body of the message:
subscribe [email protected] first_name last_name
Coldfront requires Python 3.6, memcached, and redis.
Install EPEL then install required packages:
sudo yum install epel-release
sudo yum install python36 python36-devel memcached redis
For Django 2.2 on CentOS 7.5+, you will also need a newer version of sqlite installed and available to the user that will run the ColdFront App.
wget https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
tar -xvf sqlite-autoconf-3280000.tar.gz
cd sqlite-autoconf-3280000 || exit
./configure
make -j "$(nproc)"
sudo make install
Once installed, you will need to add /usr/local/bin
to PATH
(if not already
there for the user that will run ColdFront. You will also need to add
/usr/local/lib
to LD_LIBRARY_PATH
export PATH=/usr/local/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6 python3.6-venv memcached redis-server
Clone Coldfront in a new directory and create a Python virtual environment for Coldfront
mkdir coldfront_app
cd coldfront_app
git clone https://github.com/ubccr/coldfront.git
python3.6 -mvenv venv
Activate the virtual environment and install the required Python packages
source venv/bin/activate
cd coldfront
pip install wheel
pip install -r requirements.txt
Copy config/local_settings.py.sample
to config/local_settings.py
.
cp config/local_settings.py.sample config/local_settings.py
Open config/local_settings.py
and update the following:
- Update
SECRET_KEY
. Consider making the length at least 50 characters long. - Update
TIME_ZONE
if necessary - Uncomment line
EMAIL_ADMIN_LIST
- Uncomment line
EMAIL_DIRECTOR_EMAIL_ADDRESS
Copy config/local_strings.py.sample
to config/local_strings.py
and update
if desired.
cp config/local_strings.py.sample config/local_strings.py
Run initial setup
python manage.py initial_setup
Optional: Add some test data
python manage.py load_test_data
Start development server
python manage.py runserver 0.0.0.0:8000
- Point your browser to http://localhost:8000
- You can log in as
admin
with passwordtest1234
. - You can log in as a PI using username
cgray
with passwordtest1234
. - You can log in as another PI using username
sfoster
with passwordtest1234
.
Password for all users is also teset1234
.
- coldfront
- core - The core Coldfront application
- field_of_science
- grant
- portal
- project
- publication
- resource
- subscription
- user
- utils
- libs - Helper libraries
- plugins - Plugins that can be configured in Coldfront
- freeipa
- iquota
- ldap_user_search
- mokey_oidc
- slurm
- system_monitor
- plugins - Plugins that can be configured in Coldfront
- core - The core Coldfront application
Coldfront is released under the GPLv3 license. See the LICENSE file.