231 lines
6.6 KiB
TOML
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"]
|