-
Notifications
You must be signed in to change notification settings - Fork 5
/
settings.py
156 lines (129 loc) · 4.39 KB
/
settings.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#################
##
## Momonitor Django Settings
##
#################
####
# Section 1. Django Defaults. Don't worry about these. Configurable settings in Section 2
####
TIME_ZONE = 'America/Chicago'
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
USE_I18N = True
USE_L10N = True
#Setup media path
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
MEDIA_ROOT = '%s/media/' % BASE_DIR
#URLs. Probably want to serve these via a static http server, but here for DEBUG=True situations
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/admin-media/'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'breadcrumbs.middleware.BreadcrumbsMiddleware',
)
ROOT_URLCONF = 'momonitor.urls'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'south',
'main',
'common',
'slideshow',
'mobile',
'breadcrumbs',
'social_auth'
)
#Redis Cache required to keep application state.
CACHES = {
"default": {
"BACKEND": "redis_cache.cache.RedisCache",
"LOCATION": "127.0.0.1:6379:1",
"OPTIONS": {
"CLIENT_CLASS": "redis_cache.client.DefaultClient",
}
}
}
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
'django.core.context_processors.request',
'momonitor.common.context_processors.service_endpoints')
#Email the admins if momonitor ever breaks
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
}
}
#This is the global endpoint that pagerduty uses for custom events.
PAGERDUTY_ENDPOINT = "https://events.pagerduty.com/generic/2010-04-15/create_event.json"
LOGIN_URL = '/social_auth/login/google/'
#Add media to the python path so that we can run code checks in the media/uploaded_scripts directory
import sys
sys.path.insert(0,os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)) ,'media')))
AUTHENTICATION_BACKENDS = (
'social_auth.backends.google.GoogleBackend',
'django.contrib.auth.backends.ModelBackend'
)
FAKE_APP_PORT = 5000
FAKE_APP_HOST = "localhost"
IS_TESTING = sys.argv[1:2] == ['test']
####
# Section 2. Configurable Settings
####
DEBUG=True
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
CHECK_MODELS = []
if IS_TESTING:
UMPIRE_ENDPOINT = "http://%s:%s/check" % (FAKE_APP_HOST,FAKE_APP_PORT)
SENSU_API_ENDPOINT = "http://%s:%s" % (FAKE_APP_HOST,FAKE_APP_PORT)
GRAPHITE_ENDPOINT = "http://%s:%s" % (FAKE_APP_HOST,FAKE_APP_PORT)
#this will make tests not work
if CHECK_MODELS:
del CHECK_MODELS
else:
#If you are using external service, set their endpoints above
UMPIRE_ENDPOINT = ""
SENSU_API_ENDPOINT = ""
GRAPHITE_ENDPOINT = ""
#OAuth rule. Only allow people with a google email ending in 'example.org' to access the site
GOOGLE_WHITE_LISTED_DOMAINS = ['gmail.com']
# Set this to the Domain of the site that will be hosting momonitor.
# This will be used to create links in emails sent from momonitor.
# Use 'http://localhost' for testing
DOMAIN = ""