示例#1
0
from django_countries import data

from orchestra.contrib.settings import Setting


CONTACTS_DEFAULT_EMAIL_USAGES = Setting('CONTACTS_DEFAULT_EMAIL_USAGES',
    default=(
        'SUPPORT',
        'ADMIN',
        'BILLING',
        'TECH',
        'ADDS',
        'EMERGENCY'
    ),
)


CONTACTS_DEFAULT_CITY = Setting('CONTACTS_DEFAULT_CITY',
    default='Barcelona'
)


CONTACTS_COUNTRIES = Setting('CONTACTS_COUNTRIES',
    default=tuple((k,v) for k,v in data.COUNTRIES.items()),
    serializable=False
)


CONTACTS_DEFAULT_COUNTRY = Setting('CONTACTS_DEFAULT_COUNTRY',
    default='ES',
    choices=CONTACTS_COUNTRIES
示例#2
0
from orchestra.contrib.settings import Setting

TASKS_BACKEND = Setting('TASKS_BACKEND',
                        'thread',
                        choices=(
                            ('thread', "threading.Thread (no queue)"),
                            ('process', "multiprocess.Process (no queue)"),
                            ('celery', "Celery (with queue)"),
                        ))

TASKS_ENABLE_UWSGI_CRON_BEAT = Setting(
    'TASKS_ENABLE_UWSGI_CRON_BEAT',
    False,
    help_text="Not implemented.",
)

TASKS_BACKEND_CLEANUP_DAYS = Setting(
    'TASKS_BACKEND_CLEANUP_DAYS',
    10,
)
示例#3
0
from orchestra.contrib.settings import Setting
from orchestra.settings import ORCHESTRA_BASE_DOMAIN


LISTS_DOMAIN_MODEL = Setting('LISTS_DOMAIN_MODEL',
    'domains.Domain',
    validators=[Setting.validate_model_label]
)


LISTS_DEFAULT_DOMAIN = Setting('LISTS_DEFAULT_DOMAIN',
    'lists.{}'.format(ORCHESTRA_BASE_DOMAIN),
    help_text="Uses <tt>ORCHESTRA_BASE_DOMAIN</tt> by default."
)


LISTS_LIST_URL = Setting('LISTS_LIST_URL',
    'https://lists.{}/mailman/listinfo/%(name)s'.format(ORCHESTRA_BASE_DOMAIN),
    help_text="Uses <tt>ORCHESTRA_BASE_DOMAIN</tt> by default."
)


LISTS_MAILMAN_POST_LOG_PATH = Setting('LISTS_MAILMAN_POST_LOG_PATH',
    '/var/log/mailman/post'
)


LISTS_MAILMAN_ROOT_DIR = Setting('LISTS_MAILMAN_ROOT_DIR',
    '/var/lib/mailman'
)
示例#4
0
from django_countries import data

from orchestra.contrib.settings import Setting
from orchestra.settings import ORCHESTRA_BASE_DOMAIN

BILLS_NUMBER_LENGTH = Setting('BILLS_NUMBER_LENGTH', 4)

BILLS_INVOICE_NUMBER_PREFIX = Setting('BILLS_INVOICE_NUMBER_PREFIX', 'I')

BILLS_AMENDMENT_INVOICE_NUMBER_PREFIX = Setting(
    'BILLS_AMENDMENT_INVOICE_NUMBER_PREFIX', 'A')

BILLS_FEE_NUMBER_PREFIX = Setting('BILLS_FEE_NUMBER_PREFIX', 'F')

BILLS_AMENDMENT_FEE_NUMBER_PREFIX = Setting(
    'BILLS_AMENDMENT_FEE_NUMBER_PREFIX', 'B')

BILLS_PROFORMA_NUMBER_PREFIX = Setting('BILLS_PROFORMA_NUMBER_PREFIX', 'P')

BILLS_DEFAULT_TEMPLATE = Setting('BILLS_DEFAULT_TEMPLATE',
                                 'bills/microspective.html')

BILLS_FEE_TEMPLATE = Setting('BILLS_FEE_TEMPLATE',
                             'bills/microspective-fee.html')

BILLS_PROFORMA_TEMPLATE = Setting('BILLS_PROFORMA_TEMPLATE',
                                  'bills/microspective-proforma.html')

BILLS_CURRENCY = Setting('BILLS_CURRENCY', 'euro')

BILLS_SELLER_PHONE = Setting('BILLS_SELLER_PHONE', '111-112-11-222')
示例#5
0
from orchestra.core.validators import validate_hostname

from orchestra.contrib.settings import Setting

DATABASES_TYPE_CHOICES = Setting('DATABASES_TYPE_CHOICES', (
    ('mysql', 'MySQL'),
    ('postgres', 'PostgreSQL'),
),
                                 validators=[Setting.validate_choices])

DATABASES_DEFAULT_TYPE = Setting(
    'DATABASES_DEFAULT_TYPE',
    'mysql',
    choices=DATABASES_TYPE_CHOICES,
)

DATABASES_DEFAULT_HOST = Setting(
    'DATABASES_DEFAULT_HOST',
    'localhost',
    validators=[validate_hostname],
)

DATABASES_MYSQL_DB_DIR = Setting(
    'DATABASES_MYSQL_DB_DIR',
    '/var/lib/mysql',
)
示例#6
0
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting


SERVICES_SERVICE_TAXES = Setting('SERVICES_SERVICE_TAXES',
    (
        (0, _("Duty free")),
        (21, "21%"),
    ),
    validators=[Setting.validate_choices]
)


SERVICES_SERVICE_DEFAULT_TAX = Setting('SERVICES_SERVICE_DEFAULT_TAX',
    0,
    choices=SERVICES_SERVICE_TAXES
)


SERVICES_SERVICE_ANUAL_BILLING_MONTH = Setting('SERVICES_SERVICE_ANUAL_BILLING_MONTH',
    1,
    choices=tuple(enumerate(
        ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), 1))
)


SERVICES_ORDER_MODEL = Setting('SERVICES_ORDER_MODEL',
    'orders.Order',
    validators=[Setting.validate_model_label]
)
示例#7
0
from orchestra.contrib.settings import Setting


PLANS_RATE_METHODS = Setting('PLANS_RATE_METHODS',
    (
        'orchestra.contrib.plans.ratings.step_price',
        'orchestra.contrib.plans.ratings.match_price',
        'orchestra.contrib.plans.ratings.best_price',
    )
)


PLANS_DEFAULT_RATE_METHOD = Setting('PLANS_DEFAULT_RATE_METHOD',
    'orchestra.contrib.plans.ratings.step_price',
)
示例#8
0
from orchestra.contrib.settings import Setting
from orchestra.core.validators import validate_ipv4_address, validate_ipv6_address, validate_ip_address
from orchestra.settings import ORCHESTRA_BASE_DOMAIN

from .validators import validate_zone_interval, validate_mx_record, validate_domain_name


DOMAINS_DEFAULT_NAME_SERVER = Setting('DOMAINS_DEFAULT_NAME_SERVER',
    'ns.{}'.format(ORCHESTRA_BASE_DOMAIN),
    validators=[validate_domain_name],
    help_text="Uses <tt>ORCHESTRA_BASE_DOMAIN</tt> by default."
)


DOMAINS_DEFAULT_HOSTMASTER = Setting('DOMAINS_DEFAULT_HOSTMASTER',
    'hostmaster@{}'.format(ORCHESTRA_BASE_DOMAIN),
    help_text="Uses <tt>ORCHESTRA_BASE_DOMAIN</tt> by default."
)


DOMAINS_DEFAULT_TTL = Setting('DOMAINS_DEFAULT_TTL',
    '1h',
    validators=[validate_zone_interval],
)


DOMAINS_DEFAULT_REFRESH = Setting('DOMAINS_DEFAULT_REFRESH',
    '1d',
    validators=[validate_zone_interval],
)
示例#9
0
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting

MAILER_DEFERE_SECONDS = Setting(
    'MAILER_DEFERE_SECONDS',
    (300, 600, 60 * 60, 60 * 60 * 24),
)

MAILER_MESSAGES_CLEANUP_DAYS = Setting('MAILER_MESSAGES_CLEANUP_DAYS', 7)

MAILER_NON_QUEUED_PER_REQUEST_THRESHOLD = Setting(
    'MAILER_NON_QUEUED_PER_REQUEST_THRESHOLD',
    2,
    help_text=
    _("Number of emails that will be sent immediately before starting to queue them."
      ),
)

MAILER_BULK_MESSAGES = Setting(
    'MAILER_BULK_MESSAGES',
    500,
)
示例#10
0
from orchestra.contrib.settings import Setting


RESOURCES_OLD_MONITOR_DATA_DAYS = Setting('RESOURCES_OLD_MONITOR_DATA_DAYS',
    40,
)
示例#11
0
from orchestra.contrib.settings import Setting

ORDERS_BILLING_BACKEND = Setting(
    'ORDERS_BILLING_BACKEND',
    'orchestra.contrib.orders.billing.BillsBackend',
    validators=[Setting.validate_import_class],
    help_text="Pluggable backend for bill generation.",
)

ORDERS_SERVICE_MODEL = Setting(
    'ORDERS_SERVICE_MODEL',
    'services.Service',
    validators=[Setting.validate_model_label],
    help_text="Pluggable service class.",
)

ORDERS_EXCLUDED_APPS = Setting(
    'ORDERS_EXCLUDED_APPS', (
        'orders',
        'admin',
        'contenttypes',
        'auth',
        'migrations',
        'sessions',
        'orchestration',
        'bills',
        'services',
        'mailer',
        'issues',
    ),
    help_text="Prevent inspecting these apps for service accounting.")
示例#12
0
from orchestra.contrib.settings import Setting

MISCELLANEOUS_IDENTIFIER_VALIDATORS = Setting(
    'MISCELLANEOUS_IDENTIFIER_VALIDATORS',
    {
        # <miscservice__name>: <validator_function>
    })
示例#13
0
from django.core.validators import validate_email
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting

ORCHESTRA_BASE_DOMAIN = Setting(
    'ORCHESTRA_BASE_DOMAIN',
    'orchestra.lan',
    help_text=
    ("Base domain name used for other settings.<br>"
     "If you're editing the settings via the admin interface <b>it is advisable to "
     "commit this change before changing any other variables which could be affected</b>."
     ))

ORCHESTRA_SITE_URL = Setting(
    'ORCHESTRA_SITE_URL',
    'https://orchestra.%s' % ORCHESTRA_BASE_DOMAIN,
    help_text=_(
        "Domain name used when it will not be possible to infere the domain from a request."
        "For example in periodic tasks.<br>"
        "Uses <tt>ORCHESTRA_BASE_DOMAIN</tt> by default."))

ORCHESTRA_SITE_NAME = Setting(
    'ORCHESTRA_SITE_NAME',
    'orchestra',
)

ORCHESTRA_SITE_VERBOSE_NAME = Setting(
    'ORCHESTRA_SITE_VERBOSE_NAME',
    "%s Hosting Management" % ORCHESTRA_SITE_NAME.capitalize(),
    help_text="Uses <tt>ORCHESTRA_SITE_NAME</tt> by default.")
示例#14
0
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting
from orchestra.core.validators import validate_ip_address

from .. import websites

_names = ('id', 'pk', 'home', 'user', 'group', 'site_name', 'protocol')
_log_names = _names + ('unique_name', )

WEBSITES_UNIQUE_NAME_FORMAT = Setting(
    'WEBSITES_UNIQUE_NAME_FORMAT',
    default='%(user)s-%(site_name)s',
    help_text="Available fromat names: <tt>%s</tt>" % ', '.join(_names),
    validators=[Setting.string_format_validator(_names)],
)

WEBSITES_PROTOCOL_CHOICES = Setting('WEBSITES_PROTOCOL_CHOICES',
                                    default=(
                                        ('http', "HTTP"),
                                        ('https', "HTTPS"),
                                        ('http/https', _("HTTP and HTTPS")),
                                        ('https-only', _("HTTPS only")),
                                    ),
                                    validators=[Setting.validate_choices])

WEBSITES_DEFAULT_PROTOCOL = Setting('WEBSITES_DEFAULT_PROTOCOL',
                                    default='http',
                                    choices=WEBSITES_PROTOCOL_CHOICES)

WEBSITES_DEFAULT_IPS = Setting('WEBSITES_DEFAULT_IPS', default=('*', ))
示例#15
0
from orchestra.contrib.settings import Setting
from orchestra.settings import ORCHESTRA_BASE_DOMAIN

from .. import webapps

_names = ('home', 'user', 'user_id', 'group', 'app_type', 'app_name',
          'app_type', 'app_id', 'account_id')
_php_names = _names + ('php_version', 'php_version_number', 'php_version_int')
_python_names = _names + (
    'python_version',
    'python_version_number',
)

WEBAPPS_BASE_DIR = Setting(
    'WEBAPPS_BASE_DIR',
    '%(home)s/webapps/%(app_name)s',
    help_text="Available fromat names: <tt>%s</tt>" % ', '.join(_names),
    validators=[Setting.string_format_validator(_names)],
)

WEBAPPS_FPM_LISTEN = Setting(
    'WEBAPPS_FPM_LISTEN',
    '127.0.0.1:5%(app_id)04d',
    help_text=
    ("TCP socket example: <tt>127.0.0.1:5%(app_id)04d</tt><br>"
     "UDS example: <tt>/var/lib/php/sockets/%(user)s-%(app_name)s.sock</tt><br>"
     "Merged TCP example: <tt>127.0.0.1:%(php_version_int)02d%(account_id)03d</tt></br>"
     "Merged UDS example: <tt>/var/lib/php/sockets/%(user)s-%(php_version)s.sock</tt></br>"
     "Available fromat names: <tt>{}</tt>").format(', '.join(_php_names)),
    validators=[Setting.string_format_validator(_php_names)],
)
示例#16
0
from orchestra.contrib.settings import Setting


LETSENCRYPT_AUTO_PATH = Setting('LETSENCRYPT_AUTO_PATH',
    '/home/httpd/letsencrypt/letsencrypt-auto'
)


LETSENCRYPT_LIVE_PATH = Setting('LETSENCRYPT_LIVE_PATH',
    '/etc/letsencrypt/live'
)


LETSENCRYPT_EMAIL = Setting('LETSENCRYPT_EMAIL',
    '',
    help_text="Uses account.email by default",
)
示例#17
0
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting
from orchestra.core.validators import validate_name
from orchestra.settings import ORCHESTRA_BASE_DOMAIN

_names = (
    'name',
    'username',
)
_backend_names = _names + ('user', 'group', 'home')
mark_safe_lazy = lazy(mark_safe, str)

MAILBOXES_DOMAIN_MODEL = Setting('MAILBOXES_DOMAIN_MODEL',
                                 'domains.Domain',
                                 validators=[Setting.validate_model_label])

MAILBOXES_NAME_MAX_LENGTH = Setting(
    'MAILBOXES_NAME_MAX_LENGTH',
    32,
    help_text=_("Limit for system user based mailbox on Linux is 32."))

MAILBOXES_HOME = Setting(
    'MAILBOXES_HOME',
    '/home/%(name)s',
    help_text="Available fromat names: <tt>%s</tt>" % ', '.join(_names),
    validators=[Setting.string_format_validator(_names)],
)

MAILBOXES_SIEVE_PATH = Setting(
示例#18
0
from orchestra.contrib.settings import Setting

VPS_TYPES = Setting('VPS_TYPES',
                    (('openvz', 'OpenVZ container'), ('lxc', 'LXC container')),
                    validators=[Setting.validate_choices])

VPS_DEFAULT_TYPE = Setting('VPS_DEFAULT_TYPE', 'lxc', choices=VPS_TYPES)

VPS_TEMPLATES = Setting('VPS_TEMPLATES', (('debian7', 'Debian 7 - Wheezy'),
                                          ('placeholder', 'LXC placeholder')),
                        validators=[Setting.validate_choices])

VPS_DEFAULT_TEMPLATE = Setting('VPS_DEFAULT_TEMPLATE',
                               'placeholder',
                               choices=VPS_TEMPLATES)

VPS_DEFAULT_VZSET_ARGS = Setting(
    'VPS_DEFAULT_VZSET_ARGS',
    ('--onboot yes', ),
)
示例#19
0
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting

_names = ('user', 'username')
_backend_names = _names + ('group', 'shell', 'mainuser', 'home', 'base_home')

SYSTEMUSERS_SHELLS = Setting('SYSTEMUSERS_SHELLS', (
    ('/dev/null', _("No shell, FTP only")),
    ('/bin/rssh', _("No shell, SFTP/RSYNC only")),
    ('/bin/bash', "/bin/bash"),
),
                             validators=[Setting.validate_choices])

SYSTEMUSERS_DEFAULT_SHELL = Setting('SYSTEMUSERS_DEFAULT_SHELL',
                                    '/dev/null',
                                    choices=SYSTEMUSERS_SHELLS)

SYSTEMUSERS_DISABLED_SHELLS = Setting(
    'SYSTEMUSERS_DISABLED_SHELLS',
    default=(
        '/dev/null',
        '/bin/rssh',
    ),
)

SYSTEMUSERS_HOME = Setting(
    'SYSTEMUSERS_HOME',
    '/home/%(user)s',
    help_text="Available fromat names: <tt>%s</tt>" % ', '.join(_names),
    validators=[Setting.string_format_validator(_names)],
示例#20
0
from os import path

from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting

ORCHESTRATION_OS_CHOICES = Setting('ORCHESTRATION_OS_CHOICES',
                                   (('LINUX', "Linux"), ),
                                   validators=[Setting.validate_choices])

ORCHESTRATION_DEFAULT_OS = Setting('ORCHESTRATION_DEFAULT_OS',
                                   'LINUX',
                                   choices=ORCHESTRATION_OS_CHOICES)

ORCHESTRATION_SSH_KEY_PATH = Setting(
    'ORCHESTRATION_SSH_KEY_PATH', path.join(path.expanduser('~'),
                                            '.ssh/id_rsa'))

ORCHESTRATION_ROUTER = Setting('ORCHESTRATION_ROUTER',
                               'orchestra.contrib.orchestration.models.Route',
                               validators=[Setting.validate_import_class])

ORCHESTRATION_DISABLE_EXECUTION = Setting('ORCHESTRATION_DISABLE_EXECUTION',
                                          False)

ORCHESTRATION_BACKEND_CLEANUP_DAYS = Setting(
    'ORCHESTRATION_BACKEND_CLEANUP_DAYS', 20)

ORCHESTRATION_SSH_METHOD_BACKEND = Setting(
    'ORCHESTRATION_SSH_METHOD_BACKEND',
    'orchestra.contrib.orchestration.methods.OpenSSH',
示例#21
0
from orchestra.contrib.settings import Setting
from orchestra.core.validators import validate_ip_address
from orchestra.settings import ORCHESTRA_BASE_DOMAIN

from . import validators
from .. import saas


SAAS_ENABLED_SERVICES = Setting('SAAS_ENABLED_SERVICES',
    (
        'orchestra.contrib.saas.services.moodle.MoodleService',
        'orchestra.contrib.saas.services.bscw.BSCWService',
        'orchestra.contrib.saas.services.gitlab.GitLabService',
        'orchestra.contrib.saas.services.phplist.PHPListService',
        'orchestra.contrib.saas.services.wordpress.WordPressService',
        'orchestra.contrib.saas.services.dokuwiki.DokuWikiService',
        'orchestra.contrib.saas.services.drupal.DrupalService',
        'orchestra.contrib.saas.services.owncloud.OwnCloudService',
#        'orchestra.contrib.saas.services.seafile.SeaFileService',
    ),
    # lazy loading
    choices=lambda: ((s.get_class_path(), s.get_class_path()) for s in saas.services.SoftwareService.get_plugins(all=True)),
    multiple=True,
)


SAAS_TRAFFIC_IGNORE_HOSTS = Setting('SAAS_TRAFFIC_IGNORE_HOSTS',
    ('127.0.0.1',),
    help_text=_("IP addresses to ignore during traffic accountability."),
    validators=[lambda hosts: (validate_ip_address(host) for host in hosts)]
)
示例#22
0
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting
from orchestra.settings import ORCHESTRA_BASE_DOMAIN

ACCOUNTS_TYPES = Setting('ACCOUNTS_TYPES', (
    ('INDIVIDUAL', _("Individual")),
    ('ASSOCIATION', _("Association")),
    ('CUSTOMER', _("Customer")),
    ('COMPANY', _("Company")),
    ('PUBLICBODY', _("Public body")),
    ('STAFF', _("Staff")),
    ('FRIEND', _("Friend")),
),
                         validators=[Setting.validate_choices])

ACCOUNTS_DEFAULT_TYPE = Setting('ACCOUNTS_DEFAULT_TYPE',
                                'INDIVIDUAL',
                                choices=ACCOUNTS_TYPES)

ACCOUNTS_LANGUAGES = Setting('ACCOUNTS_LANGUAGES', (('EN', _('English')), ),
                             validators=[Setting.validate_choices])

ACCOUNTS_DEFAULT_LANGUAGE = Setting('ACCOUNTS_DEFAULT_LANGUAGE',
                                    'EN',
                                    choices=ACCOUNTS_LANGUAGES)

ACCOUNTS_SYSTEMUSER_MODEL = Setting(
    'ACCOUNTS_SYSTEMUSER_MODEL',
    'systemusers.SystemUser',
    validators=[Setting.validate_model_label],
示例#23
0
from django.core.validators import validate_email

from orchestra.contrib.settings import Setting
from orchestra.settings import ORCHESTRA_DEFAULT_SUPPORT_FROM_EMAIL

ISSUES_SUPPORT_EMAILS = Setting(
    'ISSUES_SUPPORT_EMAILS',
    (ORCHESTRA_DEFAULT_SUPPORT_FROM_EMAIL, ),
    validators=[lambda emails: [validate_email(e) for e in emails]],
    help_text=
    "Includes <tt>ORCHESTRA_DEFAULT_SUPPORT_FROM_EMAIL</tt> by default",
)

ISSUES_NOTIFY_SUPERUSERS = Setting('ISSUES_NOTIFY_SUPERUSERS', True)
示例#24
0
from django.utils.translation import ugettext_lazy as _

from orchestra.contrib.settings import Setting

from .. import payments

PAYMENT_CURRENCY = Setting('PAYMENT_CURRENCY', 'Eur')

PAYMENTS_DD_BILL_MESSAGE = Setting(
    'PAYMENTS_DD_BILL_MESSAGE',
    _("<strong>Direct debit</strong>, this bill will be automatically charged "
      "to your bank account with IBAN number<br><strong>%(number)s</strong>."),
)

PAYMENTS_DD_CREDITOR_NAME = Setting('PAYMENTS_DD_CREDITOR_NAME', 'Orchestra')

PAYMENTS_DD_CREDITOR_IBAN = Setting('PAYMENTS_DD_CREDITOR_IBAN',
                                    'IE98BOFI90393912121212')

PAYMENTS_DD_CREDITOR_BIC = Setting('PAYMENTS_DD_CREDITOR_BIC', 'BOFIIE2D')

PAYMENTS_DD_CREDITOR_AT02_ID = Setting('PAYMENTS_DD_CREDITOR_AT02_ID',
                                       'InvalidAT02ID')

PAYMENTS_ENABLED_METHODS = Setting(
    'PAYMENTS_ENABLED_METHODS',
    (
        'orchestra.contrib.payments.methods.sepadirectdebit.SEPADirectDebit',
        'orchestra.contrib.payments.methods.creditcard.CreditCard',
    ),
    # lazy loading