mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-25 22:53:23 +02:00
243 lines
7.7 KiB
Django/Jinja
243 lines
7.7 KiB
Django/Jinja
# -*- coding: utf-8 -*-
|
|
import os
|
|
|
|
from .common import *
|
|
|
|
#########################################
|
|
## GENERIC
|
|
#########################################
|
|
|
|
DEBUG = False
|
|
|
|
ADMINS = (
|
|
("Admin", "{{ system_admin_email | default('admin@' ~ ansible_domain) }}"),
|
|
)
|
|
|
|
DATABASES = {
|
|
'default': {
|
|
'ENGINE': 'django.db.backends.postgresql',
|
|
'NAME': '{{ taiga_db_name }}',
|
|
'USER': '{{ taiga_db_user }}',
|
|
'PASSWORD': '{{ taiga_db_pass }}',
|
|
'HOST': '{{ taiga_db_server }}',
|
|
'PORT': '{{ taiga_db_port }}',
|
|
}
|
|
}
|
|
|
|
SECRET_KEY = "{{ taiga_secret_key }}"
|
|
|
|
TAIGA_SITES_SCHEME = "{{ taiga_public_url | urlsplit('scheme') }}"
|
|
TAIGA_SITES_DOMAIN = "{{ taiga_public_url | urlsplit('hostname') }}"
|
|
FORCE_SCRIPT_NAME = "{{ (taiga_public_url | urlsplit('path') == '/') | ternary('', taiga_public_url | urlsplit('path')) }}"
|
|
|
|
TAIGA_URL = f"{ TAIGA_SITES_SCHEME }://{ TAIGA_SITES_DOMAIN }{ FORCE_SCRIPT_NAME }"
|
|
SITES = {
|
|
"api": { "name": "api", "scheme": TAIGA_SITES_SCHEME, "domain": TAIGA_SITES_DOMAIN },
|
|
"front": { "name": "front", "scheme": TAIGA_SITES_SCHEME, "domain": f"{ TAIGA_SITES_DOMAIN }{ FORCE_SCRIPT_NAME }" }
|
|
}
|
|
|
|
# Setting DEFAULT_PROJECT_SLUG_PREFIX to false
|
|
# removes the username from project slug
|
|
DEFAULT_PROJECT_SLUG_PREFIX = False
|
|
|
|
#########################################
|
|
## MEDIA AND STATIC
|
|
#########################################
|
|
|
|
MEDIA_ROOT = '{{ taiga_root_dir }}/data/media/'
|
|
MEDIA_URL = f"{ TAIGA_URL }/media/"
|
|
DEFAULT_FILE_STORAGE = "taiga_contrib_protected.storage.ProtectedFileSystemStorage"
|
|
THUMBNAIL_DEFAULT_STORAGE = DEFAULT_FILE_STORAGE
|
|
|
|
# STATIC_ROOT = '/home/taiga/static'
|
|
STATIC_URL = f"{ TAIGA_URL }/static/"
|
|
|
|
#########################################
|
|
## EMAIL
|
|
#########################################
|
|
# https://docs.djangoproject.com/en/3.1/topics/email/
|
|
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
|
CHANGE_NOTIFICATIONS_MIN_INTERVAL = 120 # seconds
|
|
|
|
DEFAULT_FROM_EMAIL = '{{ taiga_email_from }}'
|
|
EMAIL_USE_TLS = {{ taiga_smtp_tls | ternary('True', 'False') }}
|
|
EMAIL_USE_SSL = {{ taiga_smtp_ssl | ternary('True', 'False') }}
|
|
EMAIL_HOST = '{{ taiga_smtp_server }}'
|
|
EMAIL_PORT = {{ taiga_smtp_port }}
|
|
{% if taiga_smtp_user is defined and taiga_smtp_pass is defined %}
|
|
EMAIL_HOST_USER = '{{ taiga_smtp_user }}'
|
|
EMAIL_HOST_PASSWORD = '{{ taiga_smtp_pass }}'
|
|
{% endif %}
|
|
|
|
#########################################
|
|
## EVENTS
|
|
#########################################
|
|
EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
|
|
EVENTS_PUSH_BACKEND_OPTIONS = {
|
|
"url": "amqp://{{ taiga_amqp_user }}:{{ taiga_amqp_pass }}@{{ taiga_amqp_server }}:{{ taiga_amqp_port }}/{{ taiga_amqp_vhost }}"
|
|
}
|
|
|
|
|
|
#########################################
|
|
## TAIGA ASYNC
|
|
#########################################
|
|
CELERY_ENABLED = os.getenv('CELERY_ENABLED', 'True') == 'True'
|
|
|
|
from kombu import Queue # noqa
|
|
|
|
CELERY_BROKER_URL = "amqp://{{ taiga_amqp_user }}:{{ taiga_amqp_pass }}@{{ taiga_amqp_server }}:{{ taiga_amqp_port }}/{{ taiga_amqp_vhost }}"
|
|
CELERY_RESULT_BACKEND = None # for a general installation, we don't need to store the results
|
|
CELERY_ACCEPT_CONTENT = ['pickle', ] # Values are 'pickle', 'json', 'msgpack' and 'yaml'
|
|
CELERY_TASK_SERIALIZER = "pickle"
|
|
CELERY_RESULT_SERIALIZER = "pickle"
|
|
CELERY_TIMEZONE = "{{ system_tz | default('Europe/Paris') }}"
|
|
CELERY_TASK_DEFAULT_QUEUE = 'tasks'
|
|
CELERY_QUEUES = (
|
|
Queue('tasks', routing_key='task.#'),
|
|
Queue('transient', routing_key='transient.#', delivery_mode=1)
|
|
)
|
|
CELERY_TASK_DEFAULT_EXCHANGE = 'tasks'
|
|
CELERY_TASK_DEFAULT_EXCHANGE_TYPE = 'topic'
|
|
CELERY_TASK_DEFAULT_ROUTING_KEY = 'task.default'
|
|
|
|
|
|
#########################################
|
|
## CONTRIBS
|
|
#########################################
|
|
# INSTALLED_APPS += [
|
|
# "taiga_contrib_slack",
|
|
# "taiga_contrib_github_auth",
|
|
# "taiga_contrib_gitlab_auth"
|
|
# ]
|
|
#
|
|
# GITHUB_API_CLIENT_ID = "changeme"
|
|
# GITHUB_API_CLIENT_SECRET = "changeme"
|
|
#
|
|
# GITLAB_API_CLIENT_ID = "changeme"
|
|
# GITLAB_API_CLIENT_SECRET = "changeme"
|
|
# GITLAB_URL = "changeme"
|
|
|
|
|
|
#########################################
|
|
## TELEMETRY
|
|
#########################################
|
|
|
|
ENABLE_TELEMETRY = False
|
|
|
|
#########################################
|
|
## REGISTRATION
|
|
#########################################
|
|
|
|
PUBLIC_REGISTER_ENABLED = {{ (taiga_user_registration or taiga_oidc_auth) | ternary('True', 'False') }}
|
|
|
|
#########################################
|
|
## THROTTLING
|
|
#########################################
|
|
|
|
#REST_FRAMEWORK["DEFAULT_THROTTLE_RATES"] = {
|
|
# "anon-write": "20/min",
|
|
# "user-write": None,
|
|
# "anon-read": None,
|
|
# "user-read": None,
|
|
# "import-mode": None,
|
|
# "import-dump-mode": "1/minute",
|
|
# "create-memberships": None,
|
|
# "login-fail": None,
|
|
# "register-success": None,
|
|
# "user-detail": None,
|
|
# "user-update": None,
|
|
#}
|
|
|
|
# This list should contain:
|
|
# - Taiga users IDs
|
|
# - Valid clients IP addresses (X-Forwarded-For header)
|
|
#REST_FRAMEWORK["DEFAULT_THROTTLE_WHITELIST"] = []
|
|
|
|
# LIMIT ALLOWED DOMAINS FOR REGISTER AND INVITE
|
|
# None or [] values in USER_EMAIL_ALLOWED_DOMAINS means allow any domain
|
|
#USER_EMAIL_ALLOWED_DOMAINS = None
|
|
{% if taiga_user_registration_allowed_domains | length > 0 %}
|
|
USER_EMAIL_ALLOWED_DOMAINS=[
|
|
{% for domain in taiga_user_registration_allowed_domains %}
|
|
'{{ domain }}'
|
|
{% endfor %}
|
|
]
|
|
{% else %}
|
|
USER_EMAIL_ALLOWED_DOMAINS = None
|
|
{% endif %}
|
|
|
|
# PUCLIC OR PRIVATE NUMBER OF PROJECT PER USER
|
|
#MAX_PRIVATE_PROJECTS_PER_USER = None # None == no limit
|
|
#MAX_PUBLIC_PROJECTS_PER_USER = None # None == no limit
|
|
#MAX_MEMBERSHIPS_PRIVATE_PROJECTS = None # None == no limit
|
|
#MAX_MEMBERSHIPS_PUBLIC_PROJECTS = None # None == no limit
|
|
|
|
|
|
#########################################
|
|
## SITEMAP
|
|
#########################################
|
|
|
|
# If is True /front/sitemap.xml show a valid sitemap of taiga-front client
|
|
#FRONT_SITEMAP_ENABLED = False
|
|
#FRONT_SITEMAP_CACHE_TIMEOUT = 24*60*60 # In second
|
|
|
|
|
|
#########################################
|
|
## FEEDBACK
|
|
#########################################
|
|
|
|
# Note: See config in taiga-front too
|
|
FEEDBACK_ENABLED = False
|
|
#FEEDBACK_EMAIL = "support@taiga.io"
|
|
|
|
|
|
#########################################
|
|
## STATS
|
|
#########################################
|
|
|
|
#STATS_ENABLED = False
|
|
#STATS_CACHE_TIMEOUT = 60*60 # In second
|
|
|
|
|
|
#########################################
|
|
## IMPORTERS
|
|
#########################################
|
|
|
|
# Configuration for the GitHub importer
|
|
# Remember to enable it in the front client too.
|
|
#IMPORTERS["github"] = {
|
|
# "active": True,
|
|
# "client_id": "XXXXXX_get_a_valid_client_id_from_github_XXXXXX",
|
|
# "client_secret": "XXXXXX_get_a_valid_client_secret_from_github_XXXXXX"
|
|
#}
|
|
|
|
# Configuration for the Trello importer
|
|
# Remember to enable it in the front client too.
|
|
#IMPORTERS["trello"] = {
|
|
# "active": True, # Enable or disable the importer
|
|
# "api_key": "XXXXXX_get_a_valid_api_key_from_trello_XXXXXX",
|
|
# "secret_key": "XXXXXX_get_a_valid_secret_key_from_trello_XXXXXX"
|
|
#}
|
|
|
|
# Configuration for the Jira importer
|
|
# Remember to enable it in the front client too.
|
|
#IMPORTERS["jira"] = {
|
|
# "active": True, # Enable or disable the importer
|
|
# "consumer_key": "XXXXXX_get_a_valid_consumer_key_from_jira_XXXXXX",
|
|
# "cert": "XXXXXX_get_a_valid_cert_from_jira_XXXXXX",
|
|
# "pub_cert": "XXXXXX_get_a_valid_pub_cert_from_jira_XXXXXX"
|
|
#}
|
|
|
|
{% if taiga_oidc_auth %}
|
|
INSTALLED_APPS += ["taiga_contrib_openid_auth"]
|
|
OPENID_USER_URL = "{{ taiga_oidc_user_url }}"
|
|
OPENID_TOKEN_URL = "{{ taiga_oidc_token_url }}"
|
|
OPENID_CLIENT_ID = "{{ taiga_oidc_client_id }}"
|
|
OPENID_CLIENT_SECRET = "{{ taiga_oidc_client_secret }}"
|
|
OPENID_SCOPE = "{{ taiga_oidc_scope }}"
|
|
OPENID_ID_FIELD = "{{ taiga_oidc_id_field }}"
|
|
OPENID_USERNAME_FIELD = "{{ taiga_oidc_user_field }}"
|
|
OPENID_FULLNAME_FIELD = "{{ taiga_oidc_fullname_field }}"
|
|
OPENID_EMAIL_FIELD = "{{ taiga_oidc_email_field }}"
|
|
{% endif %}
|