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
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, )
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' )
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')
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', )
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] )
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', )
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], )
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, )
from orchestra.contrib.settings import Setting RESOURCES_OLD_MONITOR_DATA_DAYS = Setting('RESOURCES_OLD_MONITOR_DATA_DAYS', 40, )
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.")
from orchestra.contrib.settings import Setting MISCELLANEOUS_IDENTIFIER_VALIDATORS = Setting( 'MISCELLANEOUS_IDENTIFIER_VALIDATORS', { # <miscservice__name>: <validator_function> })
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.")
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=('*', ))
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)], )
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", )
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(
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', ), )
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)],
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',
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)] )
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],
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)
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