Ejemplo n.º 1
0
class Development(Base):
    """Settings for local development."""
    DOTENV_EXISTS = os.path.exists(os.path.join(Core.BASE_DIR, '.env'))
    DOTENV = '.env' if DOTENV_EXISTS else None

    SECRET_KEY = values.Value('not a secret')
    DEBUG = values.BooleanValue(True)
    AUTH_PASSWORD_VALIDATORS = values.ListValue([])
    INSTALLED_APPS = Base.INSTALLED_APPS + ['sslserver']
    EMAIL_BACKEND = values.Value('django.core.mail.backends.console.EmailBackend')
    SECURE_SSL_REDIRECT = values.Value(False)
    REQUIRE_RECIPE_AUTH = values.BooleanValue(False)
    PEER_APPROVAL_ENFORCED = values.BooleanValue(False)

    API_CACHE_ENABLED = values.BooleanValue(False)
    API_CACHE_TIME = values.IntegerValue(0)

    SWAGGER_SETTINGS = Base.SWAGGER_SETTINGS
    SWAGGER_SETTINGS['VALIDATOR_URL'] = None
Ejemplo n.º 2
0
class Development(Base):
    """Development environment settings.

    We set ``DEBUG`` to ``True`` by default, configure the server to respond to all hosts,
    and use a local sqlite database by default.
    """

    DEBUG = values.BooleanValue(True)
    ALLOWED_HOSTS = ["*"]

    AWS_SOURCE_BUCKET_NAME = "development-marsha-source"
Ejemplo n.º 3
0
class Production(Staging):
    """
    The in-production settings.
    """
    # Email
    EMAIL_HOST = values.Value(None)
    EMAIL_PORT = values.IntegerValue(456)
    EMAIL_HOST_USER = values.Value(None)
    EMAILEMAIL_USE_TLS = values.BooleanValue(True)
    EMAIL_USE_SSL = values.BooleanValue(False)
    SERVER_EMAIL = values.Value(None)
    CORS_REPLACE_HTTPS_REFERER = False
    HOST_SCHEME = "http://"
    SECURE_PROXY_SSL_HEADER = None
    SECURE_SSL_REDIRECT = False
    SESSION_COOKIE_SECURE = False
    CSRF_COOKIE_SECURE = False
    SECURE_HSTS_SECONDS = None
    SECURE_HSTS_INCLUDE_SUBDOMAINS = False
    SECURE_FRAME_DENY = False
Ejemplo n.º 4
0
class Docker(Common):

    # DEBUG
    DEBUG = values.BooleanValue(True)
    TEMPLATE_DEBUG = DEBUG
    # END DEBUG

    # INSTALLED_APPS
    INSTALLED_APPS = Common.INSTALLED_APPS
    # END INSTALLED_APPS

    # DATABASE CONFIGURATION

    import os
    POSTGRES_HOST = os.environ['POSTGRES_PORT_5432_TCP_ADDR']
    DATABASES = values.DatabaseURLValue('postgres://postgres@{0}/postgres'.format(POSTGRES_HOST))
    # END DATABASE CONFIGURATION

    # Mail settings
    EMAIL_HOST = "localhost"
    EMAIL_PORT = 1025
    EMAIL_BACKEND = values.Value('django.core.mail.backends.console.EmailBackend')
    # End mail settings

    # django-debug-toolbar
    MIDDLEWARE_CLASSES = Common.MIDDLEWARE_CLASSES + ('debug_toolbar.middleware.DebugToolbarMiddleware',)
    INSTALLED_APPS += ('debug_toolbar', 'gunicorn')

    # SITE CONFIGURATION
    # Hosts/domain names that are valid for this site
    # See https://docs.djangoproject.com/en/1.6/ref/settings/#allowed-hosts
    ALLOWED_HOSTS = ["*"]
    # END SITE CONFIGURATION

    INTERNAL_IPS = ('127.0.0.1',)

    DEBUG_TOOLBAR_CONFIG = {
        'DISABLE_PANELS': [
            'debug_toolbar.panels.redirects.RedirectsPanel',
        ],
        'SHOW_TEMPLATE_CONTEXT': True,
    }
    # end django-debug-toolbar

    MEMCACHED_HOST = os.environ['MEMCACHED_PORT_11211_TCP_ADDR']
    # CACHES = values.CacheURLValue(default="memcached://{0}:11211".format(MEMCACHED_HOST))
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
            'LOCATION': '{0}:11211'.format(MEMCACHED_HOST)
        }
    }

    # Your local stuff: Below this line define 3rd party libary settings
Ejemplo n.º 5
0
class Production(Common):
    """
    The in-production settings.
    """

    # Security
    SESSION_COOKIE_SECURE = values.BooleanValue(True)
    SECURE_BROWSER_XSS_FILTER = values.BooleanValue(True)
    SECURE_CONTENT_TYPE_NOSNIFF = values.BooleanValue(True)
    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)
    SECURE_HSTS_SECONDS = values.IntegerValue(31_536_000)
    SECURE_REDIRECT_EXEMPT = values.ListValue([])
    SECURE_SSL_HOST = values.Value(None)
    SECURE_SSL_REDIRECT = values.BooleanValue(True)
    SECURE_PROXY_SSL_HEADER = values.TupleValue(("HTTP_X_FORWARDED_PROTO", "https"))

    AWS_REGION = values.Value("us-east-1", environ_prefix=None)
    AWS_ACCESS_KEY_ID = values.SecretValue(environ_prefix=None)
    AWS_SECRET_ACCESS_KEY = values.SecretValue(environ_prefix=None)
    AWS_S3_BUCKET_NAME = values.Value(environ_prefix=None)

    CONTRACTS_DOCUMENT_STORAGE = "django_s3_storage.storage.S3Storage"

    @property
    def CACHES(self):
        caches = {
            "default": {
                "BACKEND": "django_redis.cache.RedisCache",
                "LOCATION": f"{self.REDIS_URL}/1",
                "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"},
            }
        }

        if self.AUX_REDIS_URL:
            caches["aux"] = {
                "BACKEND": "django_redis.cache.RedisCache",
                "LOCATION": f"{self.AUX_REDIS_URL}/1",
                "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"},
            }

        return caches
Ejemplo n.º 6
0
class Localdev(Base):
    """Configuration to be used during local development and base class
    for testing"""

    DOTENV = os.path.join(BASE_DIR, ".env")

    DEBUG = values.BooleanValue(default=True)

    LOGGING_USE_JSON = values.BooleanValue(False)

    UNSIGNED_S3_CLIENT = values.BooleanValue(False)

    @property
    def VERSION(self):
        fn = os.path.join(self.BASE_DIR, "version.json")
        if os.path.exists(fn):
            with open(fn) as fp:
                return json.load(fp)
        return {}

    @property
    def LOGGING(self):
        LOGGING = super().LOGGING
        # Add django.server (useful for local dev) and
        # unset the request.summary.
        LOGGING["loggers"]["django.server"] = {
            "level": "INFO",
            "handlers": ["console"],
            "propagate": False,
        }
        LOGGING["loggers"]["request.summary"]["level"] = "ERROR"
        return LOGGING

    MARKUS_BACKENDS = values.ListValue([{
        "class":
        "markus.backends.logging.LoggingMetrics"
    }])

    # When doing local development you don't need to redirect to HTTPS.
    SECURE_HSTS_SECONDS = values.IntegerValue(0)
    SECURE_HSTS_PRELOAD = values.BooleanValue(False)
Ejemplo n.º 7
0
class Dev(Base):
    """Base settings for development."""

    DEBUG = True

    # Required overrides
    SITE_URL = values.URLValue('http://*****:*****@example.com',
        'password': '******'
    })

    # Storage
    AWS_S3_REGION_NAME = ''
    AWS_STORAGE_BUCKET_NAME = values.Value('django')
    AWS_S3_ENDPOINT_URL = values.Value('http://minio:9000')
    AWS_ACCESS_KEY_ID = values.Value('djangos3')
    AWS_SECRET_ACCESS_KEY = values.Value('djangos3')
    AWS_S3_SECURE_URLS = values.BooleanValue(True)

    @property
    def AWS_S3_CUSTOM_DOMAIN(self):
        return values.Value(self.URL.netloc)

    # Core
    @property
    def FRONTEND_URL(self):
        return values.URLValue(self.SITE_URL)

    @property
    def INSTALLED_APPS(self):
        return super().INSTALLED_APPS + [
            'debug_toolbar',
        ]

    # Security
    CORS_ORIGIN_ALLOW_ALL = True
    SESSION_COOKIE_SECURE = False
    CSRF_COOKIE_SECURE = False
    AWS_AUTO_CREATE_BUCKET = True

    # Email
    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

    # Services
    CELERY_BROKER_URL = values.Value('redis://redis',
                                     environ_name='CELERY_BROKER_URL')
    DATABASES = values.DatabaseURLValue(
        'postgis://*****:*****@db:5432/django')
class Staging(Common):
    """
    The in-staging settings.
    """
    # Security
    SESSION_COOKIE_SECURE = values.BooleanValue(True)
    SECURE_BROWSER_XSS_FILTER = values.BooleanValue(True)
    SECURE_CONTENT_TYPE_NOSNIFF = values.BooleanValue(True)
    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)
    SECURE_HSTS_SECONDS = values.IntegerValue(31536000)
    SECURE_REDIRECT_EXEMPT = values.ListValue([])
    SECURE_SSL_HOST = values.Value(None)
    SECURE_SSL_REDIRECT = values.BooleanValue(True)
    SECURE_PROXY_SSL_HEADER = values.TupleValue(
        ('HTTP_X_FORWARDED_PROTO', 'https')
    )

    DATABASES = Common.DATABASES
    DATABASES = values.DatabaseURLValue(
        'postgres://*****:*****@localhost/default'
    )
Ejemplo n.º 9
0
class Production(Base):
    DEBUG = False

    @property
    def TEMPLATES(self):
        TEMP = super().TEMPLATES
        TEMP[0]['OPTIONS']['debug'] = False
        return TEMP

    ALLOWED_HOSTS = values.TupleValue(('example.com', ))
    CELERY_TASK_ALWAYS_EAGER = values.BooleanValue(False)
    STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
Ejemplo n.º 10
0
class Dev(Base):
    API = values.BooleanValue(True, environ_prefix='RICHARD')
    DEBUG = True

    SECRET_KEY = 'richard-testing'

    INSTALLED_APPS = Base.INSTALLED_APPS + ('eadred',)

    AUTHENTICATION_BACKENDS = (
        'django_browserid.auth.AutoLoginBackend',  # DON'T use this in Production!
        'django_browserid.auth.BrowserIDBackend',
    )

    BROWSERID_AUDIENCES = ['http://*****:*****@example.com"
    # export BROWSERID_AUTOLOGIN_ENABLED=1
    # ./manage.py runserver
    BROWSERID_AUTOLOGIN_EMAIL = values.Value('')
    BROWSERID_AUTOLOGIN_ENABLED = values.BooleanValue(False)
Ejemplo n.º 11
0
class Production(Common):
    """
    The production settings.
    """
    INSTALLED_APPS = Common.INSTALLED_APPS + (
        'djangosecure',
        'raven.contrib.django.raven_compat',
    )

    SPEAKER_SUBMISSION = False

    ALLOWED_HOSTS = [
        'speakers.herokuapp.com',
        'calltospeakers.com',
        'www.calltospeakers.com',
    ]

    # django-secure
    SESSION_COOKIE_SECURE = values.BooleanValue(True)
    SECURE_SSL_REDIRECT = values.BooleanValue(True)
    SECURE_HSTS_SECONDS = values.IntegerValue(31536000)
    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)
    SECURE_FRAME_DENY = values.BooleanValue(True)
    SECURE_CONTENT_TYPE_NOSNIFF = values.BooleanValue(True)
    SECURE_BROWSER_XSS_FILTER = values.BooleanValue(True)
    SECURE_PROXY_SSL_HEADER = values.TupleValue(
        ('HTTP_X_FORWARDED_PROTO', 'https'))
Ejemplo n.º 12
0
class Development(databases.Databases, common.Common):
    """Settings for development."""

    CACHES = values.DictValue({
        'default': {
            'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
        }
    })

    DEVSERVER_ARGS = values.ListValue([])

    @property
    def DEVSERVER_DEFAULT_ADDR(self):
        """Return the default address to bind devserver to."""
        if 'vagrant' in socket.gethostname():
            addr = '0.0.0.0'
        else:
            addr = '127.0.0.1'
        return addr

    DEVSERVER_MODULES = values.ListValue([
        'devserver.modules.sql.SQLRealTimeModule',
        'devserver.modules.sql.SQLSummaryModule',
        'devserver.modules.profile.ProfileSummaryModule',
    ])

    DEVSERVER_TRUNCATE_SQL = values.BooleanValue(True)

    EMAIL_BACKEND = values.Value(
        'django.core.mail.backends.console.EmailBackend')

    # devserver must be ahead of django.contrib.staticfiles
    INSTALLED_APPS = ('devserver', ) + common.Common.INSTALLED_APPS + (
        'debug_toolbar', )

    @property
    def INTERNAL_IPS(self):
        """Return a tuple of IP addresses, as strings.

        Detect a Vagrant box by looking at the hostname. Return the gateway IP
        address on a Vagrant box, because this is the IP address the request
        will originate from.
        """
        if 'vagrant' in socket.gethostname():
            addr = [
                line.split()[1] for line in subprocess.check_output(
                    ['netstat', '-rn']).splitlines()
                if line.startswith('0.0.0.0')
            ][0]  # noqa
        else:
            addr = '127.0.0.1'
        return (addr, )
Ejemplo n.º 13
0
class Development(BasicConfiguration):
    """
    Development CRM configuration, for easy debugging and diagnosing.
    """

    DEBUG = values.BooleanValue(True)

    # SECURITY WARNING: keep the secret key used in production secret!
    # Set in local_settings.py
    SECRET_KEY = 'SECRET_SECRET_SECRET'

    CELERY_TASK_ALWAYS_EAGER = True

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'krynegger_db_dev',
            'USER': '******',
            'PASSWORD': '******',
            'HOST': 'localhost',
            'PORT': '5432',
            'TEST': {
                'NAME': 'krynegger_db_test',
            }
        },
    }

    @classmethod
    def pre_setup(cls):
        super(Development, cls).pre_setup()

    @classmethod
    def setup(cls):
        super(Development, cls).setup()
        logging.info('development settings loaded: %s', cls)

    @classmethod
    def post_setup(cls):
        super(Development, cls).post_setup()
        logging.debug("done setting up! \o/")

        sentry_sdk.init(
            dsn="https://[email protected]/3744204",
            integrations=[
                DjangoIntegration(),
                CeleryIntegration(),
                RedisIntegration()
            ],

            # If you wish to associate users to errors (assuming you are using
            # django.contrib.auth) you may enable sending PII data.
            send_default_pii=True)
Ejemplo n.º 14
0
class Local(Common):

    DEBUG = values.BooleanValue(True)

    WEBPACK_DEBUG = values.BooleanValue(False)

    INTERNAL_IPS = (
        '*',
        '127.0.0.1',
    )

    SECRET_KEY = os.environ.get(
        "SECRET_KEY",
        get_random_string(
            50, ("abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)")))

    INSTALLED_APPS = Common.INSTALLED_APPS

    INSTALLED_APPS += ('debug_toolbar', )

    MIDDLEWARE_CLASSES = Common.MIDDLEWARE_CLASSES
    MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware', )
Ejemplo n.º 15
0
class Base(ConstantSettings):
    """
    These settings will likely need to be customized to an environment.
    """
    ALLOWED_HOSTS = values.ListValue(['*'])
    DEBUG = values.BooleanValue(False)
    DATABASES = values.DatabaseURLValue('sqlite:///db.sqlite')
    SECRET_KEY = values.SecretValue()
    TIME_ZONE = values.Value('UTC')
    LANGUAGE_CODE = values.Value('en-us')
    STATIC_URL = values.Value('/static/')
    STATIC_ROOT = values.Value(path('static'))
    STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
Ejemplo n.º 16
0
class Heroku(Production):
    ALLOWED_HOSTS = ['*']
    SECRET_KEY = values.SecretValue()

    CELERY_ALWAYS_EAGER = values.BooleanValue(True)
    BROKER_URL = values.Value('amqp://')

    @property
    def LOGGING(self):
        logging = super(Heroku, self).LOGGING
        logging['handlers']['console']['stream'] = sys.stdout
        logging['loggers']['django.request']['handlers'] = ['console']
        return logging
Ejemplo n.º 17
0
class Staging(Common):
    """
    The in-staging settings.
    """

    ALLOWED_HOSTS = [
        'staging.smartz.io', 'stage.smartz.io', '.stage.smartz.io'
    ]

    # Security
    SESSION_COOKIE_SECURE = values.BooleanValue(True)
    SECURE_BROWSER_XSS_FILTER = values.BooleanValue(True)
    SECURE_CONTENT_TYPE_NOSNIFF = values.BooleanValue(True)
    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)
    SECURE_HSTS_SECONDS = values.IntegerValue(31536000)
    SECURE_REDIRECT_EXEMPT = values.ListValue([])
    SECURE_SSL_HOST = values.Value(None)
    SECURE_SSL_REDIRECT = values.BooleanValue(True)
    SECURE_PROXY_SSL_HEADER = values.TupleValue(
        ('HTTP_X_FORWARDED_PROTO', 'https'))

    SMARTZ_SHOW_SWAGGER_SCHEMA = True
Ejemplo n.º 18
0
class ProductionReadOnly(Production):
    """
    Settings for a production environment that is read-only. This is
    used on public-facing webheads.
    """
    EXTRA_MIDDLEWARE = [
        # No need for sessions, so removing those middlewares helps us go fast
    ]
    ADMIN_ENABLED = values.BooleanValue(False)
    SILENCED_SYSTEM_CHECKS = values.ListValue([
        'security.W003',  # CSRF middleware check
        'security.W017',  # Check CSRF cookie http only
    ])
Ejemplo n.º 19
0
class Localdev(Base):
    """Configuration to be used during local development and base class
    for testing"""

    DOTENV = os.path.join(BASE_DIR, '.env')

    DEBUG = values.BooleanValue(default=True)

    LOGGING_USE_JSON = values.BooleanValue(False)

    @property
    def VERSION(self):
        import subprocess
        output = subprocess.check_output(
            # Use the absolute path of 'git' here to avoid 'git'
            # not being the git we expect in Docker.
            ['/usr/bin/git', 'describe', '--tags', '--always',
             '--abbrev=0'])  # nosec
        if output:
            return {'version': output.decode().strip()}
        else:
            return {}
Ejemplo n.º 20
0
class Development(InsecureAuthentication, Base):
    """Settings for local development."""

    DOTENV_EXISTS = os.path.exists(os.path.join(Core.BASE_DIR, ".env"))
    DOTENV = ".env" if DOTENV_EXISTS else None

    SECRET_KEY = values.Value("not a secret")
    DEBUG = values.BooleanValue(True)
    AUTH_PASSWORD_VALIDATORS = values.ListValue([])
    INSTALLED_APPS = Base.INSTALLED_APPS + ["django_extensions"]
    EMAIL_BACKEND = values.Value(
        "django.core.mail.backends.console.EmailBackend")
    SECURE_SSL_REDIRECT = values.Value(False)
    REQUIRE_RECIPE_AUTH = values.BooleanValue(False)
    PEER_APPROVAL_ENFORCED = values.BooleanValue(False)
    CSP_REPORT_URI = values.Value("")
    DEFAULT_FILE_STORAGE = values.Value(
        "django.core.files.storage.FileSystemStorage")

    API_CACHE_ENABLED = values.BooleanValue(False)
    API_CACHE_TIME = values.IntegerValue(0)

    SILENCED_SYSTEM_CHECKS = values.ListValue(["normandy.recipes.E006"
                                               ])  # geoip db not available
    METRICS_USE_DEBUG_LOGS = values.Value(True)

    def LOGGING(self):
        config = super().LOGGING()
        config["loggers"]["werkzeug"] = {
            "handlers": ["console"],
            "level": "DEBUG",
            "propagate": False,
        }
        config["loggers"]["markus"] = {
            "handlers": ["console"],
            "level": "INFO",
            "propagate": False,
        }
        return config
Ejemplo n.º 21
0
class DebugMixin:
    DEBUG = values.Value(True)
    ADMIN_ENABLED = values.BooleanValue(True)
    INTERNAL_IPS = values.IPValue('127.0.0.1')

    @classmethod
    def pre_setup(cls):
        super(DebugMixin, cls).pre_setup()
        logging.info('\n{} loading!'.format(cls.__str__))

    @classmethod
    def post_setup(cls):
        super(DebugMixin, cls).post_setup()
        logging.info('\t\t--> Finished!'.format(cls.__str__))
Ejemplo n.º 22
0
class Dev(Base):
    API = values.BooleanValue(True, environ_prefix='RICHARD')
    DEBUG = True

    SECRET_KEY = 'richard-testing'

    INSTALLED_APPS = tuple(list(Base.INSTALLED_APPS) + ['eadred'])

    AUTHENTICATION_BACKENDS = (
        'richard.base.auth.AutoLoginBackend',  # DON'T use this in Production!
        'django_browserid.auth.BrowserIDBackend',
    )

    BROWSERID_AUTOLOGIN = ''
Ejemplo n.º 23
0
class ProductionInsecure(Production):
    """
    Settings for a production-like environment that lacks many security features.

    Useful for testing and setups where security is provided by other means.
    Not intended for general use on the public internet.
    """
    INSTALLED_APPS = Production.INSTALLED_APPS + ['sslserver']
    SECRET_KEY = values.Value('not a secret')
    ALLOWED_HOSTS = values.ListValue(['*'])
    SECURE_SSL_REDIRECT = values.BooleanValue(False)
    CSRF_COOKIE_SECURE = values.BooleanValue(False)
    SECURE_HSTS_SECONDS = values.IntegerValue(0)
    SESSION_COOKIE_SECURE = values.BooleanValue(False)

    # These checks aren't useful for a purposefully insecure environment
    SILENCED_SYSTEM_CHECKS = values.ListValue([
        'security.W004',  # check hsts seconds
        'security.W008',  # Secure SSL redirect
        'security.W009',  # Secret key length
        'security.W012',  # Check session cookie secure
        'security.W016',  # Check CSRF cookie secure
    ])
Ejemplo n.º 24
0
class SSL(object):
    """Default settings for SSL-enabled servers.

    Please read Django's SSL/HTTPS documentation and modify this configuration
    as needed. Be advised that the default settings will not work with all web
    servers.
    """

    CSRF_COOKIE_SECURE = values.BooleanValue(True)

    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)

    SECURE_HSTS_SECONDS = values.IntegerValue(3600)

    SECURE_PROXY_SSL_HEADER = values.TupleValue(None)

    SECURE_REDIRECT_EXEMPT = values.ListValue([])

    SECURE_SSL_HOST = values.Value('www.example.com')

    SECURE_SSL_REDIRECT = values.BooleanValue(True)

    SESSION_COOKIE_SECURE = values.BooleanValue(True)
Ejemplo n.º 25
0
class Development(Common):

    DEBUG = values.BooleanValue(True)
    TEMPLATE_DEBUG = DEBUG

    # INSTALLED_APPS
    INSTALLED_APPS = Common.INSTALLED_APPS
    # END INSTALLED_APPS

    # DATABASE CONFIGURATION
    # See: https://docs.djangoproject.com/en/dev/ref/settings/#databases
    # DATABASES = values.DatabaseURLValue('postgres://animate_web@localhost/animate_web')
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            #'NAME': normpath(join(DJANGO_ROOT,'hotelnow')), # for sqllite
            'NAME': 'animate',
            'USER': '******',
            'PASSWORD': '',
            'HOST': '',
            'PORT': '',
        }
    }
    # END DATABASE CONFIGURATION

    # Mail settings
    EMAIL_HOST = "localhost"
    EMAIL_PORT = 1025
    EMAIL_BACKEND = values.Value('django.core.mail.backends.console.EmailBackend')
    # End mail settings

    # django-debug-toolbar
    MIDDLEWARE_CLASSES = Common.MIDDLEWARE_CLASSES + ('debug_toolbar.middleware.DebugToolbarMiddleware',)
    INSTALLED_APPS += ('debug_toolbar',)

    INTERNAL_IPS = ('127.0.0.1',)

    DEBUG_TOOLBAR_CONFIG = {
        'DISABLE_PANELS': ['debug_toolbar.panels.redirects.RedirectsPanel', ],
        'SHOW_TEMPLATE_CONTEXT': True,
    }
    # end django-debug-toolbar

    # CACHES
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
            'LOCATION': ''
        }
    }
Ejemplo n.º 26
0
class Development(Common):
    """
    The in-development settings and the default configuration.
    """
    DEBUG = True

    TEMPLATE_DEBUG = True

    ALLOWED_HOSTS = []

    INSTALLED_APPS = Common.INSTALLED_APPS + ('debug_toolbar', )

    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

    DEBUG_TOOLBAR_PATCH_SETTINGS = values.BooleanValue(True)
Ejemplo n.º 27
0
class Staging(Common):
    """
    The in-staging settings.
    """
    # Security
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))

    SESSION_COOKIE_SECURE = values.BooleanValue(True)
    SECURE_BROWSER_XSS_FILTER = values.BooleanValue(True)
    SECURE_CONTENT_TYPE_NOSNIFF = values.BooleanValue(True)
    SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(True)
    SECURE_HSTS_SECONDS = values.IntegerValue(31536000)
    SECURE_REDIRECT_EXEMPT = values.ListValue([])
    SECURE_SSL_HOST = values.Value(None)
    SECURE_SSL_REDIRECT = values.BooleanValue(True)
    SECURE_PROXY_SSL_HEADER = values.TupleValue(
        ('HTTP_X_FORWARDED_PROTO', 'https'))

    WEBPACK_LOADER = {
        'DEFAULT': {
            'BUNDLE_DIR_NAME': 'bundles/',
            'STATS_FILE': os.path.join(BASE_DIR, 'webpack-stats.prod.json'),
        }
    }
Ejemplo n.º 28
0
class Production(Staging):
    """
    The in-production settings.
    """

    DEBUG_TOOLBAR = values.BooleanValue(False)

    MIDDLEWARE = Common.MIDDLEWARE

    ALLOWED_HOSTS = [
        'forsa-production.herokuapp.com', 'forsa.om', 'www.forsa.om'
    ]

    GOOGLE_ANALYTICS_KEY = 'UA-145916646-1'
    GTM_KEY = 'GTM-M7NRK2P'
Ejemplo n.º 29
0
class Development(Base):
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'nelly',
        'USER': '******',
        }
    }
    DEBUG = values.BooleanValue(True)

    STATIC_ROOT = os.path.join(BASE_DIR, 'nellyshulman/static')
    STATIC_URL = '/static/'

    MEDIA_ROOT = os.path.join(BASE_DIR, 'nellyshulman/media')
    MEDIA_URL = '/media/'
Ejemplo n.º 30
0
class Production(Base):
    THUMBNAIL_DEFAULT_STORAGE = '%s.s3.Media' % project
    DEBUG = values.BooleanValue(False)
    ALLOWED_HOSTS = ['*']

    DATABASES['default'] = dj_database_url.config(conn_max_age=600)

    AWS_ACCESS_KEY_ID = os.getenv('AWS_ACCESS_KEY_ID')
    AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY')
    AWS_STORAGE_BUCKET_NAME = os.getenv('AWS_STORAGE_BUCKET_NAME')
    AWS_AUTO_CREATE_BUCKET = values.BooleanValue(True)
    AWS_QUERYSTRING_AUTH = False

    COMPRESS_STORAGE = '%s.s3.Static' % project

    DEFAULT_FILE_STORAGE = '%s.s3.Media' % project
    STATICFILES_STORAGE = '%s.s3.CachedS3BotoStorage' % project
    MEDIA_S3 = 'media'
    STATIC_S3 = 'static'
    MEDIA_ROOT = '/%s/' % MEDIA_S3
    STATIC_ROOT = '/%s/' % STATIC_S3
    MEDIA_URL = 'https://%s.s3.amazonaws.com/%s/' % (AWS_STORAGE_BUCKET_NAME, MEDIA_S3)
    STATIC_URL = "https://%s.s3.amazonaws.com/%s/" % (AWS_STORAGE_BUCKET_NAME, STATIC_S3)
    COMPRESS_URL = STATIC_URL