ansible/roles/openshift-apps/mirrormanager/templates/mirrormanager2.cfg.py
Aurélien Bompard fa91a361ac
MM: use logrotate for crawler logs, and give them more space
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2024-03-13 17:20:53 +01:00

252 lines
8.2 KiB
Python

#
# This is the config file for MirrorManager as intended to be used in OpenShift
#
# Set the time after which the session expires. Flask's default is 31 days.
# Default: ``timedelta(hours=1)`` corresponds to 1 hour.
# from datetime import timedelta
# PERMANENT_SESSION_LIFETIME = timedelta(hours=1)
{% if env == "staging" %}
# url to the database server:
SQLALCHEMY_DATABASE_URI = "postgresql://{{ mirrormanager_stg_db_user }}:{{ mirrormanager_stg_db_pass }}@{{ mirrormanager_db_host }}/{{ mirrormanager_stg_db_name }}"
# secret key used to generate unique csrf token
SECRET_KEY = "{{ mirrormanager_stg_secret_key }}"
# Seed used to make the password harder to brute force in case of leaking
# This should be kept really secret!
PASSWORD_SEED = "{{ mirrormanager_stg_password_seed }}"
{% else %}
# url to the database server:
SQLALCHEMY_DATABASE_URI = "postgresql://{{ mirrormanager_db_user }}:{{ mirrormanager_db_pass }}@{{ mirrormanager_db_host }}/{{ mirrormanager_db_name }}"
# secret key used to generate unique csrf token
SECRET_KEY = "{{ mirrormanager_secret_key }}"
# Seed used to make the password harder to brute force in case of leaking
# This should be kept really secret!
PASSWORD_SEED = "{{ mirrormanager_password_seed }}"
{% endif %}
# the number of items to display on the search pages
# Default: ``50``.
# ITEMS_PER_PAGE = 50
# Make browsers send session cookie only via HTTPS
SESSION_COOKIE_SECURE=True
# Folder containing the theme to use.
# Default: ``fedora``.
# THEME_FOLDER = "fedora"
# Which authentication method to use, defaults to `fas` can be or `local`
# Default: ``fas``.
# MM_AUTHENTICATION = "fas"
OIDC_CLIENT_SECRETS = "/etc/mirrormanager-secrets/client_secrets.json"
# If the authentication method is `fas`, groups in which should be the user
# to be recognized as an admin.
ADMIN_GROUP = ["sysadmin-main", "sysadmin-web"]
# Email of the admin to which send notification or error
# ADMIN_EMAIL = "admin@fedoraproject.org"
# Email address used in the "From" field of the emails sent.
# Default: ``nobody@fedoraproject.org``.
# EMAIL_FROM = "nobody@fedoraproject.org"
# SMTP server to use,
# Default: ``localhost``.
SMTP_SERVER = "bastion{{ env_suffix }}.fedoraproject.org"
# If the SMTP server requires authentication, fill in the information here
# SMTP_USERNAME = "username"
# SMTP_PASSWORD = "password"
# When this is set to True, an additional menu item is shown which can
# be used to browse the different statistics generated by
# mirrorlist_statistics.py.
# SHOW_STATISTICS = True
# This is the directory the code enabled by SHOW_STATISTICS will use
# to locate the statistics files and display them.
# STATISTICS_BASE = "/var/lib/mirrormanager/statistics/data"
# How long to keep the access stats, in days
#ACCESS_STATS_KEEP_DAYS = 30
# Countries which have to be excluded.
EMBARGOED_COUNTRIES = ["CU", "IR", "KP", "SD", "SY"]
# When this is set to True, an additional menu item is shown which
# displays the maps generated with mm2_generate-worldmap.
# SHOW_MAPS = True
# Where to look for maps
# MAPS_BASE = "/var/lib/mirrormanager/statistics/map"
# Location of the static map displayed in the map tab.
# STATIC_MAP = "map.png"
# Location of the interactive openstreetmap based map.
# INTERACTIVE_MAP = "mirrors.html"
# The crawler can generate propagation statistics which can be
# converted into svg/pdf with mm2_propagation. These files
# can be displayed next to the statistics and maps tab if desired.
# SHOW_PROPAGATION = True
# Where to look for the above mentioned propagation images.
# PROPAGATION_BASE = "/var/lib/mirrormanager/statistics/data/propagation"
# How long to keep the propagation stats, in days
#PROPAGATION_KEEP_DAYS = 30
PROPAGATION_KEEP_DAYS = 14
# Where the GeoIP database lives
GEOIP_BASE = "/var/lib/mirrormanager/geoip"
# Disable master rsync server ACL
# Fedora does not use it and therefore it is set to False
# MASTER_RSYNC_ACL = False
# When this is set to True, the session cookie will only be returned to the
# server via ssl (https). If you connect to the server via plain http, the
# cookie will not be sent. This prevents sniffing of the cookie contents.
# This may be set to False when testing your application but should always
# be set to True in production.
# Default: ``True``.
# MM_COOKIE_REQUIRES_HTTPS = True
# The name of the cookie used to store the session id.
# Default: ``.MirrorManager``.
# MM_COOKIE_NAME = "MirrorManager"
# If this variable is set (and the directory exists) the crawler
# will create per host log files in MM_LOG_DIR/crawler/<hostid>.log
# which can the be used in the web interface by the mirror admins.
# Other parts besides the crawler are also using this variable to
# decide where to store log files.
MM_LOG_DIR = "/var/log/mirrormanager"
# This is used to exclude certain protocols to be entered
# for host category URLs at all.
# The following is the default for Fedora to exclude FTP based
# mirrors to be added. Removing this confguration option
# or setting it to "" removes any protocol restrictions.
# MM_PROTOCOL_REGEX = "^(?!ftp)(.*)$"
# The netblock size parameters define which netblock sizes can be
# added by a site administrator. Larger networks can only be added by
# mirrormanager admins.
# MM_IPV4_NETBLOCK_SIZE = "/16"
# MM_IPV6_NETBLOCK_SIZE = "/32"
# If not specified the application will rely on the root_url when sending
# emails, otherwise it will use this URL
# Default: ``None``.
# APPLICATION_URL = None
# Boolean specifying wether to check the user's IP address when retrieving
# its session. This make things more secure (thus is on by default) but
# under certain setup it might not work (for example is there are proxies
# in front of the application).
# CHECK_SESSION_IP = True
# Specify additional rsync parameters for the crawler
# # --timeout 14400: abort rsync crawl after 4 hours
# # --no-human-readable: because rsync made things pretty by default in 3.1.x
CRAWLER_RSYNC_PARAMETERS = "--no-motd --timeout 14400 --exclude=lost+found --no-human-readable"
# This is a list of directories which MirrorManager will ignore while guessing
# the version and architecture from a path.
SKIP_PATHS_FOR_VERSION = [
"pub/alt",
"pub/fedora/linux/releases/test",
"pub/archive",
"pub/fedora-secondary/development/rawhide/s390/"
"pub/fedora-secondary/development/rawhide/Modular/ppc64/os",
"pub/fedora-secondary/development/rawhide/Modular/ppc64/debug/tree"
]
###
# Configuration options used by the crons
###
# Specify whether the crawler should send a report by email
CRAWLER_SEND_EMAIL = False
# If a host fails for CRAWLER_AUTO_DISABLE times in a row
# the host will be disable automatically (user_active)
# CRAWLER_AUTO_DISABLE = 4
# To get the current versions
BODHI_URL = "https://bodhi{{ env_suffix }}.fedoraproject.org"
UMDL_PREFIX = "/srv/"
UMDL_MASTER_DIRECTORIES = [
{
"type": "directory",
"path": "/srv/pub/epel/",
"category": "Fedora EPEL"
},
{
"type": "directory",
"path": "/srv/pub/fedora/linux/",
"category": "Fedora Linux"
},
{
"type": "directory",
"path": "/srv/pub/fedora-secondary/",
"category": "Fedora Secondary Arches"
},
{
"type": "directory",
"path": "/srv/pub/archive/",
"category": "Fedora Archive"
},
{
"type": "directory",
"path": "/srv/pub/alt/",
"category": "Fedora Other"
},
{
"type": "directory",
"path": "/srv/codecs.fedoraproject.org/",
"category": "Fedora Codecs"
},
# {
# "type":"directory",
# "path":"../testdata/pub/fedora/linux/",
# "category":"Fedora Linux",
# "excludes":[".*/core/?.*", ".*/extras/?.*", ".*/[7-8]/?.*" ]
# },
# {
# "type":"rsync",
# "url":"rsync://archive.ubuntu.com/ubuntu/",
# "category":"Ubuntu Archive"
# },
# {
# "type":"rsync",
# "url":"rsync://releases.ubuntu.com/releases/",
# "category":"Ubuntu CD Images"
# },
# {
# "type":"rsync",
# "url":"rsync://ports.ubuntu.com/ubuntu-ports/",
# "category":"Ubuntu Ports Archive"
# },
# {
# "type":"rsync",
# "url":"rsync://security.ubuntu.com/ubuntu/",
# "category":"Ubuntu Security Archive"
# },
]