ansible/roles/openshift-apps/badges/templates/fm-fedbadges.toml
Aurélien Bompard c3cf83f3a5
Badges: add a config value that will be needed in the next update
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2024-07-25 16:16:00 +02:00

231 lines
6.6 KiB
TOML

#
# Fedora Messaging configuration for the consumer component
#
amqp_url = "amqps://fedbadges{{ env_suffix }}:@rabbitmq{{ env_suffix }}.fedoraproject.org/%2Fpubsub"
callback = "fedbadges.consumer:FedoraBadgesConsumer"
passive_declares = true
# The topic_prefix configuration value will add a prefix to the topics of every sent message.
# This is used for migrating from fedmsg, and should not be used afterwards.
{% if env == "staging" %}
topic_prefix = "org.fedoraproject.stg"
{% else %}
topic_prefix = "org.fedoraproject.prod"
{% endif %}
[tls]
ca_cert = "/etc/pki/fedora-messaging/ca/cacert.pem"
certfile = "/etc/pki/fedora-messaging/crt/fedbadges-cert.pem"
keyfile = "/etc/pki/fedora-messaging/key/fedbadges-key.pem"
[client_properties]
app = "Fedbadges"
# If the exchange or queue name has a "." in it, use quotes as seen here.
[exchanges."amq.topic"]
type = "topic"
durable = true
auto_delete = false
arguments = {}
[queues."fedbadges{{ env_suffix }}"]
durable = true
auto_delete = false
exclusive = false
arguments = {}
[[bindings]]
queue = "fedbadges{{ env_suffix }}"
exchange = "amq.topic"
routing_keys = ["#"]
[consumer_config]
# This tells the consumer where to look for its BadgeRule definitions. It
# may be a relative or an absolute path on the file system.
badges_repo = "/var/lib/badges"
# Number of seconds to delay before consuming a message for our event loop.
# This is here to help us mitigate distributed race conditions between
# fedbadges and datanommer.
consume_delay = 1
# This is a sqlalchemy URI that points to the Badges DB. In
# production, this will be a postgres URI.
database_uri = "postgresql://{{ tahrirDBUser }}:{{ (env == 'production')|ternary(tahrirDBPassword, tahrirstgDBPassword) }}@{{ badges_db_host }}/{{ badges_db_name }}"
# Email domain for badges
email_domain = "{{ env_prefix }}fedoraproject.org"
# Datanommer database URI
datanommer_db_uri = "postgresql://{{ tahrirDBUser }}:{{ (env == 'production')|ternary(tahrirDBPassword, tahrirstgDBPassword) }}@{{ datanommer_db_hostname }}{{ env_suffix }}/datanommer2"
datagrepper_url = "https://apps{{ env_suffix }}.fedoraproject.org/datagrepper"
distgit_hostname = "src{{ env_suffix }}.fedoraproject.org"
id_provider_hostname = "id{{ env_suffix }}.fedoraproject.org"
fasjson_base_url = "https://fasjson{{ env_suffix }}.fedoraproject.org"
# Cache configuation
[consumer_config.cache]
backend = "dogpile.cache.redis"
expiration_time = 86400
[consumer_config.cache.arguments]
host = "redis.badges.svc.cluster.local"
port = 6379
password = "{{ (env == 'production')|ternary(badges_prod_redis_password, badges_stg_redis_password) }}"
db = 0
redis_expiration_time = 86400
distributed_lock = true
# Lock timeout should be longer than the longest datanommer query
lock_timeout = 3600
thread_local_lock = false
socket_keepalive = true
# This is a set of data that tells our consumer what Open Badges Issuer
# should be kept as the issuer of all the badges we create.
[consumer_config.badge_issuer]
issuer_id = "Fedora Project"
issuer_origin = "https://apps.fedoraproject.org"
issuer_name = "Fedora Project"
issuer_url = "http://fedoraproject.org"
issuer_email = "badges@fedoraproject.org"
# Members and Sponsors of these groups get the corresponding badge
[[consumer_config.group_badges]]
group = "3d-printing-sig"
badge = "3d-printing-sig-member"
[[consumer_config.group_badges]]
group = "fedora-contributor"
badge = "involvement"
[[consumer_config.group_badges]]
group = "advocates"
badge = "fedora-advocate"
[[consumer_config.group_badges]]
group = "ambassadors"
badge = "ambassador"
[[consumer_config.group_badges]]
group = "ambassadors"
memberships = ["sponsor"]
badge = "ambassadors-sponsor"
[[consumer_config.group_badges]]
group = "commops"
badge = "commops-superstar"
[[consumer_config.group_badges]]
group = "council"
badge = "council-member"
[[consumer_config.group_badges]]
group = "designteam"
badge = "pixel-ninja"
[[consumer_config.group_badges]]
group = "dotnet-team"
badge = "dotnet-sig-member"
[[consumer_config.group_badges]]
group = "fedora-hams"
badge = "amateur-radio-sig-member"
[[consumer_config.group_badges]]
group = "fedora-join"
badge = "welcome-wagon"
[[consumer_config.group_badges]]
group = "fi-apprentice"
badge = "no-longer-a-ronin"
[[consumer_config.group_badges]]
group = "gitfedora-web"
badge = "rock-the-web!"
[[consumer_config.group_badges]]
group = "git-fedora-electronic-lab"
badge = "fel-member"
[[consumer_config.group_badges]]
group = "iot"
badge = "iot-working-group-member"
[[consumer_config.group_badges]]
group = "irc-support-operators"
badge = "your-call-may-be-monitored-for-quality-assurance"
[[consumer_config.group_badges]]
group = "kde-sig"
badge = "kde-sig"
[[consumer_config.group_badges]]
group = "lxqt-sig"
badge = "lxqt-sig-member"
#[[consumer_config.group_badges]]
#group = "marketing"
#badge = "called-to-action"
[[consumer_config.group_badges]]
group = "mindshare"
badge = "meeting-of-the-minds"
[[consumer_config.group_badges]]
group = "modularity-wg"
badge = "modularity-wg-member"
[[consumer_config.group_badges]]
group = "neuro-sig"
badge = "neurofedora-sig-member"
[[consumer_config.group_badges]]
group = "packager"
memberships = ["sponsor"]
badge = "packager-sponsor"
[[consumer_config.group_badges]]
group = "provenpackager"
badge = "proven-packager"
[[consumer_config.group_badges]]
group = "proventesters"
badge = "proven-tester"
[[consumer_config.group_badges]]
group = "robotics-sig"
badge = "domo-arigato"
[[consumer_config.group_badges]]
group = "ruby-sig"
badge = "ruby-sig-member"
[[consumer_config.group_badges]]
group = "security-team"
badge = "security-team"
[[consumer_config.group_badges]]
group = "summer-coding"
badge = "summer-coder"
[[consumer_config.group_badges]]
group = "sysadmin-main"
badge = "trust-me,-i-know-what-i-am-doing"
[[consumer_config.group_badges]]
group = "sysadmin-badges"
badge = "inside-job"
[[consumer_config.group_badges]]
group = "videos"
badge = "videographer"
[qos]
prefetch_size = 0
prefetch_count = 25
[log_config]
version = 1
disable_existing_loggers = true
[log_config.formatters.simple]
format = "[%(asctime)s] [%(levelname)s %(name)s] %(message)s"
[log_config.handlers.console]
class = "logging.StreamHandler"
formatter = "simple"
stream = "ext://sys.stdout"
[log_config.loggers.fedbadges]
level = "DEBUG"
propagate = false
handlers = ["console"]
[log_config.loggers.fedora_messaging]
level = "INFO"
propagate = false
handlers = ["console"]
# Twisted is the asynchronous framework that manages the TCP/TLS connection, as well
# as the consumer event loop. When debugging you may want to lower this log level.
[log_config.loggers.twisted]
level = "INFO"
propagate = false
handlers = ["console"]
[log_config.root]
level = "WARNING"
handlers = ["console"]