# -*- coding: utf-8 -*- # Globally defined Karaage settings # These settings will be used for karaage-admin and karaage-registration. # Some of these values have sensible defaults. Settings that don't have a # sensible default must be configured manually. # Other Django settings are also possible, this list is not a comprehensive # list of all settings. # Copyright 2010-2011, 2014-2015 VPAC # Copyright 2010-2011 The University of Melbourne # # Django settings # # A boolean that turns on/off debug mode. # # Never deploy a site into production with DEBUG turned on. # # Did you catch that? NEVER deploy a site into production with DEBUG turned on. # # One of the main features of debug mode is the display of detailed error # pages. If your app raises an exception when DEBUG is True, Django will # display a detailed traceback, including a lot of metadata about your # environment, such as all the currently defined Django settings (from # settings.py). # # default: DEBUG = False # # DEBUG = True # Implemented by Shahaan due to the django-pipeline bug PIPELINE_ENABLED = False STATICFILES_STORAGE = 'pipeline.storage.PipelineStorage' # FQDN host, used in default settings for :setting:`ALLOWED_HOSTS`, # :setting:`REGISTRATION_BASE_URL`, and :setting:`ADMIN_BASE_URL`. # # default: HTTP_HOST = FQDN hostname # HTTP_HOST = "{{ x509_common_name }}" # A list of strings representing the host/domain names that this Django site # can serve. This is a security measure to prevent an attacker from poisoning # caches and password reset emails with links to malicious hosts by submitting # requests with a fake HTTP Host header, which is possible even under many # seemingly-safe web server configurations. # # %(HOST) will be substituted with the HTTP_HOST setting. # # default: ALLOWED_HOSTS = ["%(HOST)s"] # # ALLOWED_HOSTS = ["www.example.org"] # Whether to use a secure cookie for the session cookie. If this is set to # True, the cookie will be marked as “secure,” which means browsers may ensure # that the cookie is only sent under an HTTPS connection. # # default: SESSION_COOKIE_SECURE = True # # SESSION_COOKIE_SECURE = False # A tuple that lists people who get code error notifications. When DEBUG=False # and a view raises an exception, Django will email these people with the full # exception information. Each member of the tuple should be a tuple of (Full # name, email address). ADMINS = ( {% if karaageAdminName is defined and karaageAdminEmail is defined %} ('{{ karaageAdminName }}', '{{ karaageAdminEmail }}'), {% else %} # ('Your Name', 'your_email@domain.com'), {% endif %} ) # A tuple in the same format as ADMINS that specifies who should get broken # link notifications when BrokenLinkEmailsMiddleware is enabled. MANAGERS = ADMINS {% if defaultProject is defined and defaultMachineCategory is defined %} DEFAULT_PROJECT_PID = "{{ defaultProject }}" DEFAULT_MACHINE_CATEGORY_NAME = "{{ defaultMachineCategory }}" {% endif %} DEFAULT_INSTITUTE_NAME = "Monash University" DEFAULT_PROJECTS = [ {"project_name": "MCC2", "pid": "pMcc2", "institute_name": "Monash University"}, {"project_name": "MCC3", "pid": "pMcc3", "institute_name": "Monash University"}, {"project_name": "MASSIVE", "pid": "pMassive", "institute_name": "Monash University"}, {"project_name": "CVL", "pid": "pCvl", "institute_name": "Monash University"} ] # A dictionary containing the settings for all databases to be used with # Django. It is a nested dictionary whose contents maps database aliases to a # dictionary containing the options for an individual database. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '{{ karaageDbName }}', 'USER': '{{ karaageDbUser }}', 'PASSWORD': '{{ karaagePassword }}', 'HOST': '{{ karaageDbHost }}', 'PORT': '', 'ATOMIC_REQUESTS': True, } } LDAP = { 'default': { 'ENGINE': 'tldap.backend.fake_transactions', 'URI': '{{ ldapURI }}', 'USER': '{{ ldapManager }}', 'PASSWORD': '{{ ldapManagerPassword }}', 'REQUIRE_TLS': True, 'START_TLS': True, 'TLS_CA': '{{ apache_config }}/ssl/certs/ldap_ca.cert.pem', } } MACHINE_CATEGORY_DATASTORES = { 'ldap': [ { 'DESCRIPTION': 'LDAP datastore', 'ENGINE': 'karaage.datastores.ldap.MachineCategoryDataStore', 'LDAP': 'default', 'ACCOUNT': 'karaage.datastores.ldap_schemas.openldap_account', 'GROUP': 'karaage.datastores.ldap_schemas.openldap_account_group', 'PRIMARY_GROUP': "institute", 'DEFAULT_PRIMARY_GROUP': "ldap", 'HOME_DIRECTORY': "/home/%(uid)s", 'LOCKED_SHELL': "/usr/local/sbin/locked", 'NUMBER_SCHEME': 'default', 'LDAP_ACCOUNT_BASE': 'ou=Accounts,{{ ldapDomain }}', 'LDAP_GROUP_BASE': 'ou=Groups,{{ ldapDomain }}', }, ], 'dummy': [ ], } GLOBAL_DATASTORES = [ { 'DESCRIPTION': 'LDAP datastore', 'ENGINE': 'karaage.datastores.ldap.GlobalDataStore', 'LDAP': 'default', 'PERSON': 'karaage.datastores.ldap_schemas.openldap_person', 'GROUP': 'karaage.datastores.ldap_schemas.openldap_person_group', 'NUMBER_SCHEME': 'global', 'LDAP_PERSON_BASE': 'ou=People,{{ ldapDomain }}', 'LDAP_GROUP_BASE': 'ou=Groups,{{ ldapDomain }}', }, ] # The email address that error messages come from, such as those sent to ADMINS # and MANAGERS. SERVER_EMAIL = '{{ karaageAdminEmail }}' # The host to use for sending email. EMAIL_HOST = 'localhost' # Subject-line prefix for email messages sent with django.core.mail.mail_admins # or django.core.mail.mail_managers. You’ll probably want to include the # trailing space. EMAIL_SUBJECT_PREFIX = '[Karaage] - ' # Local time zone for this installation. Choices can be found here: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # although not all choices may be available on all operating systems. # If running in a Windows environment this must be set to the same as your # system time zone. TIME_ZONE = 'Australia/Melbourne' # Language code for this installation. All choices can be found here: # http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE = 'en-au' # A secret key for a particular Django installation. This is used to provide # cryptographic signing, and should be set to a unique, unpredictable value. SECRET_KEY = '' # A data structure containing configuration information. The contents of this # data structure will be passed as the argument to the configuration method # described in LOGGING_CONFIG. LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s ' '%(module)s %(process)d %(thread)d %(message)s' }, 'simple': { 'format': '%(levelname)s %(message)s' }, }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler' }, 'django_file': { 'level': 'WARNING', 'class': 'karaage.common.logging.FileHandler', 'filename': '/var/log/karaage3/django.log', 'formatter': 'verbose', 'owner': ['{{ apache_user }}', '{{ apache_user }}'], }, 'karaage_file': { 'level': 'WARNING', 'class': 'karaage.common.logging.FileHandler', 'filename': '/var/log/karaage3/karaage.log', 'formatter': 'verbose', 'owner': ['{{ apache_user }}', '{{ apache_user }}'], }, # 'ldap_file': { # 'level': 'DEBUG', # 'class': 'karaage.common.logging.FileHandler', # 'filename': '/var/log/karaage3/ldap.log', # 'formatter': 'verbose', # 'owner': ['{{ apache_user }}', '{{ apache_user }}'], # }, # 'mam_file': { # 'level': 'DEBUG', # 'class': 'karaage.common.logging.FileHandler', # 'filename': '/var/log/karaage3/mam.log', # 'formatter': 'verbose', # 'owner': ['{{ apache_user }}', '{{ apache_user }}'], # }, # 'slurm_file': { # 'level': 'DEBUG', # 'class': 'karaage.common.logging.FileHandler', # 'filename': '/var/log/karaage3/slurm.log', # 'formatter': 'verbose', # 'owner': ['{{ apache_user }}', '{{ apache_user }}'], # }, }, 'loggers': { '': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, 'django': { 'handlers': ['django_file'], 'level': 'DEBUG', 'propagate': True, }, 'karaage': { 'handlers': ['karaage_file'], 'level': 'DEBUG', 'propagate': True, }, # 'karaage.datastores.ldap': { # 'handlers': ['ldap_file'], # 'level': 'DEBUG', # 'propagate': True, # }, # 'karaage.datastores.mam': { # 'handlers': ['mam_file'], # 'level': 'DEBUG', # 'propagate': True, # }, # 'karaage.datastores.slurm': { # 'handlers': ['slurm_file'], # 'level': 'DEBUG', # 'propagate': True, # }, }, } # # Karaage settings # # Users are advised to contact this address if having problems. # This is also used as the from address in outgoing emails. ACCOUNTS_EMAIL = '{{ karaageAdminEmail }}' # This organisation name, used in outgoing emails. ACCOUNTS_ORG_NAME = '{{ karaageAcountName }}' # Registration base URL - Used in email templates # Uncomment to override default # # %(HOST) will be substituted with the HTTP_HOST setting. # # default: REGISTRATION_BASE_URL = 'https://%(HOST)s/users' # # REGISTRATION_BASE_URL = 'https://accounts.example.org/users' # Admin base URL - Used in email templates # Uncomment to override default # # %(HOST) will be substituted with the HTTP_HOST setting. # # default: ADMIN_BASE_URL = 'https://%(HOST)s/kgadmin' # # ADMIN_BASE_URL = 'https://accounts.example.org/kgadmin' # Is Shibboleth supported? # # default: SHIB_SUPPORTED = False # # TODO: Should we add a variable to use shibboleth or not??? SHIB_SUPPORTED = True # Path to AUP policy. Note that setting this will not disable the Karaage # default page, it might be better to replace the AUP with a file in # the templates directory ``karaage/common/aup-detail.html`` if required. # # default: Django template ``karaage/common/aup-detail.html`` # # AUP_URL = "https://site.example.org/users/aup/" # Do we allow anonymous users to request accounts? # # default: ALLOW_REGISTRATIONS = False # # ALLOW_REGISTRATIONS = True # Do we allow any logged in user to access all usage information? # # default: USAGE_IS_PUBLIC = True # # USAGE_IS_PUBLIC = False # Settings to restrict the valid list of email addresses we allow in # applications. EMAIL_MATCH_TYPE can be "include" or "exclude". If "include" # then the email address must match one of the RE entries in EMAIL_MATCH_LIST. # If "exclude" then then email address must not match of the the RE entries in # EMAIL_MATCH_LIST. # # default: allow any email address # # EMAIL_MATCH_TYPE="include" # EMAIL_MATCH_LIST=["@vpac.org$", "@v3.org.au$", "^tux@.*au$"] # List of Karaage plugins # # default: PLUGINS = [] # PLUGINS = [ 'karaage.plugins.kgapplications.plugin', 'karaage.plugins.kgsoftware.plugin', 'karaage.plugins.kgsoftware.applications.plugin', # 'karaage.plugins.kgusage.plugin', ]