JustPaste.it

prod.py

import json
import os
AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
)

import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
AUTH_LDAP_SERVER_URI = "ldap://vpsysipavip01.i01.paytr.com:389"
AUTH_LDAP_BIND_DN = "uid=confluence_sa,cn=users,cn=accounts,dc=i01,dc=paytr,dc=com"
AUTH_LDAP_BIND_PASSWORD = "secret"
AUTH_LDAP_PROTOCOL_VERSION = 3
AUTH_LDAP_USER_USERNAME_ATTR = "cn"
AUTH_LDAP_USER_SEARCH_BASE = "dc=i01,dc=paytr,dc=com"
AUTH_LDAP_USER_SEARCH_FILTER = '(&(objectClass=*)({0}=%(user)s))'.format(
  AUTH_LDAP_USER_USERNAME_ATTR)
AUTH_LDAP_USER_SEARCH = LDAPSearch(AUTH_LDAP_USER_SEARCH_BASE,
  ldap.SCOPE_SUBTREE, AUTH_LDAP_USER_SEARCH_FILTER)
AUTH_LDAP_USER_ATTR_MAP = {
  "first_name": "givenName",
  "last_name": "sn",
  "email": "mail",
}

from ralph.accounts.ldap import MappedGroupOfNamesType

AUTH_LDAP_GROUP_MAPPING = {
  'cn=groups,cn=accounts,dc=i01,dc=paytr,dc=com': "confluence_access",

}
AUTH_LDAP_MIRROR_GROUPS = True
AUTH_LDAP_GROUP_TYPE = MappedGroupOfNamesType(name_attr="cn")
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("dc=i01,dc=paytr,dc=com",
    ldap.SCOPE_SUBTREE, '(objectClass=group)')

AUTH_LDAP_NESTED_GROUPS = {
    'cn=groups,cn=accounts,dc=i01,dc=paytr,dc=com': "confluence_access",  # _gr_ralph_users contains other LDAP groups inside
}

AUTH_LDAP_USER_FILTER = '(|(memberOf=cn=confluence_access,cn=groups,cn=accounts,dc=i01,dc=paytr,dc=com))'
from ralph.settings import *  # noqa

DEBUG = bool_from_env('RALPH_DEBUG', False)

STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'  # noqa

REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] = (
    'rest_framework.authentication.TokenAuthentication',
    # session authentication enabled for API requests from UI (ex. in
    # visualisation)
    'rest_framework.authentication.SessionAuthentication',
)

if os.environ.get('STORE_SESSIONS_IN_REDIS'):
    SESSION_ENGINE = 'redis_sessions.session'
    if REDIS_SENTINEL_ENABLED:
        SESSION_REDIS_SENTINEL_LIST = REDIS_SENTINEL_HOSTS
        SESSION_REDIS_SENTINEL_MASTER_ALIAS = REDIS_CLUSTER_NAME
    else:
        SESSION_REDIS_HOST = REDIS_CONNECTION['HOST']
        SESSION_REDIS_PORT = REDIS_CONNECTION['PORT']
    SESSION_REDIS_DB = REDIS_CONNECTION['DB']
    SESSION_REDIS_PASSWORD = REDIS_CONNECTION['PASSWORD']
    SESSION_REDIS_PREFIX = 'session'

if os.environ.get('USE_REDIS_CACHE'):

    DEFAULT_CACHE_OPTIONS = {
        'DB': os.environ.get('REDIS_CACHE_DB', REDIS_CONNECTION['DB']),
        'PASSWORD': os.environ.get(
            'REDIS_CACHE_PASSWORD', REDIS_CONNECTION['PASSWORD']
        ),
        'PARSER_CLASS': os.environ.get(
            'REDIS_CACHE_PARSER', 'redis.connection.HiredisParser'
        ),
        'CONNECTION_POOL_CLASS': os.environ.get(
            'REDIS_CACHE_CONNECTION_POOL_CLASS',
            'redis.BlockingConnectionPool'
        ),
        'PICKLE_VERSION': -1,
    }

    CACHES = {
        'default': {
            'OPTIONS': (
                json.loads(os.environ.get('REDIS_CACHE_OPTIONS', "{}")) or
                DEFAULT_CACHE_OPTIONS
            ),
        },
    }
    if REDIS_SENTINEL_ENABLED:
        CACHES['default']['BACKEND'] = 'ralph.lib.cache.DjangoConnectionPoolCache'  # noqa
    else:
        CACHES['default']['BACKEND'] = 'redis_cache.RedisCache'
        CACHES['default']['LOCATION'] = json.loads(
            os.environ.get(
                'REDIS_CACHE_LOCATION', '"{}:{}"'.format(
                    REDIS_CONNECTION['HOST'], REDIS_CONNECTION['PORT']
                )
            )
        )

    if bool_from_env('RALPH_DISABLE_CACHE_FRAGMENTS', False):
        CACHES['template_fragments'] = {
            'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
        }


if bool_from_env('COLLECT_METRICS'):
    COLLECT_METRICS = True
    STATSD_HOST = os.environ.get('STATSD_HOST')
    STATSD_PORT = os.environ.get('STATSD_PORT')
    STATSD_PREFIX = os.environ.get('STATSD_PREFIX')
    STATSD_MAXUDPSIZE = int(os.environ.get('STATSD_MAXUDPSIZE', 512))
    MIDDLEWARE_CLASSES = (
        'ralph.lib.metrics.middlewares.RequestMetricsMiddleware',
    ) + MIDDLEWARE_CLASSES

    ALLOW_PUSH_GRAPHS_DATA_TO_STATSD = bool_from_env(
        'ALLOW_PUSH_GRAPHS_DATA_TO_STATSD'
    )
    if ALLOW_PUSH_GRAPHS_DATA_TO_STATSD:
        STATSD_GRAPHS_PREFIX = os.environ.get(
            'STATSD_GRAPHS_PREFIX', 'ralph.graphs'
        )