{"tags":["profile::toolforge::infrastructure","profile","toolforge","infrastructure","role::aptly::client","role","aptly","client","role::wmcs::toolforge::legacy_redirector","wmcs","legacy_redirector","settings","default","role::wmcs::instance","instance","profile::base::labs","base","labs","profile::base","profile::adduser","adduser","profile::puppet::agent","puppet","agent","debian","puppet::agent","puppet_statsd","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::client_bucket","client_bucket","profile::base::certificates","certificates","sslcert","sslcert::trusted_ca","trusted_ca","profile::apt","apt","profile::systemd::timesyncd","systemd","timesyncd","systemd::timesyncd","grub::defaults","grub","defaults","passwords::root","passwords","root","network::constants","network","constants","profile::resolving","resolving","resolvconf","profile::mail::default_mail_relay","mail","default_mail_relay","profile::logrotate","logrotate","profile::prometheus::node_exporter","node_exporter","prometheus::node_exporter","profile::rsyslog","rsyslog","profile::syslog::remote","syslog","remote","profile::prometheus::rsyslog_exporter","rsyslog_exporter","profile::prometheus::cadvisor","cadvisor","prometheus::cadvisor","profile::prometheus::ethtool_exporter","ethtool_exporter","base::sysctl","sysctl","motd","motd::defaults","base::standard_packages","standard_packages","profile::environment","environment","base::sysctl::core_dumps","core_dumps","profile::ssh::client","ssh","ssh::client","profile::ssh::server","server","ssh::server","base::kernel","kernel","profile::debdeploy::client","debdeploy","debdeploy::client","base::initramfs","initramfs","profile::auto_restarts","auto_restarts","prometheus::node_debian_version","node_debian_version","prometheus::node_dpkg_success","node_dpkg_success","apt::unattendedupgrades","unattendedupgrades","profile::openstack::eqiad1::observerenv","openstack","eqiad1","observerenv","profile::openstack::base::observerenv","profile::openstack::eqiad1::clientpackages::vms","clientpackages","vms","profile::openstack::base::clientpackages::vms","openstack::clientpackages::vms::common","common","profile::openstack::eqiad1::cumin::target","cumin","target","cumin::selector","selector","profile::wmcs::instance","sudo","profile::ldap::client::labs","ldap","profile::ldap::client::utils","utils","ldap::client::config","config","ldap::client::sssd","sssd","prometheus::node_ssh_open_sessions","node_ssh_open_sessions","cinderutils","security::access","security","access","aptly::client","profile::firewall","firewall","ferm","profile::firewall::log::ferm","log","ulogd","profile::toolforge::base","sslcert::ca_deselect_dstx3","ca_deselect_dstx3","exim4","profile::toolforge::legacy_redirector","sslcert::dhparam","dhparam","httpd","security::pam","pam","confd","acme_chief","udev","monitoring","prometheus::instances","instances","node","class"],"name":"tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","version":"(8a49163fe3) Manuel Arostegui - db2253: Remove note","code_id":null,"catalog_uuid":"6b5c32f5-365b-4afd-808e-99958b28a002","catalog_format":2,"environment":"production","resources":[{"type":"Stage","title":"main","tags":["stage"],"exported":false,"kind":"compilable_type","parameters":{"name":"main"}},{"type":"Class","title":"Settings","tags":["class","settings"],"exported":false,"kind":"unknown"},{"type":"Class","title":"main","tags":["class"],"exported":false,"kind":"unknown","parameters":{"name":"main"}},{"type":"Node","title":"default","tags":["node","default","class"],"exported":false,"kind":"unknown","parameters":{"require":["Class[Role::Wmcs::Instance]"]}},{"type":"Class","title":"Role::Wmcs::Instance","tags":["class","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Profile::Base::Labs","tags":["class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"unattended_wmf":"present","unattended_distro":"present","unattended_osbpo":"present","send_puppet_failure_emails":true,"cleanup_puppet_client_bucket":false,"client_bucket_file_age":14}},{"type":"Class","title":"Profile::Base","tags":["class","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"overlayfs":true,"enable_contacts":false,"core_dump_pattern":"core","unprivileged_userns_clone":false,"additional_purged_packages":[],"no_cron":true,"wikimedia_clusters":{"misc":{"description":"Miscellaneous","id":8,"sites":{"eqiad":[],"codfw":[]}},"cache_text":{"description":"Text caches","id":20,"sites":{"eqiad":[],"codfw":[],"esams":[],"ulsfo":[],"eqsin":[],"drmrs":[]}},"cache_upload":{"description":"Upload caches","id":22,"sites":{"eqiad":[],"codfw":[],"esams":[],"ulsfo":[],"eqsin":[],"drmrs":[]}},"parsoid":{"description":"Parsoid","id":37,"sites":{"eqiad":[],"codfw":[]}}},"cluster":"misc","remove_python2_on_bullseye":true,"manage_resolvconf":true,"rp_filter":true,"use_linux612_on_bookworm":false,"use_linux_from_bpo_on_trixie":false}},{"type":"File","title":"/usr/local/sbin","tags":["file","class","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":44,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"File","title":"/usr/local/share/bash","tags":["file","class","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":44,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"Class","title":"Profile::Adduser","tags":["class","profile::adduser","profile","adduser","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Adduser","tags":["class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/adduser.pp","line":4,"exported":false,"kind":"class","parameters":{"default_shell":"/bin/bash","default_home":"/home","use_group_homes":false,"use_letter_homes":false,"skel_dir":"/etc/skel","first_system_uid":100,"last_system_uid":499,"first_system_gid":100,"last_system_gid":499,"first_uid":1000,"last_uid":59999,"first_gid":1000,"last_gid":59999,"use_usergroups":true,"users_gid":100,"dir_mode":"0755","home_setgid":false,"quota_user":"","skel_ignore_regex":"dpkg-(old|new|dist|save)","extra_groups":[],"before":["Package[puppet]","Package[facter]","Package[augeas-tools]","Package[virt-what]","Package[puppet-module-puppetlabs-augeas-core]","Package[python3-prometheus-client]","Package[python3-yaml]","Package[ruby-net-ssh]","Package[openssl]","Package[ssl-cert]","Package[ca-certificates]","Package[ntp]","Package[systemd-timesyncd]","Package[logrotate]","Package[prometheus-node-exporter]","Package[rsyslog]","Package[rsyslog-openssl]","Package[cadvisor]","Package[acct]","Package[byobu]","Package[colordiff]","Package[curl]","Package[debian-goodies]","Package[ethtool]","Package[gdb]","Package[gdisk]","Package[git]","Package[htop]","Package[httpry]","Package[iotop]","Package[iperf]","Package[jq]","Package[libtemplate-perl]","Package[lldpd]","Package[lshw]","Package[molly-guard]","Package[moreutils]","Package[net-tools]","Package[numactl]","Package[ncdu]","Package[ngrep]","Package[pigz]","Package[psmisc]","Package[pv]","Package[python3]","Package[screen]","Package[strace]","Package[sysstat]","Package[tcpdump]","Package[tmux]","Package[tree]","Package[vim]","Package[vim-addon-manager]","Package[vim-scripts]","Package[wipe]","Package[xfsprogs]","Package[zsh]","Package[icdiff]","Package[linux-perf]","Package[bsd-mailx]","Package[ack]","Package[netcat-openbsd]","Package[tshark]","Package[fzf]","Package[ripgrep]","Package[fd-find]","Package[kitty-terminfo]","Package[mtr-tiny]","Package[bat]","Package[efibootmgr]","Package[bind9-dnsutils]","Package[tzdata]","Package[python3-wmflib]","Package[ruby-sorted-set]","Package[btop]","Package[dstat]","Package[apport]","Package[command-not-found]","Package[command-not-found-data]","Package[ecryptfs-utils]","Package[mlocate]","Package[os-prober]","Package[python3-apport]","Package[wpasupplicant]","Package[apt-listchanges]","Package[libicu67]","Package[libwsutil12]","Package[libwireshark14]","Package[libopencsd0]","Package[libwiretap11]","Package[ruby2.7]","Package[python3.9-minimal]","Package[python3.9]","Package[perl-modules-5.32]","Package[libpython3.9]","Package[libperl5.32]","Package[libpython3.9-minimal]","Package[libpython3.9-stdlib]","Package[libidn11]","Package[libldap-2.4-2]","Package[liburing1]","Package[libwebp6]","Package[libcbor0]","Package[libusb-0.1-4]","Package[telnet]","Package[libruby2.7]","Package[libdns-export1110]","Package[libisc-export1105]","Package[libbpf0]","Package[openssh-client]","Package[python3-ldap]","Package[openssh-server]","Package[debdeploy-client]","Package[python3-dateutil]","Package[unattended-upgrades]","Package[python3-apt]","Package[python3-novaclient]","Package[python3-glanceclient]","Package[python3-keystoneauth1]","Package[python3-keystoneclient]","Package[python3-openstackclient]","Package[python3-designateclient]","Package[python3-neutronclient]","Package[python3-tenacity]","Package[python3-troveclient]","Package[python3-netaddr]","Package[isc-dhcp-client]","Package[cloud-init]","Package[sudo]","Package[ldap-utils]","Package[libpam-sss]","Package[libnss-sss]","Package[libsss-sudo]","Package[sssd]","Package[nscd]","Package[nslcd]","Package[sudo-ldap]","Package[libpam-ldapd]","Package[smartmontools]","Package[prometheus-rsyslog-exporter]","Package[initramfs-tools]","Package[libnet-dns-perl]","Package[iptables]","Package[ferm]","Package[ulogd2]","Package[conntrack]","Package[nano]","Package[cron]","Package[exim4-config]","Package[exim4-daemon-light]","Package[apache2]","Package[links]","Package[confd]","Package[python3-toml]","Package[python3-click]","Package[python3-box]"]}},{"type":"File","title":"/etc/adduser.conf","tags":["file","class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/adduser/manifests/init.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0644","content":"### MANAGED BY PUPPET\nDSHELL=/bin/bash\nDHOME=/home\nGROUPHOMES=no\nLETTERHOMES=no\nSKEL=/etc/skel\nFIRST_SYSTEM_UID=100\nLAST_SYSTEM_UID=499\nFIRST_SYSTEM_GID=100\nLAST_SYSTEM_GID=499\nFIRST_UID=1000\nLAST_UID=59999\nFIRST_GID=1000\nLAST_GID=59999\nUSERGROUPS=yes\nUSERS_GID=100\nDIR_MODE=0755\nSETGID_HOME=no\nQUOTAUSER=\"\"\nSKEL_IGNORE_REGEX=\"dpkg-(old|new|dist|save)\"\n","owner":"root","group":"root"}},{"type":"Systemd::Sysuser","title":"sysusers-base-config","tags":["systemd::sysuser","systemd","sysuser","sysusers-base-config","class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/adduser/manifests/init.pp","line":49,"exported":false,"kind":"defined_type","parameters":{"usertype":"range","username":"-","id":"100-499","ensure":"present","allow_login":false,"additional_groups":[]}},{"type":"File_line","title":"login.defs-SYS_UID_MAX","tags":["file_line","login.defs-sys_uid_max","class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/adduser/manifests/init.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"path":"/etc/login.defs","match":"#?SYS_UID_MAX\\b","line":"SYS_UID_MAX               499"}},{"type":"File_line","title":"login.defs-SYS_GID_MAX","tags":["file_line","login.defs-sys_gid_max","class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/adduser/manifests/init.pp","line":64,"exported":false,"kind":"compilable_type","parameters":{"path":"/etc/login.defs","match":"#?SYS_GID_MAX\\b","line":"SYS_GID_MAX               499"}},{"type":"Class","title":"Profile::Puppet::Agent","tags":["class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"use_srv_records":false,"interval":30,"environment":"production","serialization_format":"pson","dns_alt_names":[],"facts_soft_limit":4096,"puppetmaster":"tools-puppetserver-01.tools.eqiad1.wikimedia.cloud","ca_server":"tools-puppetserver-01.tools.eqiad1.wikimedia.cloud","site_nearest_core":{"eqiad":"codfw","codfw":"eqiad","esams":"eqiad","ulsfo":"codfw","eqsin":"codfw","drmrs":"eqiad","magru":"eqiad"},"create_timer":true}},{"type":"Class","title":"Debian","tags":["class","debian"],"exported":false,"kind":"unknown"},{"type":"Apt::Pin","title":"puppet","tags":["apt::pin","apt","pin","puppet","class","profile::puppet::agent","profile","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":62,"exported":false,"kind":"defined_type","parameters":{"pin":"release l=Debian","priority":1003,"package":"puppet","ensure":"present"}},{"type":"Class","title":"Puppet::Agent","tags":["class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":76,"exported":false,"kind":"class","parameters":{"server":"tools-puppetserver-01.tools.eqiad1.wikimedia.cloud","ca_server":"tools-puppetserver-01.tools.eqiad1.wikimedia.cloud","use_srv_records":false,"srv_domain":"eqiad.wmnet","dns_alt_names":[],"environment":"production","certificate_revocation":"leaf","facts_soft_limit":4096,"serialization_format":"json"}},{"type":"Package","title":"puppet","tags":["package","puppet","class","puppet::agent","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":32,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"facter","tags":["package","facter","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":32,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"augeas-tools","tags":["package","augeas-tools","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":32,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"virt-what","tags":["package","virt-what","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":32,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"puppet-module-puppetlabs-augeas-core","tags":["package","puppet-module-puppetlabs-augeas-core","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":35,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/facter","tags":["file","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":37,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","mode":"0555","owner":"root","group":"root"}},{"type":"File","title":"/etc/facter/facter.conf","tags":["file","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":42,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0444","source":"puppet:///modules/puppet/facter.conf","owner":"root","group":"root"}},{"type":"File","title":"/etc/puppetlabs","tags":["file","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":48,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","force":true,"recurse":true,"mode":"0555","owner":"root","group":"root"}},{"type":"Concat","title":"/etc/puppet/puppet.conf","tags":["concat","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":55,"exported":false,"kind":"defined_type","parameters":{"owner":"root","group":"root","mode":"0444","ensure":"present","path":"/etc/puppet/puppet.conf","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"main","tags":["concat::fragment","concat","fragment","main","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/puppet/puppet.conf","order":"10","content":"#####################################################################\n##### THIS FILE IS MANAGED BY PUPPET\n#####  as template('base/puppet.conf.d/10-main.conf.erb')\n######################################################################\n\n[main]\nlogdir = /var/log/puppet\nvardir = /var/lib/puppet\nssldir = /var/lib/puppet/ssl\nrundir = /var/run/puppet\nfactpath = $vardir/lib/facter\ncertificate_revocation = leaf\n\n[agent]\nserver = tools-puppetserver-01.tools.eqiad1.wikimedia.cloud\nca_server = tools-puppetserver-01.tools.eqiad1.wikimedia.cloud\ndaemonize = false\nhttp_connect_timeout = 60\nhttp_read_timeout = 960\nusecacheonfailure = false\nsplay = true\npluginsync = true\nreport = true\nstringify_facts = false\npreferred_serialization_format = json\nenvironment = production\nnumber_of_facts_soft_limit = 4096\n"}},{"type":"Service","title":"puppet","tags":["service","puppet","class","puppet::agent","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet/manifests/agent.pp","line":68,"exported":false,"kind":"compilable_type","parameters":{"ensure":"stopped","enable":false}},{"type":"Class","title":"Puppet_statsd","tags":["class","puppet_statsd","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":87,"exported":false,"kind":"class"},{"type":"File","title":"/etc/puppet/statsd.yaml","tags":["file","class","puppet_statsd","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/puppet_statsd/manifests/init.pp","line":4,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Class","title":"Prometheus::Node_puppet_agent","tags":["class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":90,"exported":false,"kind":"class","parameters":{"ensure":"present","outfile":"/var/lib/prometheus/node.d/puppet_agent.prom","debug":false}},{"type":"Package","title":"python3-prometheus-client","tags":["package","python3-prometheus-client","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_puppet_agent.pp","line":15,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-yaml","tags":["package","python3-yaml","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_puppet_agent.pp","line":15,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/usr/local/bin/prometheus-puppet-agent-stats","tags":["file","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_puppet_agent.pp","line":17,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/prometheus/usr/local/bin/prometheus-puppet-agent-stats.py"}},{"type":"Systemd::Timer::Job","title":"prometheus_puppet_agent_stats","tags":["systemd::timer::job","systemd","timer","job","prometheus_puppet_agent_stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_puppet_agent.pp","line":26,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","description":"Regular job to collect puppet agent stats","user":"root","interval":{"start":"OnCalendar","interval":"minutely"},"command":"/usr/local/bin/prometheus-puppet-agent-stats --outfile /var/lib/prometheus/node.d/puppet_agent.prom","after":"puppet-agent-timer.service","require":"File[/var/lib/prometheus/node.d]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Systemd::Unit","title":"prometheus-puppet-agent-stats","tags":["systemd::unit","systemd","unit","prometheus-puppet-agent-stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_puppet_agent.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Service to collect puppet agent stats\nAfter=puppet-agent-timer.service\n\n[Service]\nUser=root\nType=oneshot\nExecStart=/usr/local/bin/prometheus-puppet-agent-stats --outfile /var/lib/prometheus/node.d/puppet_agent.prom\n\n[Install]\nWantedBy=puppet-agent-timer.service\n","require":["File[/var/lib/prometheus/node.d]","Class[Systemd]"],"unit":"prometheus-puppet-agent-stats","restart":false,"override":false,"override_filename":"puppet-override.conf"}},{"type":"Exec","title":"enable prometheus-puppet-agent-stats","tags":["exec","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_puppet_agent.pp","line":47,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl enable prometheus-puppet-agent-stats","unless":"/bin/systemctl -q is-enabled prometheus-puppet-agent-stats","require":"Systemd::Unit[prometheus-puppet-agent-stats]"}},{"type":"Class","title":"Profile::Puppet::Client_bucket","tags":["class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"ensure":"absent","file_age":14,"max_size":"100M"}},{"type":"File","title":"/var/lib/puppet/clientbucket","tags":["file","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/client_bucket.pp","line":8,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","mode":"0750","owner":"root","group":"root"}},{"type":"Systemd::Timer::Job","title":"clean_puppet_client_bucket","tags":["systemd::timer::job","systemd","timer","job","clean_puppet_client_bucket","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/client_bucket.pp","line":13,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","description":"Delete old files from the puppet client bucket","command":"/usr/bin/find /var/lib/puppet/clientbucket/ -type f -mtime +14 -atime +14 -delete","interval":{"start":"OnUnitInactiveSec","interval":"24h"},"logging_enabled":false,"monitoring_enabled":false,"user":"root","require":"File[/var/lib/puppet/clientbucket]","environment":{},"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Nrpe::Plugin","title":"check_client_bucket","tags":["nrpe::plugin","nrpe","plugin","check_client_bucket","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/client_bucket.pp","line":37,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"#!/bin/bash\nif [ -z \"$(/usr/bin/find /var/lib/puppet/clientbucket -type f -size +100M | head -c1)\" ]\nthen\n    printf \"OK: client bucket file ok\\n\"\n    exit 0\nfi\nprintf \"WARNING: large files in client bucket\\n\"\nexit 2\n"}},{"type":"Package","title":"ruby-net-ssh","tags":["package","ruby-net-ssh","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":93,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/var/lib/puppet","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":102,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","owner":"puppet","group":"puppet","mode":"0751"}},{"type":"File","title":"/usr/local/share/bash/puppet-common.sh","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/puppet-common.sh"}},{"type":"File","title":"/usr/local/sbin/puppet-run","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/puppet-run.sh"}},{"type":"File","title":"/usr/local/bin/puppet-enabled","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/puppet-enabled"}},{"type":"File","title":"/usr/local/sbin/disable-puppet","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0550","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/disable-puppet"}},{"type":"File","title":"/usr/local/sbin/enable-puppet","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0550","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/enable-puppet"}},{"type":"File","title":"/usr/local/sbin/run-puppet-agent","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0550","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/run-puppet-agent"}},{"type":"File","title":"/usr/local/sbin/run-no-puppet","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0550","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/run-no-puppet"}},{"type":"File","title":"/usr/local/sbin/locate-unmanaged","tags":["file","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0550","owner":"root","group":"root","source":"puppet:///modules/profile/puppet/bin/locate-unmanaged.py"}},{"type":"Systemd::Timer::Job","title":"puppet-agent-timer","tags":["systemd::timer::job","systemd","timer","job","puppet-agent-timer","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":145,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Run Puppet agent every 30 minutes","user":"root","ignore_errors":true,"command":"/usr/local/sbin/puppet-run","interval":[{"start":"OnCalendar","interval":"*:6/30:00"},{"start":"OnStartupSec","interval":"1min"}],"environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Logrotate::Rule","title":"puppet","tags":["logrotate::rule","logrotate","rule","puppet","class","profile::puppet::agent","profile","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":158,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","file_glob":"/var/log/puppet /var/log/puppet.log","frequency":"daily","compress":true,"missing_ok":true,"not_if_empty":true,"rotate":7,"post_rotate":["/usr/lib/rsyslog/rsyslog-rotate"],"date_yesterday":false,"copy_truncate":false,"date_ext":false,"no_create":false}},{"type":"Rsyslog::Conf","title":"puppet-agent","tags":["rsyslog::conf","rsyslog","conf","puppet-agent","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":169,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/profile/puppet/rsyslog.conf","priority":10,"require":"File[/etc/logrotate.d/puppet]","ensure":"present","mode":"0444"}},{"type":"Motd::Script","title":"last-puppet-run","tags":["motd::script","motd","script","last-puppet-run","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/puppet/agent.pp","line":174,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":97,"source":"puppet:///modules/profile/puppet/97-last-puppet-run"}},{"type":"Class","title":"Profile::Base::Certificates","tags":["class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"puppet_ca_content":{},"include_bundle_jks":false,"trusted_certs":{"bundle":"/etc/ssl/certs/wmf-ca-certificates.crt","certs":["/var/lib/puppet/ssl/certs/ca.pem"]},"puppetmaster_key":"tools-puppetserver-01.tools.eqiad1.wikimedia.cloud"}},{"type":"Class","title":"Sslcert","tags":["class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Package","title":"openssl","tags":["package","openssl","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":14,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ssl-cert","tags":["package","ssl-cert","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":14,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ca-certificates","tags":["package","ca-certificates","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":14,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Exec","title":"update-ca-certificates","tags":["exec","update-ca-certificates","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":16,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/update-ca-certificates","refreshonly":true,"require":"Package[ca-certificates]"}},{"type":"File","title":"/etc/ssl/localcerts","tags":["file","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":25,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"ssl-cert","mode":"0755","require":"Package[ssl-cert]"}},{"type":"File","title":"/etc/ssl/private","tags":["file","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":35,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"ssl-cert","mode":"0711","require":"Package[ssl-cert]"}},{"type":"File","title":"/usr/local/sbin/x509-bundle","tags":["file","class","sslcert","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/init.pp","line":44,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0755","source":"puppet:///modules/sslcert/x509-bundle.py"}},{"type":"Sslcert::Ca","title":"wmf_ca_2017_2020","tags":["sslcert::ca","sslcert","ca","wmf_ca_2017_2020","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":15,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/wmf_ca_2017_2020.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"RapidSSL_SHA256_CA_-_G3","tags":["sslcert::ca","sslcert","ca","rapidssl_sha256_ca_-_g3","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":18,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/RapidSSL_SHA256_CA_-_G3.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"DigiCert_High_Assurance_CA-3","tags":["sslcert::ca","sslcert","ca","digicert_high_assurance_ca-3","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/DigiCert_High_Assurance_CA-3.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"DigiCert_SHA2_High_Assurance_Server_CA","tags":["sslcert::ca","sslcert","ca","digicert_sha2_high_assurance_server_ca","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":24,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/DigiCert_SHA2_High_Assurance_Server_CA.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"DigiCert_TLS_RSA_SHA256_2020_CA1","tags":["sslcert::ca","sslcert","ca","digicert_tls_rsa_sha256_2020_ca1","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":27,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/DigiCert_TLS_RSA_SHA256_2020_CA1.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1","tags":["sslcert::ca","sslcert","ca","digicert_tls_hybrid_ecc_sha384_2020_ca1","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":30,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt","tags":["sslcert::ca","sslcert","ca","digicert_global_g2_tls_rsa_sha256_2020_ca1.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":33,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"GlobalSign_Organization_Validation_CA_-_SHA256_-_G2","tags":["sslcert::ca","sslcert","ca","globalsign_organization_validation_ca_-_sha256_-_g2","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":36,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/GlobalSign_Organization_Validation_CA_-_SHA256_-_G2.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"GlobalSign_RSA_OV_SSL_CA_2018.crt","tags":["sslcert::ca","sslcert","ca","globalsign_rsa_ov_ssl_ca_2018.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":39,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/GlobalSign_RSA_OV_SSL_CA_2018.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"GlobalSign_ECC_OV_SSL_CA_2018.crt","tags":["sslcert::ca","sslcert","ca","globalsign_ecc_ov_ssl_ca_2018.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":42,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/GlobalSign_ECC_OV_SSL_CA_2018.crt","ensure":"present"}},{"type":"Sslcert::Ca","title":"GlobalSign_ECC_Root_CA_R5_R3_Cross.crt","tags":["sslcert::ca","sslcert","ca","globalsign_ecc_root_ca_r5_r3_cross.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":47,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/ca/GlobalSign_ECC_Root_CA_R5_R3_Cross.crt","ensure":"present"}},{"type":"Class","title":"Sslcert::Trusted_ca","tags":["class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":51,"exported":false,"kind":"class","parameters":{"trusted_certs":{"bundle":"/etc/ssl/certs/wmf-ca-certificates.crt","certs":["/var/lib/puppet/ssl/certs/ca.pem"]},"include_bundle_jks":false,"ensure":"present","truststore_password":"changeit","owner":"root","group":"root"}},{"type":"Concat","title":"/etc/ssl/certs/wmf-ca-certificates.crt","tags":["concat","class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/trusted_ca.pp","line":30,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0644","notify":"Exec[generate trusted_ca]","path":"/etc/ssl/certs/wmf-ca-certificates.crt","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"File","title":"/etc/ssl/localcerts/ca.pem","tags":["file","class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/trusted_ca.pp","line":39,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Concat::Fragment","title":"ssl-ca-/var/lib/puppet/ssl/certs/ca.pem","tags":["concat::fragment","concat","fragment","class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/trusted_ca.pp","line":43,"exported":false,"kind":"defined_type","parameters":{"source":"/var/lib/puppet/ssl/certs/ca.pem","target":"/etc/ssl/certs/wmf-ca-certificates.crt","order":0,"notify":"Exec[generate trusted_ca]"}},{"type":"Exec","title":"generate trusted_ca","tags":["exec","class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/trusted_ca.pp","line":52,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/true","refreshonly":true}},{"type":"Sslcert::Ca","title":"Puppet_Internal_CA","tags":["sslcert::ca","sslcert","ca","puppet_internal_ca","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/certificates.pp","line":70,"exported":false,"kind":"defined_type","parameters":{"source":"/var/lib/puppet/ssl/certs/ca.pem","ensure":"present"}},{"type":"Class","title":"Profile::Apt","tags":["class","profile::apt","profile","apt","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"purge_sources":false,"purge_preferences":false,"use_proxy":false,"install_audit_installed":false,"mirror":"deb.debian.org","use_private_repo":false,"private_components":[],"before":["Package[puppet]","Package[facter]","Package[augeas-tools]","Package[virt-what]","Package[puppet-module-puppetlabs-augeas-core]","Package[python3-prometheus-client]","Package[python3-yaml]","Package[ruby-net-ssh]","Package[openssl]","Package[ssl-cert]","Package[ca-certificates]","Package[ntp]","Package[systemd-timesyncd]","Package[logrotate]","Package[prometheus-node-exporter]","Package[rsyslog]","Package[rsyslog-openssl]","Package[cadvisor]","Package[acct]","Package[byobu]","Package[colordiff]","Package[curl]","Package[debian-goodies]","Package[ethtool]","Package[gdb]","Package[gdisk]","Package[git]","Package[htop]","Package[httpry]","Package[iotop]","Package[iperf]","Package[jq]","Package[libtemplate-perl]","Package[lldpd]","Package[lshw]","Package[molly-guard]","Package[moreutils]","Package[net-tools]","Package[numactl]","Package[ncdu]","Package[ngrep]","Package[pigz]","Package[psmisc]","Package[pv]","Package[python3]","Package[screen]","Package[strace]","Package[sysstat]","Package[tcpdump]","Package[tmux]","Package[tree]","Package[vim]","Package[vim-addon-manager]","Package[vim-scripts]","Package[wipe]","Package[xfsprogs]","Package[zsh]","Package[icdiff]","Package[linux-perf]","Package[bsd-mailx]","Package[ack]","Package[netcat-openbsd]","Package[tshark]","Package[fzf]","Package[ripgrep]","Package[fd-find]","Package[kitty-terminfo]","Package[mtr-tiny]","Package[bat]","Package[efibootmgr]","Package[bind9-dnsutils]","Package[tzdata]","Package[python3-wmflib]","Package[ruby-sorted-set]","Package[btop]","Package[dstat]","Package[apport]","Package[command-not-found]","Package[command-not-found-data]","Package[ecryptfs-utils]","Package[mlocate]","Package[os-prober]","Package[python3-apport]","Package[wpasupplicant]","Package[apt-listchanges]","Package[libicu67]","Package[libwsutil12]","Package[libwireshark14]","Package[libopencsd0]","Package[libwiretap11]","Package[ruby2.7]","Package[python3.9-minimal]","Package[python3.9]","Package[perl-modules-5.32]","Package[libpython3.9]","Package[libperl5.32]","Package[libpython3.9-minimal]","Package[libpython3.9-stdlib]","Package[libidn11]","Package[libldap-2.4-2]","Package[liburing1]","Package[libwebp6]","Package[libcbor0]","Package[libusb-0.1-4]","Package[telnet]","Package[libruby2.7]","Package[libdns-export1110]","Package[libisc-export1105]","Package[libbpf0]","Package[openssh-client]","Package[python3-ldap]","Package[openssh-server]","Package[debdeploy-client]","Package[python3-dateutil]","Package[unattended-upgrades]","Package[python3-apt]","Package[python3-novaclient]","Package[python3-glanceclient]","Package[python3-keystoneauth1]","Package[python3-keystoneclient]","Package[python3-openstackclient]","Package[python3-designateclient]","Package[python3-neutronclient]","Package[python3-tenacity]","Package[python3-troveclient]","Package[python3-netaddr]","Package[isc-dhcp-client]","Package[cloud-init]","Package[sudo]","Package[ldap-utils]","Package[libpam-sss]","Package[libnss-sss]","Package[libsss-sudo]","Package[sssd]","Package[nscd]","Package[nslcd]","Package[sudo-ldap]","Package[libpam-ldapd]","Package[smartmontools]","Package[prometheus-rsyslog-exporter]","Package[initramfs-tools]","Package[libnet-dns-perl]","Package[iptables]","Package[ferm]","Package[ulogd2]","Package[conntrack]","Package[nano]","Package[cron]","Package[exim4-config]","Package[exim4-daemon-light]","Package[apache2]","Package[links]","Package[confd]","Package[python3-toml]","Package[python3-click]","Package[python3-box]"]}},{"type":"Class","title":"Apt","tags":["class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/apt.pp","line":12,"exported":false,"kind":"class","parameters":{"use_proxy":false,"purge_sources":false,"purge_preferences":false,"mirror":"deb.debian.org","install_audit_installed":false,"use_private_repo":false,"private_components":[]}},{"type":"Exec","title":"apt-get update","tags":["exec","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":17,"exported":false,"kind":"compilable_type","parameters":{"path":"/usr/bin","timeout":240,"returns":[0,100],"refreshonly":true}},{"type":"File","title":"/etc/apt/keyrings","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":25,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","mode":"0755","recurse":true,"purge":true,"owner":"root","group":"root"}},{"type":"File","title":"/var/lib/apt/keys","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":32,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","recurse":true,"purge":true,"force":true,"owner":"root","group":"root"}},{"type":"Apt::Pin","title":"wikimedia","tags":["apt::pin","apt","pin","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"package":"*","pin":"release o=Wikimedia","priority":1001,"ensure":"present"}},{"type":"File","title":"/etc/apt/sources.list","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":49,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Concat","title":"/etc/apt/sources.list.d/debian.sources","tags":["concat","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":53,"exported":false,"kind":"defined_type","parameters":{"mode":"0444","owner":"root","group":"root","require":"Apt::Repository[wikimedia]","ensure":"present","path":"/etc/apt/sources.list.d/debian.sources","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"/etc/apt/sources.list.d/debian.sources-header","tags":["concat::fragment","concat","fragment","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":59,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Apt::Repository","title":"debian","tags":["apt::repository","apt","repository","debian","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":64,"exported":false,"kind":"defined_type","parameters":{"uri":"http://deb.debian.org/debian","dist":"bookworm","components":"main contrib non-free non-free-firmware","concat_target":"/etc/apt/sources.list.d/debian.sources","keyfile_path":"/usr/share/keyrings/debian-archive-keyring.gpg","notify":"Exec[apt-get update]","bin":true,"source":true,"ensure":"present","trust_repo":false,"allow_releaseinfo_change":false}},{"type":"Apt::Repository","title":"debian-security","tags":["apt::repository","apt","repository","debian-security","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":72,"exported":false,"kind":"defined_type","parameters":{"uri":"http://security.debian.org/debian-security","dist":"bookworm-security","components":"main contrib non-free non-free-firmware","concat_target":"/etc/apt/sources.list.d/debian.sources","keyfile_path":"/usr/share/keyrings/debian-archive-keyring.gpg","notify":"Exec[apt-get update]","bin":true,"source":true,"ensure":"present","trust_repo":false,"allow_releaseinfo_change":false}},{"type":"Apt::Repository","title":"debian-updates","tags":["apt::repository","apt","repository","debian-updates","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":80,"exported":false,"kind":"defined_type","parameters":{"uri":"http://deb.debian.org/debian","dist":"bookworm-updates","components":"main contrib non-free non-free-firmware","keyfile_path":"/usr/share/keyrings/debian-archive-keyring.gpg","concat_target":"/etc/apt/sources.list.d/debian.sources","notify":"Exec[apt-get update]","bin":true,"source":true,"ensure":"present","trust_repo":false,"allow_releaseinfo_change":false}},{"type":"File","title":"/etc/apt/sources.list.d","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":101,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","recurse":false,"purge":false}},{"type":"File","title":"/etc/apt/preferences.d","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":109,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","recurse":false,"purge":false}},{"type":"Apt::Repository","title":"wikimedia","tags":["apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":156,"exported":false,"kind":"defined_type","parameters":{"uri":"http://apt.wikimedia.org/wikimedia","dist":"bookworm-wikimedia","components":"main","keyfile":"puppet:///modules/install_server/autoinstall/keyring/wikimedia-archive-keyring.gpg","bin":true,"source":true,"ensure":"present","trust_repo":false,"allow_releaseinfo_change":false}},{"type":"Apt::Repository","title":"wikimedia-private","tags":["apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":171,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","uri":"http://apt.wikimedia.org:8080","dist":"bookworm-wikimedia-private","components":"thirdparty/hwraid","keyfile":"puppet:///modules/install_server/autoinstall/keyring/wikimedia-archive-keyring.gpg","bin":true,"source":true,"trust_repo":false,"allow_releaseinfo_change":false}},{"type":"Apt::Repository","title":"debian-backports","tags":["apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":180,"exported":false,"kind":"defined_type","parameters":{"uri":"http://deb.debian.org/debian/","dist":"bookworm-backports","components":"main contrib non-free non-free-firmware","keyfile_path":"/usr/share/keyrings/debian-archive-keyring.gpg","bin":true,"source":true,"ensure":"present","trust_repo":false,"allow_releaseinfo_change":false}},{"type":"Apt::Repository","title":"debian-debug","tags":["apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":188,"exported":false,"kind":"defined_type","parameters":{"uri":"http://deb.debian.org/debian-debug","dist":"bookworm-debug","components":"main contrib non-free","source":false,"keyfile_path":"/usr/share/keyrings/debian-archive-keyring.gpg","bin":true,"ensure":"present","trust_repo":false,"allow_releaseinfo_change":false}},{"type":"Apt::Conf","title":"InstallRecommends","tags":["apt::conf","apt","conf","installrecommends","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":196,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"00","key":"APT::Install-Recommends","value":false,"before":"File[/etc/apt/apt.conf]"}},{"type":"Apt::Conf","title":"apt-harden","tags":["apt::conf","apt","conf","apt-harden","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":204,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"30","key":"APT::Sandbox::Seccomp","value":true,"before":"File[/etc/apt/apt.conf]"}},{"type":"File","title":"/etc/apt/apt.conf","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":215,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","notify":"Exec[apt-get update]","owner":"root","group":"root"}},{"type":"File","title":"/usr/local/sbin/dist-upgrade","tags":["file","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/init.pp","line":227,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0755","source":"puppet:///modules/apt/dist-upgrade.sh"}},{"type":"Class","title":"Profile::Systemd::Timesyncd","tags":["class","profile::systemd::timesyncd","profile","systemd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"ensure":"present","ntp_servers":["ntp-5.cloudinfra.eqiad1.wikimedia.cloud","ntp-6.cloudinfra.eqiad1.wikimedia.cloud"],"site_nearest_core":{"eqiad":"codfw","codfw":"eqiad","esams":"eqiad","ulsfo":"codfw","eqsin":"codfw","drmrs":"eqiad","magru":"eqiad"},"ntp_peers":{"eqiad":["ntp-5.cloudinfra.eqiad1.wikimedia.cloud","ntp-6.cloudinfra.eqiad1.wikimedia.cloud"],"codfw":[],"ulsfo":[],"eqsin":[],"drmrs":[],"esams":[]},"ntp_anycast_peers":["ntp-a.anycast.wmnet","ntp-b.anycast.wmnet","ntp-c.anycast.wmnet"]}},{"type":"Class","title":"Systemd::Timesyncd","tags":["class","systemd::timesyncd","systemd","timesyncd","profile::systemd::timesyncd","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/systemd/timesyncd.pp","line":19,"exported":false,"kind":"class","parameters":{"ensure":"present","ntp_servers":["ntp-5.cloudinfra.eqiad1.wikimedia.cloud","ntp-6.cloudinfra.eqiad1.wikimedia.cloud"]}},{"type":"Package","title":"ntp","tags":["package","ntp","class","systemd::timesyncd","systemd","timesyncd","profile::systemd::timesyncd","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timesyncd.pp","line":10,"kind":"compilable_type","exported":false,"parameters":{"ensure":"purged","provider":"apt"}},{"type":"Package","title":"systemd-timesyncd","tags":["package","systemd-timesyncd","class","systemd::timesyncd","systemd","timesyncd","profile::systemd::timesyncd","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timesyncd.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt","before":["File[/etc/systemd/timesyncd.conf]"]}},{"type":"File","title":"/etc/systemd/timesyncd.conf","tags":["file","class","systemd::timesyncd","systemd","timesyncd","profile::systemd::timesyncd","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timesyncd.pp","line":15,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0444","owner":"root","group":"root","content":"## THIS FILE IS MANAGED BY PUPPET\n\n[Time]\nServers=ntp-5.cloudinfra.eqiad1.wikimedia.cloud ntp-6.cloudinfra.eqiad1.wikimedia.cloud\n","notify":["Service[systemd-timesyncd]"]}},{"type":"Service","title":"systemd-timesyncd","tags":["service","systemd-timesyncd","class","systemd::timesyncd","systemd","timesyncd","profile::systemd::timesyncd","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timesyncd.pp","line":27,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","enable":true}},{"type":"Systemd::Unit","title":"systemd-timesyncd.service","tags":["systemd::unit","systemd","unit","systemd-timesyncd.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/systemd/timesyncd.pp","line":25,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Service]\nInaccessiblePaths=-/mnt\n","restart":true,"override":true,"unit":"systemd-timesyncd.service","override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Unit","title":"systemd-timedated.service","tags":["systemd::unit","systemd","unit","systemd-timedated.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/systemd/timesyncd.pp","line":31,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Service]\nInaccessiblePaths=-/mnt\n","restart":true,"override":true,"unit":"systemd-timedated.service","override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Profile::Auto_restarts::Service","title":"systemd-timesyncd","tags":["profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","systemd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/systemd/timesyncd.pp","line":37,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Class","title":"Grub::Defaults","tags":["class","grub::defaults","grub","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":59,"exported":false,"kind":"class"},{"type":"Class","title":"Grub","tags":["class","grub","grub::defaults","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Exec","title":"update-grub","tags":["exec","update-grub","class","grub","grub::defaults","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/grub/manifests/init.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"refreshonly":true,"path":"/bin:/usr/bin:/sbin:/usr/sbin"}},{"type":"Augeas","title":"grub2","tags":["augeas","grub2","class","grub::defaults","grub","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/grub/manifests/defaults.pp","line":17,"exported":false,"kind":"compilable_type","parameters":{"incl":"/etc/default/grub","lens":"Shellvars_list.lns","changes":["set GRUB_TERMINAL/quote '\"'","set GRUB_TERMINAL/value[1] console","set GRUB_TERMINAL/value[2] serial","rm GRUB_CMDLINE_LINUX_DEFAULT/value[. = \"quiet\"]","rm GRUB_CMDLINE_LINUX_DEFAULT/value[. = \"splash\"]"],"notify":"Exec[update-grub]"}},{"type":"Class","title":"Passwords::Root","tags":["class","passwords::root","passwords","root","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Network::Constants","tags":["class","network::constants","network","constants","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Profile::Resolving","tags":["class","profile::resolving","profile","resolving","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"timeout":1,"ndots":1,"attempts":3,"disable_resolvconf":true,"disable_dhcpupdates":true,"domain_search":["tools.eqiad1.wikimedia.cloud","tools.eqiad1.wikimedia.cloud"],"nameservers":["172.20.255.1"]}},{"type":"Class","title":"Resolvconf","tags":["class","resolvconf","profile::resolving","profile","resolving","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/resolving.pp","line":11,"exported":false,"kind":"class","parameters":{"domain_search":["tools.eqiad1.wikimedia.cloud","tools.eqiad1.wikimedia.cloud"],"nameservers":["172.20.255.1"],"timeout":1,"attempts":3,"ndots":1,"disable_resolvconf":true,"disable_dhcpupdates":true,"manage_resolv_conf":true}},{"type":"File","title":"/sbin/resolvconf","tags":["file","class","resolvconf","profile::resolving","profile","resolving","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/resolvconf/manifests/init.pp","line":23,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0555","source":"puppet:///modules/resolvconf/resolvconf.dummy"}},{"type":"File","title":"/etc/dhcp/dhclient-enter-hooks.d","tags":["file","class","resolvconf","profile::resolving","profile","resolving","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/resolvconf/manifests/init.pp","line":31,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root"}},{"type":"File","title":"/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate","tags":["file","class","resolvconf","profile::resolving","profile","resolving","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/resolvconf/manifests/init.pp","line":35,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0555","source":"puppet:///modules/resolvconf/nodnsupdate"}},{"type":"File","title":"/etc/resolv.conf","tags":["file","class","resolvconf","profile::resolving","profile","resolving","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/resolvconf/manifests/init.pp","line":48,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","content":"#####################################################################\n#### THIS FILE IS MANAGED BY PUPPET\n####  as template('resolvconf/resolv.conf.erb')\n#####################################################################\nsearch tools.eqiad1.wikimedia.cloud \noptions timeout:1 attempts:3 ndots:1\nnameserver 172.20.255.1\n"}},{"type":"Class","title":"Profile::Mail::Default_mail_relay","tags":["class","profile::mail::default_mail_relay","profile","mail","default_mail_relay","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"enabled":false,"template":"profile/mail/default_mail_relay/exim4.minimal.wmcs.erb","smarthosts":["mx-out-a.wmcloud.org","mx-out-b.wmcloud.org"],"mediawiki_smarthosts":[]}},{"type":"Class","title":"Profile::Logrotate","tags":["class","profile::logrotate","profile","logrotate","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"hourly":false}},{"type":"Class","title":"Logrotate","tags":["class","logrotate","profile::logrotate","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/logrotate.pp","line":7,"exported":false,"kind":"class","parameters":{"hourly":false}},{"type":"Package","title":"logrotate","tags":["package","logrotate","class","profile::logrotate","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/init.pp","line":7,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Systemd::Unit","title":"logrotate.timer:hourly-override","tags":["systemd::unit","systemd","unit","logrotate.timer:hourly-override","class","logrotate","profile::logrotate","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/init.pp","line":15,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","unit":"logrotate.timer","override":true,"content":"[Unit]\nDescription=Rotation of log files\n[Timer]\nOnCalendar=\nOnCalendar=hourly\n","restart":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Class","title":"Profile::Prometheus::Node_exporter","tags":["class","profile::prometheus::node_exporter","profile","prometheus","node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Prometheus::Node_exporter","tags":["class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"ignored_fs_types":"^(overlay|autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|nfs.*|nsfs|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$","collectors_extra":["processes"],"ignored_mount_points":"^/(sys|proc|dev|var/lib/docker/.+|var/lib/kubelet/.+|var/lib/containerd/.+|run/credentials)($|/)","netstat_fields":"^(.*)","vmstat_fields":"^(.*)","collector_ntp_server":"127.0.0.1","web_listen_address":":9100"}},{"type":"Package","title":"prometheus-node-exporter","tags":["package","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_exporter.pp","line":47,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"File","title":"/etc/default/prometheus-node-exporter","tags":["file","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_exporter.pp","line":54,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","mode":"0444","owner":"root","group":"root","content":"# Generated by Puppet -- do not modify\nARGS=\"--collector.buddyinfo \\\n --collector.conntrack \\\n --collector.diskstats \\\n --collector.edac \\\n --collector.entropy \\\n --collector.filefd \\\n --collector.filesystem \\\n --collector.filesystem.ignored-fs-types=^(overlay|autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|nfs.*|nsfs|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$ \\\n --collector.filesystem.ignored-mount-points=^/(sys|proc|dev|var/lib/docker/.+|var/lib/kubelet/.+|var/lib/containerd/.+|run/credentials)($|/) \\\n --collector.hwmon \\\n --collector.loadavg \\\n --collector.mdadm \\\n --collector.meminfo \\\n --collector.netdev \\\n --collector.netstat \\\n --collector.netstat.fields=^(.*) \\\n --collector.processes \\\n --collector.sockstat \\\n --collector.stat \\\n --collector.systemd.enable-restarts-metrics \\\n --collector.systemd.unit-exclude=.+\\.(automount|device|mount|scope|slice|target|timer) \\\n --collector.tcpstat \\\n --collector.textfile \\\n --collector.textfile.directory=/var/lib/prometheus/node.d \\\n --collector.time \\\n --collector.uname \\\n --collector.vmstat \\\n --collector.vmstat.fields=^(.*) \\\n --web.listen-address=:9100\"\n","notify":"Service[prometheus-node-exporter]"}},{"type":"Group","title":"prometheus-node-exporter","tags":["group","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_exporter.pp","line":66,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present"}},{"type":"File","title":"/var/lib/prometheus/node.d","tags":["file","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_exporter.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","mode":"0770","owner":"prometheus","group":"prometheus-node-exporter","require":["Package[prometheus-node-exporter]","Group[prometheus-node-exporter]"]}},{"type":"Base::Service_unit","title":"prometheus-node-exporter","tags":["base::service_unit","base","service_unit","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_exporter.pp","line":79,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","refresh":true,"systemd_override":"[Service]\nGroup=prometheus-node-exporter\n","require":"Package[prometheus-node-exporter]","declare_service":true,"mask":false,"service_params":{}}},{"type":"Profile::Auto_restarts::Service","title":"prometheus-node-exporter","tags":["profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_exporter.pp","line":86,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Class","title":"Profile::Rsyslog","tags":["class","profile::rsyslog","profile","rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"logrotate_source":"puppet:///modules/profile/rsyslog/logrotate.conf"}},{"type":"Class","title":"Rsyslog","tags":["class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/rsyslog.pp","line":7,"exported":false,"kind":"class"},{"type":"Package","title":"rsyslog","tags":["package","rsyslog","class","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":8,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/rsyslog.d","tags":["file","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":10,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","source":"puppet:///modules/rsyslog/rsyslog.d-empty","owner":"root","group":"root","mode":"0755","recurse":true,"purge":true,"force":true,"ignore":"50-default.conf","require":"Package[rsyslog]","notify":"Service[rsyslog]"}},{"type":"Service","title":"rsyslog","tags":["service","rsyslog","class","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","require":"Package[rsyslog]"}},{"type":"File","title":"/etc/rsyslog.d/00-abort-unclean-config.conf","tags":["file","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":29,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","notify":"Service[rsyslog]","owner":"root","group":"root"}},{"type":"Profile::Auto_restarts::Service","title":"rsyslog","tags":["profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":34,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Concat","title":"/etc/rsyslog.d/00-global.conf","tags":["concat","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":37,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","order":"alpha","notify":"Service[rsyslog]","path":"/etc/rsyslog.d/00-global.conf","warn":false,"show_diff":true,"backup":"puppet","replace":true,"ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"/etc/rsyslog.d/00-global.conf-header","tags":["concat::fragment","concat","fragment","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":45,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/rsyslog.d/00-global.conf","order":"000","content":"global(\n"}},{"type":"Concat::Fragment","title":"/etc/rsyslog.d/00-global.conf-trailer","tags":["concat::fragment","concat","fragment","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/init.pp","line":50,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/rsyslog.d/00-global.conf","order":"zzz","content":")\n"}},{"type":"Concat::Fragment","title":"/etc/rsyslog.d/00-global.conf-parser.permitSlashInProgramName","tags":["concat::fragment","concat","fragment","class"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/functions/global_entry.pp","line":9,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/rsyslog.d/00-global.conf","order":"parser.permitSlashInProgramName","content":"  parser.permitSlashInProgramName=\"on\"\n"}},{"type":"Logrotate::Conf","title":"rsyslog","tags":["logrotate::conf","logrotate","conf","rsyslog","class","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/rsyslog.pp","line":9,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/rsyslog/logrotate.conf"}},{"type":"Class","title":"Profile::Syslog::Remote","tags":["class","profile::syslog::remote","profile","syslog","remote","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"enable":true,"central_hosts_tls":{"default":["syslogaudit1.svc.eqiad1.wikimedia.cloud:6514","syslogaudit2.svc.eqiad1.wikimedia.cloud:6514"]},"send_logs":"auth-logs","queue_size":10000,"mtls_provider":"disabled","tls_server_auth":"x509/name","tls_netstream_driver":"ossl","tls_trusted_ca":"/etc/ssl/certs/ca-certificates.crt"}},{"type":"Package","title":"rsyslog-openssl","tags":["package","rsyslog-openssl","class","profile::syslog::remote","profile","syslog","remote","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/syslog/remote.pp","line":54,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/rsyslog","tags":["file","class","profile::syslog::remote","profile","syslog","remote","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/syslog/remote.pp","line":57,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0400"}},{"type":"Rsyslog::Conf","title":"remote_syslog","tags":["rsyslog::conf","rsyslog","conf","remote_syslog","class","profile::syslog::remote","profile","syslog","remote","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/syslog/remote.pp","line":86,"exported":false,"kind":"defined_type","parameters":{"content":"# NOTE: This file is managed by Puppet.\n\n$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-certificates.crt\n\n# By default, rsyslog will truncate programname[pid] to 32 characters.  This\n# is a problem if logging to logstash, because programname will not be\n# parseable.  This format template removes the 32 character limit.\n# See also: http://www.rsyslog.com/sende-messages-with-tags-larger-than-32-characters/\n\n$template LongTagForwardFormat,\"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\"\n\nif ($syslogfacility-text == 'auth' or\n    $syslogfacility-text == 'authpriv') then {\n\n  \n  action(type=\"omfwd\" name=\"fwd_syslogaudit1.svc.eqiad1.wikimedia.cloud:6514\" Target=\"syslogaudit1.svc.eqiad1.wikimedia.cloud\" Port=\"6514\"\n    StreamDriver=\"ossl\" StreamDriverAuthMode=\"x509/name\"\n    StreamDriverMode=\"1\" StreamDriverPermittedPeers=\"syslogaudit1.svc.eqiad1.wikimedia.cloud\"\n    Protocol=\"tcp\" template=\"LongTagForwardFormat\"\n    queue.type=\"LinkedList\" queue.size=\"10000\" queue.filename=\"syslogaudit1.svc.eqiad1.wikimedia.cloud:6514\"\n    queue.highWatermark=\"7000\" queue.lowWatermark=\"6000\"\n    queue.checkpointInterval=\"5\"\n    queue.maxDiskSpace=\"40960000\"\n    )\n\n  \n  action(type=\"omfwd\" name=\"fwd_syslogaudit2.svc.eqiad1.wikimedia.cloud:6514\" Target=\"syslogaudit2.svc.eqiad1.wikimedia.cloud\" Port=\"6514\"\n    StreamDriver=\"ossl\" StreamDriverAuthMode=\"x509/name\"\n    StreamDriverMode=\"1\" StreamDriverPermittedPeers=\"syslogaudit2.svc.eqiad1.wikimedia.cloud\"\n    Protocol=\"tcp\" template=\"LongTagForwardFormat\"\n    queue.type=\"LinkedList\" queue.size=\"10000\" queue.filename=\"syslogaudit2.svc.eqiad1.wikimedia.cloud:6514\"\n    queue.highWatermark=\"7000\" queue.lowWatermark=\"6000\"\n    queue.checkpointInterval=\"5\"\n    queue.maxDiskSpace=\"40960000\"\n    )\n}\n","priority":30,"ensure":"present","mode":"0444"}},{"type":"Class","title":"Profile::Prometheus::Rsyslog_exporter","tags":["class","profile::prometheus::rsyslog_exporter","profile","prometheus","rsyslog_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Prometheus::Rsyslog_exporter","title":"base","tags":["prometheus::rsyslog_exporter","prometheus","rsyslog_exporter","base","class","profile::prometheus::rsyslog_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/prometheus/rsyslog_exporter.pp","line":3,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","listen_address":"172.16.18.124","listen_port":9105}},{"type":"Class","title":"Profile::Prometheus::Cadvisor","tags":["class","profile::prometheus::cadvisor","profile","prometheus","cadvisor","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"ensure":"absent","metrics_enabled_extra":[]}},{"type":"Class","title":"Prometheus::Cadvisor","tags":["class","prometheus::cadvisor","prometheus","cadvisor","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/prometheus/cadvisor.pp","line":6,"exported":false,"kind":"class","parameters":{"port":4194,"ensure":"absent","metrics_enabled_extra":[],"listen_address":"172.16.18.124"}},{"type":"Package","title":"cadvisor","tags":["package","cadvisor","class","prometheus::cadvisor","prometheus","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/cadvisor.pp","line":27,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Systemd::Service","title":"cadvisor","tags":["systemd::service","systemd","service","cadvisor","class","prometheus::cadvisor","prometheus","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/cadvisor.pp","line":31,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"# Disable Docker to stop collecting extra labels/info T337856\n[Service]\nExecStart=\nExecStart=/usr/bin/cadvisor --listen_ip=172.16.18.124 --port=4194 --enable_metrics=app,cpu,disk,diskIO,memory,network,oom_event,perf_event --docker=/dev/null\n","override":true,"restart":true,"subscribe":"Package[cadvisor]","unit_type":"service","monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"Class","title":"Profile::Prometheus::Ethtool_exporter","tags":["class","profile::prometheus::ethtool_exporter","profile","prometheus","ethtool_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Base::Sysctl","tags":["class","base::sysctl","base","sysctl","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":114,"exported":false,"kind":"class","parameters":{"unprivileged_userns_clone":false,"default_rp_filter":1,"all_rp_filter":1}},{"type":"Sysctl::Parameters","title":"ubuntu defaults","tags":["sysctl::parameters","sysctl","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl.pp","line":11,"exported":false,"kind":"defined_type","parameters":{"values":{"kernel.printk":[4,4,1,7],"kernel.kptr_restrict":1,"net.ipv4.conf.default.rp_filter":1,"net.ipv4.conf.all.rp_filter":1,"net.ipv4.tcp_syncookies":1,"kernel.yama.ptrace_scope":1,"fs.protected_hardlinks":1,"fs.protected_symlinks":1,"vm.mmap_min_addr":65536},"priority":51,"ensure":"present","no_priority_prefix":false}},{"type":"Sysctl::Parameters","title":"wikimedia base","tags":["sysctl::parameters","sysctl","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"values":{"net.core.rmem_max":16777216,"net.core.wmem_max":16777216,"net.ipv4.tcp_rmem":[4096,87380,16777216],"net.ipv4.tcp_wmem":[4096,65536,16777216],"net.ipv4.tcp_no_metrics_save":1,"net.core.netdev_max_backlog":2500,"net.core.somaxconn":1024,"net.ipv4.tcp_max_syn_backlog":4096,"vm.swappiness":0,"net.ipv4.tcp_keepalive_time":300,"net.ipv4.tcp_keepalive_intvl":1,"net.ipv4.tcp_keepalive_probes":2,"net.ipv6.route.max_size":131072,"net.ipv4.tcp_challenge_ack_limit":987654321},"priority":60,"ensure":"present","no_priority_prefix":false}},{"type":"Sysctl::Parameters","title":"disable_unprivileged_bpf","tags":["sysctl::parameters","sysctl","parameters","disable_unprivileged_bpf","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl.pp","line":94,"exported":false,"kind":"defined_type","parameters":{"values":{"kernel.unprivileged_bpf_disabled":"1"},"ensure":"present","priority":70,"no_priority_prefix":false}},{"type":"Sysctl::Parameters","title":"unprivileged_userns_clone","tags":["sysctl::parameters","sysctl","parameters","unprivileged_userns_clone","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl.pp","line":105,"exported":false,"kind":"defined_type","parameters":{"values":{"kernel.unprivileged_userns_clone":"0"},"ensure":"present","priority":70,"no_priority_prefix":false}},{"type":"Sysctl::Parameters","title":"fastopen","tags":["sysctl::parameters","sysctl","parameters","fastopen","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl.pp","line":121,"exported":false,"kind":"defined_type","parameters":{"values":{"net.ipv4.tcp_fastopen_blackhole_timeout_sec":3600},"ensure":"present","priority":70,"no_priority_prefix":false}},{"type":"Sysctl::Parameters","title":"tcp_min_snd_mss","tags":["sysctl::parameters","sysctl","parameters","tcp_min_snd_mss","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl.pp","line":158,"exported":false,"kind":"defined_type","parameters":{"values":{"net.ipv4.route.min_pmtu":"576","net.ipv4.tcp_min_snd_mss":"536","net.ipv4.tcp_sack":1},"ensure":"present","priority":70,"no_priority_prefix":false}},{"type":"Class","title":"Motd","tags":["class","motd","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":120,"exported":false,"kind":"class","parameters":{"messages":{}}},{"type":"File","title":"/etc/motd","tags":["file","class","motd","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/init.pp","line":10,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/etc/update-motd.d","tags":["file","class","motd","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/init.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","recurse":true,"purge":true}},{"type":"Class","title":"Motd::Defaults","tags":["class","motd::defaults","motd","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Motd::Script","title":"header","tags":["motd::script","motd","script","header","class","motd::defaults","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/defaults.pp","line":12,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":0,"content":"#!/bin/sh\nuname -snrvm\nlsb_release -s -d\n\n"}},{"type":"Motd::Script","title":"footer","tags":["motd::script","motd","script","footer","class","motd::defaults","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/defaults.pp","line":19,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":99,"content":"#!/bin/sh\n[ -f /etc/motd.tail ] && cat /etc/motd.tail || true\n"}},{"type":"Motd::Script","title":"Check for restarts","tags":["motd::script","motd","script","class","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":122,"exported":false,"kind":"defined_type","parameters":{"priority":99,"source":"puppet:///modules/profile/motd/check_restarts.sh","ensure":"present"}},{"type":"Class","title":"Base::Standard_packages","tags":["class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":126,"exported":false,"kind":"class","parameters":{"remove_python2":true,"additional_purged_packages":[],"no_cron":true}},{"type":"Package","title":"acct","tags":["package","acct","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"byobu","tags":["package","byobu","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"colordiff","tags":["package","colordiff","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"curl","tags":["package","curl","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"debian-goodies","tags":["package","debian-goodies","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ethtool","tags":["package","ethtool","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"gdb","tags":["package","gdb","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"gdisk","tags":["package","gdisk","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"git","tags":["package","git","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"htop","tags":["package","htop","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"httpry","tags":["package","httpry","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"iotop","tags":["package","iotop","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"iperf","tags":["package","iperf","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"jq","tags":["package","jq","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"libtemplate-perl","tags":["package","libtemplate-perl","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"lldpd","tags":["package","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"lshw","tags":["package","lshw","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"molly-guard","tags":["package","molly-guard","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"moreutils","tags":["package","moreutils","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"net-tools","tags":["package","net-tools","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"numactl","tags":["package","numactl","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ncdu","tags":["package","ncdu","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ngrep","tags":["package","ngrep","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"pigz","tags":["package","pigz","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"psmisc","tags":["package","psmisc","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"pv","tags":["package","pv","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3","tags":["package","python3","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"screen","tags":["package","screen","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"strace","tags":["package","strace","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"sysstat","tags":["package","sysstat","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"tcpdump","tags":["package","tcpdump","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"tmux","tags":["package","tmux","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"tree","tags":["package","tree","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"vim","tags":["package","vim","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"vim-addon-manager","tags":["package","vim-addon-manager","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"vim-scripts","tags":["package","vim-scripts","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"wipe","tags":["package","wipe","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"xfsprogs","tags":["package","xfsprogs","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"zsh","tags":["package","zsh","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"icdiff","tags":["package","icdiff","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"linux-perf","tags":["package","linux-perf","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"bsd-mailx","tags":["package","bsd-mailx","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ack","tags":["package","ack","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"netcat-openbsd","tags":["package","netcat-openbsd","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"tshark","tags":["package","tshark","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"fzf","tags":["package","fzf","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ripgrep","tags":["package","ripgrep","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"fd-find","tags":["package","fd-find","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"kitty-terminfo","tags":["package","kitty-terminfo","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"mtr-tiny","tags":["package","mtr-tiny","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"bat","tags":["package","bat","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"efibootmgr","tags":["package","efibootmgr","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"bind9-dnsutils","tags":["package","bind9-dnsutils","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":11,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"tzdata","tags":["package","tzdata","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":20,"exported":false,"kind":"compilable_type","parameters":{"ensure":"latest","provider":"apt"}},{"type":"Package","title":"python3-wmflib","tags":["package","python3-wmflib","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":22,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ruby-sorted-set","tags":["package","ruby-sorted-set","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":32,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"btop","tags":["package","btop","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":38,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"dstat","tags":["package","dstat","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":55,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"apport","tags":["package","apport","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"command-not-found","tags":["package","command-not-found","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"command-not-found-data","tags":["package","command-not-found-data","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"ecryptfs-utils","tags":["package","ecryptfs-utils","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"mlocate","tags":["package","mlocate","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"os-prober","tags":["package","os-prober","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"python3-apport","tags":["package","python3-apport","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"wpasupplicant","tags":["package","wpasupplicant","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":59,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"apt-listchanges","tags":["package","apt-listchanges","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"purged","provider":"apt"}},{"type":"Package","title":"libicu67","tags":["package","libicu67","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libwsutil12","tags":["package","libwsutil12","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libwireshark14","tags":["package","libwireshark14","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libopencsd0","tags":["package","libopencsd0","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libwiretap11","tags":["package","libwiretap11","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"ruby2.7","tags":["package","ruby2.7","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"python3.9-minimal","tags":["package","python3.9-minimal","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"python3.9","tags":["package","python3.9","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"perl-modules-5.32","tags":["package","perl-modules-5.32","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libpython3.9","tags":["package","libpython3.9","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libperl5.32","tags":["package","libperl5.32","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libpython3.9-minimal","tags":["package","libpython3.9-minimal","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libpython3.9-stdlib","tags":["package","libpython3.9-stdlib","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libidn11","tags":["package","libidn11","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libldap-2.4-2","tags":["package","libldap-2.4-2","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"liburing1","tags":["package","liburing1","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libwebp6","tags":["package","libwebp6","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libcbor0","tags":["package","libcbor0","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libusb-0.1-4","tags":["package","libusb-0.1-4","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"telnet","tags":["package","telnet","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libruby2.7","tags":["package","libruby2.7","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libdns-export1110","tags":["package","libdns-export1110","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libisc-export1105","tags":["package","libisc-export1105","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"libbpf0","tags":["package","libbpf0","class","base::standard_packages","base","standard_packages","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Profile::Auto_restarts::Service","title":"lldpd","tags":["profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":140,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Profile::Auto_restarts::Service","title":"systemd-journald","tags":["profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/standard_packages.pp","line":155,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Class","title":"Profile::Environment","tags":["class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"ls_aliases":false,"export_systemd_env":true,"editor":"use_default","custom_skel_bashrc":"base/environment/skel/bashrc.erb","custom_skel_zshrc":"base/environment/skel/zshrc.erb","custom_bashrc":"base/environment/bash.bashrc.erb","wikimedia_domains":[],"no_proxy_domains":[],"skip_domains":[],"profile_scripts":{"field.sh":"puppet:///modules/base/environment/field.sh"},"variables":{}}},{"type":"File","title":"/etc/bash.bashrc","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":52,"exported":false,"kind":"compilable_type","parameters":{"content":"#####################################################################\n#### THIS FILE IS MANAGED BY PUPPET\n####  as template('base/environment/bash.bashrc')\n#####################################################################\n\n# System-wide .bashrc file for interactive bash(1) shells.\n\n# To enable the settings / commands in this file for login shells as well,\n# this file has to be sourced in /etc/profile.\n\n# If not running interactively, don't do anything\n[ -z \"$PS1\" ] && return\n\n# check the window size after each command and, if necessary,\n# update the values of LINES and COLUMNS.\nshopt -s checkwinsize\n\n# make the larger history file, record a timestamp\nHISTSIZE=1000\nHISTFILESIZE=4000\nHISTTIMEFORMAT='%F %T '\n\n\n# set variable identifying the chroot you work in (used in the prompt below)\nif [ -z \"$debian_chroot\" ] && [ -r /etc/debian_chroot ]; then\n    debian_chroot=$(cat /etc/debian_chroot)\nfi\n\n# set a fancy prompt (non-color, overwrite the one in /etc/profile)\n\n\nexport INSTANCENAME=tools-legacy-redirector-3\n\nPS1='${debian_chroot:+($debian_chroot)}\\u@\\h:\\w\\$ '\n\n\nexport INSTANCEPROJECT=tools\n\n\n# Commented out, don't overwrite xterm -T \"title\" -n \"icontitle\" by default.\n# If this is an xterm set the title to user@host:dir\n#case \"$TERM\" in\n#xterm*|rxvt*)\n#    PROMPT_COMMAND='echo -ne \"\\033]0;${USER}@${HOSTNAME}: ${PWD}\\007\"'\n#    ;;\n#*)\n#    ;;\n#esac\n\n# enable bash completion in interactive shells\n#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then\n#    . /etc/bash_completion\n#fi\n\n# sudo hint\nif [ ! -e \"$HOME/.sudo_as_admin_successful\" ]; then\n    case \" $(groups) \" in *\\ admin\\ *)\n    if [ -x /usr/bin/sudo ]; then\n\tcat <<-EOF\n\tTo run a command as administrator (user \"root\"), use \"sudo <command>\".\n\tSee \"man sudo_root\" for details.\n\t\n\tEOF\n    fi\n    esac\nfi\n\n# if the command-not-found package is installed, use it\nif [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found ]; then\n\tfunction command_not_found_handle {\n\t        # check because c-n-f could've been removed in the meantime\n                if [ -x /usr/lib/command-not-found ]; then\n\t\t   /usr/bin/python /usr/lib/command-not-found -- $1\n                   return $?\n                elif [ -x /usr/share/command-not-found ]; then\n\t\t   /usr/bin/python /usr/share/command-not-found -- $1\n                   return $?\n\t\telse\n\t\t   return 127\n\t\tfi\n\t}\nfi\n","owner":"root","group":"root","mode":"0644"}},{"type":"File","title":"/etc/skel/.bashrc","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":60,"exported":false,"kind":"compilable_type","parameters":{"content":"# ~/.bashrc: executed by bash(1) for non-login shells.\n# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)\n# for examples\n\n# If not running interactively, don't do anything\n[ -z \"$PS1\" ] && return\n\n# don't put duplicate lines in the history. See bash(1) for more options\n# ... or force ignoredups and ignorespace\nHISTCONTROL=ignoredups:ignorespace\n\n# append to the history file, don't overwrite it\nshopt -s histappend\n\n# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)\nHISTSIZE=1000\nHISTFILESIZE=2000\n\n# include timestamps in the history file\nHISTTIMEFORMAT='%F %T '\n\n# check the window size after each command and, if necessary,\n# update the values of LINES and COLUMNS.\nshopt -s checkwinsize\n\n# make less more friendly for non-text input files, see lesspipe(1)\n[ -x /usr/bin/lesspipe ] && eval \"$(SHELL=/bin/sh lesspipe)\"\n\n# set variable identifying the chroot you work in (used in the prompt below)\nif [ -z \"$debian_chroot\" ] && [ -r /etc/debian_chroot ]; then\n    debian_chroot=$(cat /etc/debian_chroot)\nfi\n\n# set a fancy prompt (non-color, unless we know we \"want\" color)\ncase \"$TERM\" in\n    xterm-color) color_prompt=yes;;\n    xterm-256color) color_prompt=yes;;\nesac\n\n# uncomment for a colored prompt, if the terminal has the capability; turned\n# off by default to not distract the user: the focus in a terminal window\n# should be on the output of commands, not on the prompt\n#force_color_prompt=yes\n\nif [ -n \"$force_color_prompt\" ]; then\n    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then\n\t# We have color support; assume it's compliant with Ecma-48\n\t# (ISO/IEC-6429). (Lack of such support is extremely rare, and such\n\t# a case would tend to support setf rather than setaf.)\n\tcolor_prompt=yes\n    else\n\tcolor_prompt=\n    fi\nfi\n\nif [ \"$color_prompt\" = yes ]; then\n    PS1='${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ '\nelse\n    PS1='${debian_chroot:+($debian_chroot)}\\u@\\h:\\w\\$ '\nfi\nunset color_prompt force_color_prompt\n\n# If this is an xterm set the title to user@host:dir\ncase \"$TERM\" in\nxterm*|rxvt*)\n    PS1=\"\\[\\e]0;${debian_chroot:+($debian_chroot)}\\u@\\h: \\w\\a\\]$PS1\"\n    ;;\n*)\n    ;;\nesac\n\n# enable color support of ls and also add handy aliases\nif [ -x /usr/bin/dircolors ]; then\n    test -r ~/.dircolors && eval \"$(dircolors -b ~/.dircolors)\" || eval \"$(dircolors -b)\"\n    alias ls='ls --color=auto'\n    #alias dir='dir --color=auto'\n    #alias vdir='vdir --color=auto'\n\n    alias grep='grep --color=auto'\n    alias fgrep='fgrep --color=auto'\n    alias egrep='egrep --color=auto'\nfi\n\n# some more ls aliases\nalias ll='ls -alF'\nalias la='ls -A'\nalias l='ls -CF'\n\n# Alias definitions.\n# You may want to put all your additions into a separate file like\n# ~/.bash_aliases, instead of adding them here directly.\n# See /usr/share/doc/bash-doc/examples in the bash-doc package.\n\nif [ -f ~/.bash_aliases ]; then\n    . ~/.bash_aliases\nfi\n\n# enable programmable completion features (you don't need to enable\n# this, if it's already enabled in /etc/bash.bashrc and /etc/profile\n# sources /etc/bash.bashrc).\nif [ -f /etc/bash_completion ] && ! shopt -oq posix; then\n    . /etc/bash_completion\nfi\n","owner":"root","group":"root","mode":"0644"}},{"type":"File","title":"/etc/skel/.zshrc","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":68,"exported":false,"kind":"compilable_type","parameters":{"content":"autoload -Uz promptinit\npromptinit\nautoload -Uz compinit\ncompinit\n\nbindkey -e\n\nPROMPT='%F{cyan}%m%f %F{green}%2~%f %(?.%F{green}.%F{red})%#%f '\nRPROMPT='[%F{yellow}%*%f]'\n\nsetopt histignorealldups sharehistory\n\n# Keep a jillion lines of history within the shell and save it to ~/.zsh_history:\nHISTSIZE=1000000\nSAVEHIST=1000000\nHISTFILE=~/.zsh_history\n\nsetopt appendhistory\nsetopt incappendhistory\nsetopt extended_history\nsetopt hist_expire_dups_first\nsetopt hist_ignore_space\n\n# slashes are words.\nWORDCHARS=${WORDCHARS/\\/}\n\n# Use modern completion system\nautoload -Uz compinit\ncompinit\n\neval \"$(dircolors -b)\"\nzstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}\nzstyle ':completion:*' list-colors ''\nzstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'\nzstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'\n\n### Functions imported from oh-my-ssh\n\n# ------------------------------------------------------------------------------\n# Description\n# -----------\n#\n# sudo or sudoedit will be inserted before the command\n#\n# ------------------------------------------------------------------------------\n# Authors\n# -------\n#\n# * Dongweiming <ciici123@gmail.com>\n#\n# ------------------------------------------------------------------------------\n\nsudo-command-line() {\n    [[ -z $BUFFER ]] && zle up-history\n    if [[ $BUFFER == sudo\\ * ]]; then\n        LBUFFER=\"${LBUFFER#sudo }\"\n    elif [[ $BUFFER == $EDITOR\\ * ]]; then\n        LBUFFER=\"${LBUFFER#$EDITOR }\"\n        LBUFFER=\"sudoedit $LBUFFER\"\n    elif [[ $BUFFER == sudoedit\\ * ]]; then\n        LBUFFER=\"${LBUFFER#sudoedit }\"\n        LBUFFER=\"$EDITOR $LBUFFER\"\n    else\n        LBUFFER=\"sudo $LBUFFER\"\n    fi\n}\nzle -N sudo-command-line\n# Defined shortcut keys: [Esc] [Esc]\nbindkey \"\\e\\e\" sudo-command-line\n\n# bind C-x C-e / C-x e to opening an editor for the current command\nautoload -U edit-command-line\nzle -N edit-command-line\nbindkey '^xe' edit-command-line\nbindkey '^x^e' edit-command-line\n","owner":"root","group":"root","mode":"0644"}},{"type":"File","title":"/etc/profile.d/field.sh","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":84,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/base/environment/field.sh"}},{"type":"File","title":"/etc/zsh/zshenv","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":94,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0444","require":"Package[zsh]","content":"# /etc/zsh/zshenv: system-wide .zshenv file for zsh(1).\n#\n# This file is sourced on all invocations of the shell.\n# If the -f flag is present or if the NO_RCS option is\n# set within this file, all other initialization files\n# are skipped.\n#\n# This file should contain commands to set the command\n# search path, plus other important environment variables.\n# This file should not contain commands that produce\n# output or assume the shell is attached to a tty.\n#\n# Global Order: zshenv, zprofile, zshrc, zlogin\n\nif [[ -z \"$PATH\" || \"$PATH\" == \"/bin:/usr/bin\" ]]\nthen\n    export PATH=\"/usr/local/bin:/usr/bin:/bin:/usr/games\"\nfi\nsystemd_vars=$(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator)\nif [ -n \"${systemd_vars}\" ]\nthen\n    export $systemd_vars\nfi\nfunction set-proxy {\n    export HTTP_PROXY=http://webproxy:8080\n    export HTTPS_PROXY=http://webproxy:8080\n    export http_proxy=http://webproxy:8080\n    export https_proxy=http://webproxy:8080\n    echo \"Proxy set\"\n}\nfunction unset-proxy {\n    unset HTTP_PROXY\n    unset HTTPS_PROXY\n    unset http_proxy\n    unset https_proxy\n    echo \"Proxy unset\"\n}"}},{"type":"File","title":"/etc/profile.d/systemd-environment.sh","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":102,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/profile/environment/systemd-environment.sh"}},{"type":"File","title":"/etc/wikimedia-cluster","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":117,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","content":"labs\n"}},{"type":"File","title":"/usr/local/bin/gen_fingerprints","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":125,"exported":false,"kind":"compilable_type","parameters":{"source":"puppet:///modules/base/environment/gen_fingerprints","owner":"root","group":"root","mode":"0555"}},{"type":"File","title":"/etc/vim/vimrc.local","tags":["file","class","profile::environment","profile","environment","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/environment.pp","line":133,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","source":"puppet:///modules/base/environment/vimrc.local","require":"Package[vim]"}},{"type":"Class","title":"Base::Sysctl::Core_dumps","tags":["class","base::sysctl::core_dumps","base","sysctl","core_dumps","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":133,"exported":false,"kind":"class","parameters":{"core_dump_pattern":"core"}},{"type":"File","title":"/var/tmp/core","tags":["file","class","base::sysctl::core_dumps","base","sysctl","core_dumps","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl/core_dumps.pp","line":4,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"1773"}},{"type":"Sysctl::Parameters","title":"core_dumps","tags":["sysctl::parameters","sysctl","parameters","core_dumps","class","base::sysctl::core_dumps","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl/core_dumps.pp","line":12,"exported":false,"kind":"defined_type","parameters":{"values":{"kernel.core_pattern":"core"},"require":"File[/var/tmp/core]","ensure":"present","priority":70,"no_priority_prefix":false}},{"type":"Tidy","title":"/var/tmp/core","tags":["tidy","class","base::sysctl::core_dumps","base","sysctl","core_dumps","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/sysctl/core_dumps.pp","line":19,"exported":false,"kind":"compilable_type","parameters":{"age":"1w","recurse":1,"matches":"core.*"}},{"type":"Class","title":"Profile::Ssh::Client","tags":["class","profile::ssh::client","profile","ssh","client","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"manage_ssh_keys":true,"manage_ssh_config":false,"hash_known_hosts":true,"gss_api_authentication":true,"gss_api_delegate_credentials":false,"send_env":["LANG","LC_*"],"extra_ssh_keys":{}}},{"type":"Class","title":"Ssh::Client","tags":["class","ssh::client","ssh","client","profile::ssh::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ssh/client.pp","line":23,"exported":false,"kind":"class","parameters":{"known_hosts":{},"manage_ssh_keys":true,"manage_ssh_config":false,"hash_known_hosts":true,"gss_api_authentication":true,"gss_api_delegate_credentials":false,"send_env":["LANG","LC_*"]}},{"type":"Package","title":"openssh-client","tags":["package","openssh-client","class","ssh::client","ssh","client","profile::ssh::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/client.pp","line":19,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/ssh","tags":["file","class","ssh::client","ssh","client","profile::ssh::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/client.pp","line":21,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"Class","title":"Profile::Ssh::Server","tags":["class","profile::ssh::server","profile","ssh","server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"listen_ports":[22],"listen_addresses":[],"permit_root":true,"authorized_keys_file":["/etc/ssh/userkeys/%u","/etc/ssh/userkeys/%u.d/cumin"],"lookup_keys_from_ldap":true,"explicit_macs":false,"enable_kerberos":false,"disable_agent_forwarding":true,"gateway_ports":false,"accept_env":["LANG","LC_*"],"match_config":[],"enabled_key_types":["rsa","ecdsa","ed25519"],"puppetserver_ca_host_certs":false,"trusted_user_ca_keys":[],"host_keys":{},"host_certs":{},"authorized_principals":[]}},{"type":"Package","title":"python3-ldap","tags":["package","python3-ldap","class","profile::ssh::server","profile","ssh","server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ssh/server.pp","line":47,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/usr/sbin/ssh-key-ldap-lookup","tags":["file","class","profile::ssh::server","profile","ssh","server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ssh/server.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0555","source":"puppet:///modules/profile/ssh/server/ssh-key-ldap-lookup.py"}},{"type":"User","title":"ssh-key-ldap-lookup","tags":["user","ssh-key-ldap-lookup","class","profile::ssh::server","profile","ssh","server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ssh/server.pp","line":63,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","system":true,"home":"/nonexistent","shell":"/bin/false"}},{"type":"Class","title":"Ssh::Server","tags":["class","ssh::server","ssh","server","profile::ssh::server","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ssh/server.pp","line":87,"exported":false,"kind":"class","parameters":{"listen_ports":[22],"listen_addresses":[],"permit_root":true,"authorized_keys_file":["/etc/ssh/userkeys/%u","/etc/ssh/userkeys/%u.d/cumin"],"explicit_macs":false,"enable_kerberos":false,"disable_agent_forwarding":true,"gateway_ports":false,"accept_env":["LANG","LC_*"],"match_config":[],"enabled_key_types":["rsa","ecdsa","ed25519"],"puppetserver_ca_host_certs":false,"trusted_user_ca_keys":[],"host_keys":{},"host_certs":{},"authorized_keys_command":"/usr/sbin/ssh-key-ldap-lookup","authorized_keys_command_user":"ssh-key-ldap-lookup"}},{"type":"Package","title":"openssh-server","tags":["package","openssh-server","class","ssh::server","ssh","server","profile::ssh::server","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/server.pp","line":123,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"Service","title":"ssh","tags":["service","ssh","class","ssh::server","server","profile::ssh::server","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/server.pp","line":127,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","subscribe":"File[/etc/ssh/sshd_config]"}},{"type":"Profile::Auto_restarts::Service","title":"ssh","tags":["profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/server.pp","line":132,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"File","title":"/etc/ssh/userkeys","tags":["file","class","ssh::server","ssh","server","profile::ssh::server","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/server.pp","line":134,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0444","recurse":true,"purge":true}},{"type":"File","title":"/run/sshd","tags":["file","class","ssh::server","ssh","server","profile::ssh::server","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/server.pp","line":146,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","mode":"0755","owner":"root","group":"root"}},{"type":"File","title":"/etc/ssh/sshd_config","tags":["file","class","ssh::server","ssh","server","profile::ssh::server","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/server.pp","line":189,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0444","content":"# This file is managed by puppet!\n# Package generated configuration file\n# See the sshd_config(5) manpage for details\n\n# What ports, IPs and protocols we listen for\nPort 22\n# Use these options to restrict which interfaces/protocols sshd will bind to\n#ListenAddress ::\n#ListenAddress 0.0.0.0\n# HostKeys for protocol version 2\nHostKey /etc/ssh/ssh_host_rsa_key\nHostKey /etc/ssh/ssh_host_ecdsa_key\nHostKey /etc/ssh/ssh_host_ed25519_key\n\n# Logging\nSyslogFacility AUTH\nLogLevel VERBOSE\n\n# Authentication:\nLoginGraceTime 120\nPermitRootLogin yes\n\n\nStrictModes yes\n\nCiphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr\n\nPubkeyAuthentication yes\nAuthorizedKeysFile\t/etc/ssh/userkeys/%u /etc/ssh/userkeys/%u.d/cumin\n\n# Don't read the user's ~/.rhosts and ~/.shosts files\nIgnoreRhosts yes\n\nHostbasedAuthentication no\nIgnoreUserKnownHosts yes\n\n# To enable empty passwords, change to yes (NOT RECOMMENDED)\nPermitEmptyPasswords no\n\nKbdInteractiveAuthentication no\n\n# Globally deny logon via password, only allow SSH-key login.\nPasswordAuthentication no\n\n# Don't allow people to forward their agents either.\nAllowAgentForwarding no\n\n# GSSAPIAuthentication off by default, GSSAPICleanupCredentials enabled by default\n\nX11DisplayOffset 10\nPrintMotd no\nPrintLastLog yes\nTCPKeepAlive yes\n\n\n#Banner /etc/issue.net\n\nAcceptEnv LANG LC_*\n\nSubsystem sftp /usr/lib/openssh/sftp-server\n\nUsePAM yes\n\nMatch user *,!root\n  AuthorizedKeysCommand /usr/sbin/ssh-key-ldap-lookup\n  AuthorizedKeysCommandUser ssh-key-ldap-lookup\n##\n## Anything below this point must start with a match declaration\n## or will only apply to the previous Matches above.\n##\n","validate_cmd":"/usr/sbin/sshd -t -f %","require":"Package[openssh-server]"}},{"type":"Class","title":"Base::Kernel","tags":["class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":141,"exported":false,"kind":"class","parameters":{"overlayfs":true}},{"type":"Kmod::Blacklist","title":"wmf_overlay","tags":["kmod::blacklist","kmod","blacklist","wmf_overlay","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/kernel.pp","line":19,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","modules":[],"rmmod":false}},{"type":"Kmod::Module","title":"overlay","tags":["kmod::module","kmod","module","overlay","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/kernel.pp","line":31,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Kmod::Blacklist","title":"wmf","tags":["kmod::blacklist","kmod","blacklist","wmf","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/kernel.pp","line":36,"exported":false,"kind":"defined_type","parameters":{"modules":["asn1_decoder","aufs","usbip-core","usbip-host","vhci-hcd","dccp","dccp_ipv6","dccp_ipv4","dccp_probe","dccp_diag","n_hdlc","intel_cstate","intel_rapl_perf","intel_uncore","macsec","parport","parport_pc","ppdev","acpi_power_meter","bluetooth","v4l2-common","floppy","cdrom","binder_linux","n_gsm","algif_aead"],"ensure":"present","rmmod":false}},{"type":"Kmod::Blacklist","title":"wmf-filesystems","tags":["kmod::blacklist","kmod","blacklist","wmf-filesystems","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/kernel.pp","line":68,"exported":false,"kind":"defined_type","parameters":{"modules":["btrfs","erofs","exfat","f2fs","hfs","hfsplus","jfs","jffs2","nilfs2","orangefs","squashfs"],"ensure":"present","rmmod":false}},{"type":"File","title":"/usr/local/bin/kernel-purge","tags":["file","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/kernel.pp","line":84,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0755","source":"puppet:///modules/base/kernel/kernel-purge.sh","owner":"root","group":"root"}},{"type":"Systemd::Timer::Job","title":"kernel-purge","tags":["systemd::timer::job","systemd","timer","job","kernel-purge","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/kernel.pp","line":90,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Purge unused kernels","user":"root","command":"/usr/local/bin/kernel-purge -p","interval":{"start":"OnCalendar","interval":"monthly"},"environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Class","title":"Profile::Debdeploy::Client","tags":["class","profile::debdeploy::client","profile","debdeploy","client","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"ensure":"present","exclude_mounts":[],"exclude_filesystems":["nfs","nfs4"],"filter_services":{"qemu-system-x86":["*"]}}},{"type":"Class","title":"Debdeploy::Client","tags":["class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/debdeploy/client.pp","line":8,"exported":false,"kind":"class","parameters":{"ensure":"present","exclude_mounts":[],"exclude_filesystems":["nfs","nfs4"],"filter_services":{"qemu-system-x86":["*"]}}},{"type":"Package","title":"debdeploy-client","tags":["package","debdeploy-client","class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/debdeploy/manifests/client.pp","line":46,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-dateutil","tags":["package","python3-dateutil","class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/debdeploy/manifests/client.pp","line":46,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/usr/local/bin/apt-upgrade-activity","tags":["file","class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/debdeploy/manifests/client.pp","line":52,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","source":"puppet:///modules/base/apt-upgrade-activity.py","owner":"root","group":"root","mode":"0555"}},{"type":"File","title":"/etc/debdeploy-client","tags":["file","class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/debdeploy/manifests/client.pp","line":62,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","recurse":true,"purge":true,"force":true,"owner":"root","group":"root"}},{"type":"File","title":"/etc/debdeploy-client/config.json","tags":["file","class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/debdeploy/manifests/client.pp","line":68,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","content":"{\n  \"exclude_mounts\": [\n\n  ],\n  \"exclude_filesystems\": [\n    \"nfs\",\n    \"nfs4\"\n  ],\n  \"filter_services\": {\n    \"qemu-system-x86\": [\n      \"*\"\n    ]\n  }\n}\n","owner":"root","group":"root"}},{"type":"File","title":"/etc/debdeploy-client/autorestarts.conf","tags":["file","class","debdeploy::client","debdeploy","client","profile::debdeploy::client","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/debdeploy/manifests/client.pp","line":73,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0544"}},{"type":"Class","title":"Base::Initramfs","tags":["class","base::initramfs","base","initramfs","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":148,"exported":false,"kind":"class","parameters":{"sleep":"5s"}},{"type":"Initramfs::Script","title":"mdadm-sleep","tags":["initramfs::script","initramfs","script","mdadm-sleep","class","base::initramfs","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/initramfs.pp","line":2,"exported":false,"kind":"defined_type","parameters":{"boot_stage":"init-premount","content":"#!/bin/sh\n#\n# Workaround for boot-time race condition assembling raid arrays:\n# https://phabricator.wikimedia.org/T131961\n#\n# This file is managed by Puppet.\n\necho \"Waiting 5s for disks to show up (T131961)\"\nsleep 5s\nexit 0\n"}},{"type":"Class","title":"Profile::Auto_restarts","tags":["class","profile::auto_restarts","profile","auto_restarts","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"with_debdeploy":false}},{"type":"File","title":"/usr/local/sbin/wmf-auto-restart","tags":["file","class","profile::auto_restarts","profile","auto_restarts","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts.pp","line":10,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/base/wmf-auto-restart.py","owner":"root","group":"root","mode":"0555"}},{"type":"Class","title":"Prometheus::Node_debian_version","tags":["class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":151,"exported":false,"kind":"class","parameters":{"ensure":"present","outfile":"/var/lib/prometheus/node.d/debian_version.prom"}},{"type":"File","title":"/usr/local/bin/prometheus-debian-version","tags":["file","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_debian_version.pp","line":12,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/prometheus/usr/local/bin/prometheus-debian-version.sh"}},{"type":"Systemd::Timer::Job","title":"prometheus-debian-version-textfile","tags":["systemd::timer::job","systemd","timer","job","prometheus-debian-version-textfile","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_debian_version.pp","line":20,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Update Debian version stat exported by node_exporter","command":"/usr/local/bin/prometheus-debian-version /var/lib/prometheus/node.d/debian_version.prom","user":"root","logging_enabled":false,"require":["File[/usr/local/bin/prometheus-debian-version]"],"interval":{"start":"OnUnitInactiveSec","interval":"300s"},"environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Class","title":"Prometheus::Node_dpkg_success","tags":["class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base.pp","line":152,"exported":false,"kind":"class","parameters":{"ensure":"present","outfile":"/var/lib/prometheus/node.d/dpkg.prom"}},{"type":"File","title":"/usr/local/bin/prometheus-dpkg-success","tags":["file","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_dpkg_success.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/prometheus/usr/local/bin/prometheus-dpkg-success.sh"}},{"type":"Systemd::Timer::Job","title":"prometheus-dpkg-success-textfile","tags":["systemd::timer::job","systemd","timer","job","prometheus-dpkg-success-textfile","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_dpkg_success.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Update dpkg status exported by node_exporter","command":"/usr/local/bin/prometheus-dpkg-success /var/lib/prometheus/node.d/dpkg.prom","user":"prometheus","logging_enabled":false,"require":["File[/usr/local/bin/prometheus-dpkg-success]"],"interval":{"start":"OnCalendar","interval":"*:00/30:00"},"splay":1800,"environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Class","title":"Apt::Unattendedupgrades","tags":["class","apt::unattendedupgrades","apt","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":16,"exported":false,"kind":"class","parameters":{"unattended_wmf":"present","unattended_distro":"present","unattended_osbpo":"present"}},{"type":"Package","title":"unattended-upgrades","tags":["package","unattended-upgrades","class","apt::unattendedupgrades","apt","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"File","title":"/etc/cron.daily/apt-show-versions","tags":["file","class","apt::unattendedupgrades","apt","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":18,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Package","title":"python3-apt","tags":["package","python3-apt","class","apt::unattendedupgrades","apt","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":22,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"Apt::Conf","title":"dpkg-force-confdef","tags":["apt::conf","apt","conf","dpkg-force-confdef","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":28,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"00","key":"Dpkg::Options::","value":"--force-confdef"}},{"type":"Apt::Conf","title":"dpkg-force-confold","tags":["apt::conf","apt","conf","dpkg-force-confold","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":37,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"00","key":"Dpkg::Options::","value":"--force-confold"}},{"type":"Apt::Conf","title":"auto-upgrades","tags":["apt::conf","apt","conf","auto-upgrades","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":44,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"20","key":"APT::Periodic::Unattended-Upgrade","value":"1"}},{"type":"Apt::Conf","title":"unattended-upgrades-updates","tags":["apt::conf","apt","conf","unattended-upgrades-updates","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":53,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"52","key":"Unattended-Upgrade::Origins-Pattern::","value":"origin=${distro_id},codename=${distro_codename}-updates"}},{"type":"Apt::Conf","title":"unattended-upgrades-wikimedia","tags":["apt::conf","apt","conf","unattended-upgrades-wikimedia","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":66,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"51","key":"Unattended-Upgrade::Origins-Pattern::","value":"origin=Wikimedia,codename=${distro_codename}-wikimedia"}},{"type":"Apt::Conf","title":"unattended-upgrades-osbpo","tags":["apt::conf","apt","conf","unattended-upgrades-osbpo","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":76,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"52","key":"Unattended-Upgrade::Origins-Pattern::","value":"origin=osbpo"}},{"type":"Apt::Conf","title":"apt-autoclean","tags":["apt::conf","apt","conf","apt-autoclean","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":85,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"52","key":"APT::Periodic::AutocleanInterval:","value":7}},{"type":"File","title":"/usr/local/sbin/report-pending-upgrades","tags":["file","class","apt::unattendedupgrades","apt","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":92,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/usr/local/sbin/apt-upgrade","tags":["file","class","apt::unattendedupgrades","apt","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/unattendedupgrades.pp","line":96,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0755","source":"puppet:///modules/apt/apt-upgrade.py","require":"Package[python3-apt]"}},{"type":"File","title":"/etc/default/acct","tags":["file","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/base/labs-acct.default"}},{"type":"File","title":"/etc/wikimedia","tags":["file","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root"}},{"type":"File","title":"/etc/default/nfs-common","tags":["file","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":41,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/base/labs/nfs-common.default"}},{"type":"File","title":"/usr/local/sbin/notify_maintainers.py","tags":["file","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":49,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0544","source":"puppet:///modules/base/labs/notify_maintainers.py","before":"File[/usr/local/sbin/puppet_alert.py]"}},{"type":"File","title":"/usr/local/sbin/puppet_alert.py","tags":["file","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":58,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0544","source":"puppet:///modules/base/labs/puppet_alert.py"}},{"type":"Systemd::Timer::Job","title":"send_puppet_failure_emails","tags":["systemd::timer::job","systemd","timer","job","send_puppet_failure_emails","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":71,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Send emails about Puppet failures","command":"/usr/local/sbin/puppet_alert.py","interval":{"start":"OnCalendar","interval":"*-*-* 08:15:00"},"logging_enabled":false,"user":"root","require":"File[/usr/local/sbin/puppet_alert.py]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Systemd::Timer::Job","title":"cleanup_puppet_client_bucket","tags":["systemd::timer::job","systemd","timer","job","cleanup_puppet_client_bucket","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/base/labs.pp","line":85,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","description":"Delete old files from the puppet client bucket","command":"/usr/bin/find /var/lib/puppet/clientbucket/ -type f -mtime +14 -atime +14 -delete","interval":{"start":"OnUnitInactiveSec","interval":"24h"},"logging_enabled":false,"monitoring_enabled":false,"user":"root","environment":{},"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Class","title":"Profile::Openstack::Eqiad1::Observerenv","tags":["class","profile::openstack::eqiad1::observerenv","profile","openstack","eqiad1","observerenv","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"region":"eqiad1-r","keystone_api_fqdn":"openstack.eqiad1.wikimediacloud.org","observer_password":"Fs6Dq2RtG8KwmM2Z"}},{"type":"Class","title":"Profile::Openstack::Base::Observerenv","tags":["class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/eqiad1/observerenv.pp","line":7,"exported":false,"kind":"class","parameters":{"region":"eqiad1-r","keystone_api_fqdn":"openstack.eqiad1.wikimediacloud.org","os_password":"Fs6Dq2RtG8KwmM2Z","os_user":"novaobserver","os_project":"observer"}},{"type":"File","title":"/root/.config","tags":["file","class"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/wmflib/functions/dir/mkdir_p.pp","line":71,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","mode":"0700","owner":"root","group":"root"}},{"type":"File","title":"/root/.config/openstack","tags":["file","class"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/wmflib/functions/dir/mkdir_p.pp","line":71,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","mode":"0700","owner":"root","group":"root"}},{"type":"Concat","title":"/root/.config/openstack/clouds.yaml","tags":["concat","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":15,"exported":false,"kind":"defined_type","parameters":{"mode":"0400","show_diff":false,"ensure":"present","path":"/root/.config/openstack/clouds.yaml","warn":false,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"root_clouds_file_header","tags":["concat::fragment","concat","fragment","root_clouds_file_header","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":20,"exported":false,"kind":"defined_type","parameters":{"target":"/root/.config/openstack/clouds.yaml","order":"01","content":"clouds:\n"}},{"type":"File","title":"/etc/openstack","tags":["file","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":27,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","mode":"0755","owner":"root","group":"root"}},{"type":"Concat","title":"/etc/openstack/clouds.yaml","tags":["concat","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"mode":"0444","show_diff":false,"ensure":"present","path":"/etc/openstack/clouds.yaml","warn":false,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"observer_clouds_file_header","tags":["concat::fragment","concat","fragment","observer_clouds_file_header","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":33,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/openstack/clouds.yaml","order":"01","content":"clouds:\n"}},{"type":"Openstack::Util::Envscript","title":"novaobserver","tags":["openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":39,"exported":false,"kind":"defined_type","parameters":{"region":"eqiad1-r","keystone_api_fqdn":"openstack.eqiad1.wikimediacloud.org","keystone_api_port":25000,"keystone_api_interface":"public","os_user":"novaobserver","os_password":"Fs6Dq2RtG8KwmM2Z","os_project":"observer","os_project_domain_id":"default","os_user_domain_id":"default","scriptpath":"/usr/local/bin/observerenv.sh","yaml_mode":"0444","clouds_files":["/etc/openstack/clouds.yaml","/root/.config/openstack/clouds.yaml"],"os_db_password":"","do_script":true}},{"type":"Openstack::Util::Envscript","title":"ossystemobserver","tags":["openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/observerenv.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"region":"eqiad1-r","keystone_api_fqdn":"openstack.eqiad1.wikimediacloud.org","keystone_api_port":25000,"keystone_api_interface":"public","os_user":"novaobserver","os_password":"Fs6Dq2RtG8KwmM2Z","os_project_domain_id":"default","os_user_domain_id":"default","scriptpath":"/usr/local/bin/osobserverenv.sh","yaml_mode":"0444","clouds_files":["/etc/openstack/clouds.yaml","/root/.config/openstack/clouds.yaml"],"os_system_scope":"all","os_db_password":"","do_script":true}},{"type":"Class","title":"Profile::Openstack::Eqiad1::Clientpackages::Vms","tags":["class","profile::openstack::eqiad1::clientpackages::vms","profile","openstack","eqiad1","clientpackages","vms","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Profile::Openstack::Base::Clientpackages::Vms","tags":["class","profile::openstack::base::clientpackages::vms","profile","openstack","base","clientpackages","vms","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/eqiad1/clientpackages/vms.pp","line":6,"exported":false,"kind":"class"},{"type":"Class","title":"Openstack::Clientpackages::Vms::Common","tags":["class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/base/clientpackages/vms.pp","line":5,"exported":false,"kind":"class"},{"type":"Package","title":"python3-novaclient","tags":["package","python3-novaclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-glanceclient","tags":["package","python3-glanceclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-keystoneauth1","tags":["package","python3-keystoneauth1","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-keystoneclient","tags":["package","python3-keystoneclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-openstackclient","tags":["package","python3-openstackclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-designateclient","tags":["package","python3-designateclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-neutronclient","tags":["package","python3-neutronclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-tenacity","tags":["package","python3-tenacity","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-troveclient","tags":["package","python3-troveclient","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-netaddr","tags":["package","python3-netaddr","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":20,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/usr/lib/python3/dist-packages/mwopenstackclients.py","tags":["file","class","openstack::clientpackages::vms::common","openstack","clientpackages","vms","common","profile::openstack::base::clientpackages::vms","profile","base","profile::openstack::eqiad1::clientpackages::vms","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/clientpackages/vms/common.pp","line":22,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/openstack/clientpackages/mwopenstackclients.py","mode":"0755","owner":"root","group":"root"}},{"type":"Class","title":"Profile::Openstack::Eqiad1::Cumin::Target","tags":["class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown","parameters":{"project_masters":["172.16.5.85"],"project_pub_key":"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO8as2dazxB8rDdZed/ee0prcEwOSpRJi22clMCCi7HG","cluster":"misc","site":"eqiad","cumin_masters":["172.16.1.220"],"permit_port_forwarding":false,"require":["Class[Network::Constants]"]}},{"type":"Class","title":"Cumin::Selector","tags":["class","cumin::selector","cumin","selector","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/eqiad1/cumin/target.pp","line":26,"exported":false,"kind":"class","parameters":{"cluster":"misc","site":"eqiad"}},{"type":"Ssh::Userkey","title":"root-cumin","tags":["ssh::userkey","ssh","userkey","root-cumin","class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/eqiad1/cumin/target.pp","line":35,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","skey":"cumin","content":"# Cumin Masters.\nfrom=\"172.16.1.220\",no-agent-forwarding,no-port-forwarding,no-x11-forwarding,no-user-rc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcav+ECiF6hW2XRuP7R8nqDw4hPlD0OChsGvB6K27jK root@cloudinfra-internal-puppetmaster-02\n\nfrom=\"172.16.5.85\",no-agent-forwarding,no-port-forwarding,no-x11-forwarding,no-user-rc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO8as2dazxB8rDdZed/ee0prcEwOSpRJi22clMCCi7HG\n"}},{"type":"Ferm::Conf","title":"cumin-project-defs","tags":["ferm::conf","ferm","conf","cumin-project-defs","class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/eqiad1/cumin/target.pp","line":43,"exported":false,"kind":"defined_type","parameters":{"content":"@def $CUMIN_MASTERS = (172.16.1.220 172.16.5.85);\n","prio":"01","ensure":"present"}},{"type":"File","title":"/usr/local/sbin/reboot-host","tags":["file","class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/openstack/eqiad1/cumin/target.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0550","source":"puppet:///modules/cumin/reboot-host"}},{"type":"Class","title":"Profile::Wmcs::Instance","tags":["class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"exported":false,"kind":"unknown","parameters":{"mount_nfs":false,"metricsinfra_prometheus_nodes":["metricsinfra-prometheus-2.metricsinfra.eqiad1.wikimedia.cloud","metricsinfra-prometheus-3.metricsinfra.eqiad1.wikimedia.cloud"],"root_extra_keys":{"bd808":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb8nsxA3thqd87nLu+1mA0Jc1KY90t5qW7N+jRQksc4NLzlFqBTrld+Qm2FRVbLm37HZ9TRBZb2nuTYJIZhkNU7rRPEKs3cIUbh1pB7BbYv0aJ3F0qBD6UtHqOUIJhqVNYJ/ssobzFh2QrcrOM3eS8PrIPtL/CQSUmKmUjG8zhCocAiQZDFeIQLSyGyCWVrRg14SPjED0+wIQTGoTtCabL4B5AlLcTf2L5ztDUtaoXDObUpDJ5Tw6VUUzDoUjV+Y5AtxK4erwLRHeFEcSzmWWl0Sruhnp/TzaF4vGijl6Wcyi2O9TClBhGmp7gTl4CtMj8MDDm+7NO3dQmQMseded1 bd808+labs@wmf-bd808-mbp01.local","lucaswerkmeister":"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGlea7OT1F2xmoBqc3rv7XXCAPlPG2PodtGhunbwd036 lucaswerkmeister@theoden"}}},{"type":"Package","title":"isc-dhcp-client","tags":["package","isc-dhcp-client","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":8,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"cloud-init","tags":["package","cloud-init","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":14,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Class","title":"Sudo","tags":["class","sudo","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":17,"exported":false,"kind":"class","parameters":{"purge_sudoers_d":false}},{"type":"Package","title":"sudo","tags":["package","sudo","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sudo/manifests/init.pp","line":7,"exported":false,"kind":"compilable_type","parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/sudoers","tags":["file","class","sudo","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sudo/manifests/init.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","mode":"0440","owner":"root","group":"root","source":"puppet:///modules/sudo/sudoers","require":"Package[sudo]","validate_cmd":"/usr/sbin/visudo -c -f %"}},{"type":"File","title":"/etc/sudoers.d","tags":["file","class","sudo","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sudo/manifests/init.pp","line":21,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","purge":false,"recurse":false}},{"type":"File","title":"/etc/sudoers.d/README","tags":["file","class","sudo","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sudo/manifests/init.pp","line":30,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Ssh::Userkey","title":"root","tags":["ssh::userkey","ssh","userkey","root","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":27,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# andrew\nssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApK6IC2VOrv0wvfmpf2gnoC0XnRX5R1lqb8gpdEhxzoKfDBG/56KDbsNXK8r2jqCJoaHjicDPQLsyjh00F4am62jzath0mC10iw2V/FhkmIZ3XP/43cmYrLBo9NAMxyYzX5pf6zwsmijkhPlbdUYe8Rd/4MWsFP9dOZ6l4d0mq3m/oEbcX5E27wAvwwDK6NJHRA5FCLLtCBKHVHa9yKAjtRJpv8uQ+9BiuEuLUGN5oAUWHtfsKY7FuaZq24rAwI3D2JAmgwI6Umv4zsv5uhwEIPBYyiMxrHb8li93vV/tPZlAHeOyId8mHfbUm5ZP+StuT0E1oG/y1O//yO4ph2c8kw== andrew@AndrewMacbook-5.local\n# ariel\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDcP8oXoJNHBmTowY1DlRWhK7N62sm3/9shxiRRSsdszLQ2erlYnyf+BTlIWsHMdZ07QjFJLGyLpt+KZxiYzS6ySUzRA4Ko/M6oziVM27woq7eOT7M6SvcbTXYoBc1IKz7ALl82duRKTakND8Vg3ZE0McMxopCa2EOx7CJlTjwNYRlu/wsfm6TbtmZ3fCKs+MnhIH+zn8SB0kejdAH1CFu971T7evZyB6AFH1+8n11JSX92VnNh4kV4Y6fHtDiFMivmWh8sI8XIVH6G1RLCwQp1I08VJ+C1kFDS/B1+C2q9akHt4ipcdlFFUX2q36Dw/AM5K5epN4ZUaWaQ4W9mRGR ariel@trouble.localdomain\n# bblack\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWW9uwYcsipz9usC1lypoB9c8ABd5AaSL1FcNWK4/FkInwlwEKRlaZXKHCY+g1vxhmKJgpr1qMnxgFf7msifCaVGrCk6gGy0wpsF8PJCrw+gKgWjjsxcp7p/BbHMxR13Ur+FNTMXq/eDburf6Namlu8BU6u677aJVjcpIpEH4IJvludSukOL12f2mmD+Hn3PljvqjLDg2APHcn/z2VKNEFAP8LCSXSFZWxoqn3oV3wlNXZgEsdP6Y4BZiNNLDpSyysMWFaE3Fr6vyQQTclj+gm9ZG8PUEvhO2Aa1O6bOojr6ZhFYjVRf9wr+4vs1M1GVjvFXr/k8XwXCf1R97S3mcl bb@neo-1\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCGhItrIJaWASfPf9rOdxixwgAAXYYJmmm0UOxcsTKzlls0EX/MMhDPrtm0iNX9l1IbKia6+OKDeSAdNoWVN56dqBXwRej/83vApawpAM1T9lBoWiCQXR2vwK96dp5EotStLW7iBgob57T7QpV2OPng4/G7q1PdRBOo8/vErD4tlxDiAhWDAXwRMypXfLPQePxaIv0vkpUQYsRB3vx7NX+rRpTtDDHz3Wm/37EeOqE3RqvLAfvOPUQ0739wgFUcYDDXNlD6C0sxMeZSUyKwWvAawIt+r4C6IgMVlt2l7J6CF5lUjmzJCL5DwtwF1Sw6xM0CEEaWbKPNQ44yv4kaPCKp bb@neo-2\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPwFMvPEqUCks63fD+0UjgPjoIfkqoECOiJ3Cl1PJMwLADldAMZEPBhwjyJT11sKP4bvCqcVb/HVooED1zmQmF1urSycopkMj02FMIXZRSfvOWA2evTHNPeNR+/7dvSGgRqYggI5r+8d7gRB1YNedRoHq9d+1lWv5TpZ+TKr1ns0DekiFHXP4JCRC2U8/QxAriMcRywrbQ9Wpib5UCDKjlg7YmP29K9g7XdTkczyQCCOFSqEk2qRw4/lm1IACZXh9PBxy0CW2LuiNkkij5TBWMc+KDBqWwpETfIGFdSE0yzX9nCH9IsADj9MyaIMxS+Vtc96zS9ZR2HaFMaWIGFB2h bb@neo-3\n# oblivian\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCf8yZc/+/LiiIXkweNACUDMYNezKpexv7W8d4xlUweCcnZeyVvdiVl/LoFySvf7G08shDXQrxhqnc9xA6ulGokfHLOjAoqEuwlVwA1Xjbyb7KSOA2PNLDG9kzQ36wQyaSIgSDZegA+3O1oi3Jp/oVfSaqN1zk+8/Jl1kUAsv5S2264lsQR1y34AHhL4txkn6lH4nxjBBl+nvspU/FPInsLrCprCvecR7OT5+kUJF4rEeiGqx1gu7Etd/4AQzb+csYXp3LKUYhW+6kxEhUbGhFRG+GYtwD5oYFwSR7CmqrYvthfaMmnG9JzvIJvGmEv9gIFAivNsodlJzR0ZZ1ya24UvEwpnHmgcPBgLI1tPGJT//p8P7Xd04KPHgbN1VG21s89gjNCvEErwR8lkTveFRBZ8I0D/ipVFP4fHcA+jx6Lit/krIcexZ3CN0Bfpr9rEiFOGMx081HvD6R3x2ZablNb3GA/lscUs3r18QdQDGazj2+4PkrgbCAl0pt52Pun9/uajQpfHEgkaO6CHMrdX9FR169D86ZDf3W7lV0SPjITDeHHFBFzzrVrju4xt01ybYsUiWaS+PZAeQEDgZ1156sH8RSm7/Oi18U++S/upN7csJfDwSwOss9ReJNn+tXMr+uEjnuIL+Z2v0oCfujAcJIauX5UpEt5oXlhK+8BClRzXQ== joe@wikimedia.org\n# filippo\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDt7HkyaZeIe7L8CuWE1+N47+wDT/4cUmEcrPA1xgdA4By/jesf+1oOTvusbIyXFuCssvspgGmwwNMD+PzNF3xAEo+Yn2aqH4OBhRiF0U8jeaJL1EhzKnT8KKG4fOzzerbKFlE5K9LnYhMXp2i6MoAN9xB3Z350dBwqhspf0OKqZ8AGbsc9RdcEr2pBT7RPRlcKXRTrd47keV+PUazpDVSr2MCdmErknROpcBh5IS27DrKHpma3UcNUGIeMsvsV6nyt8Tz2+EMGkd+P+whij0YzlKDkqB2ppoD+gCPAki277wobiocea79fvPm1/Na+tpXJT7gU+YErld4VRvUclyR/ fgiunchedi@wikimedia.org\n# gehel\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCex3gl0aBMD0eklv4jzNGjfZDjuffqinvaJ4j4lHfxA9YqcxyupxOpv/MRmb92sfOXsHY33RgfNTZ8dVFwMumbCLNMG53t+ugE0Cpg9X/Z7XvnASqW7+fMxUa7BjRGOIMANlJ77l0F2uDAh+6xdr2NjXk2kmRlS/whiz7E9hKa/Rrvs/pk5ocyYusxrBZlwA6a4PjvbE8majx5fB7266A0x8NWs2YDHJjHtTEx80y75bxo3mxw4LacLCSTNZDTeKVuMoglPR9u+2X0d3XtVpUkzHlcMjqg+AlU+AB116c8G1Vm2ha27e+v7yltE23mbkWGaN3izBrvPOv/B/ZVBRDV glederrey@wikimedia.org\n# bd808\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb8nsxA3thqd87nLu+1mA0Jc1KY90t5qW7N+jRQksc4NLzlFqBTrld+Qm2FRVbLm37HZ9TRBZb2nuTYJIZhkNU7rRPEKs3cIUbh1pB7BbYv0aJ3F0qBD6UtHqOUIJhqVNYJ/ssobzFh2QrcrOM3eS8PrIPtL/CQSUmKmUjG8zhCocAiQZDFeIQLSyGyCWVrRg14SPjED0+wIQTGoTtCabL4B5AlLcTf2L5ztDUtaoXDObUpDJ5Tw6VUUzDoUjV+Y5AtxK4erwLRHeFEcSzmWWl0Sruhnp/TzaF4vGijl6Wcyi2O9TClBhGmp7gTl4CtMj8MDDm+7NO3dQmQMseded1 bd808+labs@wmf-bd808-mbp01.local\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPMEDLnrPDVrPPfDHyrzse/UbZwqm9TYmvnPoTVl4Nzd bd808+wmcsroot@wmf-bd808-mbp02.local\n# herron\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHO09HkC/OUk+sWmDx0O15qiQXPHMM97zEC19o7tc8mh4vGTXCzbcIGj2Z18thLQZ9e2N5hzr2vmcQ4gOkiPsHEiIQXtIUK6zomSqrV3qFryaFAd2FCynsK2/xS1Lw7WXy+uCgjnsc8nckQS3rsJzQswucAQmXno65tvg/t+UbJOKZpxIofZAWwsCcZfhnNt65Mtt4PGHPy+STfL3E3aj47xHMk/TqZv7bj4QR++NLu2qpWwwnnG7SWgoqS3x/2m/OU8ui3UxKWEMvZouIZVblY50E0OG+Xs/bcndLhqKl0FSVPQVVWh9ZPJKCHXVoc1Ja3ZFFNcgBmuC/XqjnsDCGlcKWKiW0CbWRzGrJ0BCkydOf72cDB4EseGV3KeZLbxfEUVt1EOYuDEEmAXQVXTTBX3A5vyq9C1Bx1H7wSmzVUImZfw09236+Lzqr98SWV+pHOglSHgYfDq8CEJxjIo8oADmAoGu9uclOQJ/7Sp0XigUgUE44SPMRKUymwC9TTrblKtUR49gyoVHMtnH1blTUqNwFt5dcvLtHMKzDeXAlWILhdcDP7Ys+VBwOXsJ+txSLiktiI4+CKgz4XMY58jmSKPkbMBEQjzFDhujpsybUdswMEd2GcSidqw338MsCNTgDGlUPmB5LV4LQl7zh+hlHqCgfxNhIl9+zwIuw5IlnYQ==\n# volans\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJGEc35gnlkmFVNRpZPFpUD6BE0ztk81TiqKcJaaTWwG rcoccioli@wikimedia.org\n# dzahn\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeSUaBOLv3ObiOPJ+72mTfOXOdSrRnzRnCV6vrVDTu803v/UkISPw77NW7kASkVAJmndGBM2g4l0garvfCACf4kAULfM7qvtblLRcKCLWmqNycEbUCqVmBh794yJryjsdZ1I3yxEJ2BsN68/Gu5H+S2lbf2v/LDHCAFS6kcwonbdZiKc+KHoePW53LsGU4J9f4tV+a4+7Rxus015yZcwga2gC8zySDoJUqbKJ4roXkFtJxC2Iv2tld7vO6/C2jl5dt18hDmi14h8L4Qogju4Ew4orDqjc06ErFayIsu4sOnmKYhK8zc+2+bB4jQpGjOtyeOzapXJgbDoSA/nfRa+8N dzahn@wikimedia.org\n# krenair\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjyQjatHRgTqYDmKtdneyNM8ujhXx2eso3U2oFIqTsyBCH6Svn7BU/xAGfXjgWSh75h7SjwsUmXWE9eyE/BF1rypsOVC5Tjy56i7anul6f0ffGKgnMWN8gKlIdiQY4WTCi+3UQiv5vLXKsFAPLvPOQIrcWZKHARJzjx0M5lcHxC95TXn8e85S9ZCXdBNSgQfPQU2/0oVH0E2IsHbxcA/WJBxCUc1YNGxFUNk3O4JbBZX4QXFa8K9HMxoGMuhVHmiF/RHu06JJdaPt0bvHLfYoSvnvEoW6zM16wLQpVeS46ZH7ED+dgKC/DZ1Y9uL2Q6BkYeWI4hu8ojh1VpVOTihLl Alex Monk Cloud VPS root\n# reedy\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCrbx9PQlWVrvYAw280ypYulMffcIUJnAXTgU7fWCEWD/k91133TJ15u5KhT6Kx1tS3aE+6Vb/5LpCxsre16OuVLZUH5qj+klAymysYpp1tR1UNKLNN8jQT07juPeHvsjjkixxwKRQeyojLnb+JdgTv8j7KztrdgcisB0o5hbLDiHSsMrRvFCDbTfDEKZgbWVHbLWztwy22RwYXZJm5YTRiW8YpuqZ1/PMAARku9B8Grm18JUZ53HwfLSiEWPOKo6vAfTxQHWhUYn+PV63oNhgWOtzLowaJ3OuiSTHF9YDKEV/6yzgHECjVSG+TO2eBkE1FKyEtfcU54z0Ej5jS5iu+P/GVhZNrw2CddxkgASRHUDw1sjeAtFP1bfQoFp0fmdHPTIJ84YqRTX6mVCVuG61gCgjgw3LxEPNRD52eDlkhk1f73sn7fbZQJ8lzSWj59r0mDt2Ja4hRYPjyJy1gr3Br6mjEdvCgRG9IUe12vAGdhxJFYJVSaD3y7HJHS1j5cyBdPNlnjlmpUfotoriAli9m01+0BEpkix80t4KzCF/q0o8lLcFviHzinmlP2Lfa9VrqMERNBokCREof1Emiv2o5g8yHLZgx6tb4pnKaBFk9AnnxyxlcX0ZwwVwaHZE7CQpBz+FmKIukei/+m3IMXWLdW7oZs3HUoxmMgRqq8BnP+w== sam@reedyboy.net\n# dcaro\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDRLt5Ss9ykeA6uUfQdB+LeO80zqHND6FiG6aNZ79FaJwGSnVB0QdIvjZUbn6ubllLo/Xx0SfmWvbqp6HLwi5J5xZP21dkUAVDyWqHIbUvDwHrsxYhHw25OnkGE4i/uKzoT1LCCJHt8OF0tgcPLSQZwK9De4xVLgAmZrxWAUzPxLvHnTVsN6qOS6nRG3mgcol90Ny2F1lxIMrsbJEPd3Iso8l2GqCABIXatPPNjiqBel4mJ1VR88gx2vDg2Y8hJqeQ5EYFWincJENq8D812HnunkjKaej5VMK1vCq5H4Q+9UESBWQcT0qNfyRbzfaUuvgxrH0ZslT86yurejusxC8QV/stFzUSoPb7F+8bKkCJL7GmxjBGHOBZWh1Ez7fWys+lkA8Z/gIbq1mRuENkGFnxPazUykH+FV2dpc1x6FrMLpMf4yYKgvQzRTPFK/W9anAp/2CRrECIK21zG+pgARYWnXeWOhrfi5l0Glf5mgVBKmbSJhLPGzmVyfaPkdceLXNM= david@magnum\n# legoktm\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILmqXuFvgPkaqh6tvQZK1ytr1QlD6bOeUubu+590pln8 legoktm@dev\n# taavi\nsk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGKMx+9WZk90oPWb+hTrZuMAtT59FEhhIao44FWerlC+AAAABHNzaDo= taavi@runko wmcs yk1\nsk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIDOncihf8FADe8qnja41tv0naqemyOaevzNFZZxZF04xAAAABHNzaDo= taavi@runko wmcs yk2\n# cwhite\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCGUkHiLD7wRcTaDDOqTNwsTSuvmIAaBSggy7EXR/tQVhXPpRc91t/xl8nLtB4OBs9fG9R21HR4grjcSFxxSeFYguc5XDERtohLLIOu9nQcvYaYbRvOn2mh3y2Xonq2Jv/uHCZ1b76bp9fwA8rC/to5f6iOVz+ozSTEUwLVFr0310fXmgy7yt5QfXgT2iw4izEUv6n8aQFpUCojfzds58M2pw7vcuX2C/qVWX6MeF+n/SWTX4GNYk6CHfJ5dN+Kvq6d9KXk3xrsuE1y0cz7gUb1T0E8oMBxklTxvJgjFgBmjgkrV0w5bFUW66S0JNCW+Opw5wQVVTLxncCsvw6SrlRl6vMJoV5wId4uzEaJh4HCQrwkD+Uk7FwspexYkZvTsq2qTBr6l2UvL3GXxD01TcnKBgcsKtI4wciW6chGj/mxsQw8vFC0WFx/YrHa/0Ia3S5fpq/U1ZtmLuthgHW4Eg1TI2v2/DC9FJANwq9BBWodI4ODVbQ2K5VfAeSJdmIJ2PNjj+Asoc9Sa9pY6WKAhG/NH5Tf7DXlx8JLiHCYht+u7o/qvLDGcCguZW/+55vN3BD2Zl0xgTC86uE+/bCtMy5K3j8RYhxrjUkh67EwGYAgpTTEyUS/VBXxzsNJnlamPxvbU452YA/zPH8nWH5LfjLR6qzd+DPYwt9cO6QV6Vlxw== cwhite@wikimedia-org\n# fnegri\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDaTGwp3a7MKGiA+N0biMiwlREs4nMcmKZRNvxZfgywA6saIu5VazlFqZWCNVamTUgVuyLD7vsbqYghHEOVkaDZSvvA+W3TYSNiqi/xff/aGhT8eDH8i8IFaV4UQEPW+HwM4qZmdikCsgoFQKpK7DQFcqYqDSsf0TGRh/qyZPmfC4MqUUFkV42eZxwlRhHOubxgG888rRlbebcekDW+Nx6g8aZowOYho0CiLOJT+nc6onWLsRZHg63kq9Ee3TVrm/RyY31NIOCOxBHqZ//TWyTZqOL4zwjyID2FMrtyXcA1+oav7MZYdz3zAcTR4TdHMM8fNfZsbF/jFEihiuslXwHA3kUM969h3WOEMhY2Gi9keweGA9VIx7251HBuLCJXkMmLbjzHLzWn0AxI4i26RMBMQq0WI3Qm3fcu6ItsjoTn6NxQya+o/HcDgj31E9gfujNAezJmXnKcR7PV52hDKX+fLTz/NlfDZSIN9WcZ+rQecTHbEo7rOj4SKNqlYla4eCc= fnegri@wikimedia.org\n# tstarling\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gmwMhe6S4EualYJVcisxJ+kH/VQdqtV0j0OHdj3ZBGtCop50DzMwDaVj5Hc/H+yxOjghd8lOODg5t5TT+GcBCRkbYA0ICspkpWepjHLVdYK/Y+hm3+UcWZ3yJMn6gL01KxvMQtvWqfpoGANitocteMiUh6quJ7uhU2DDdbs2wvocpZ/EvTo2kJoQqP3snf9qwDOhr5oES031asV8TZG6Zn9AQDOyrrYaVaxabYKgAz9gQfHsIi+xGYLQHDxG7AULbHQfStZvYHhyuuJt9i45fb7z1k9oRCb3XBaICjyhBFgTRLTPtdcOU5yHDRbpIZBmhZhARE4diek6JN0XJDhl yubikey2\n# lucaswerkmeister\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGlea7OT1F2xmoBqc3rv7XXCAPlPG2PodtGhunbwd036 lucaswerkmeister@theoden\n","user":"root"}},{"type":"Sudo::Group","title":"ops","tags":["sudo::group","sudo","group","ops","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":32,"exported":false,"kind":"defined_type","parameters":{"privileges":["ALL=(ALL) NOPASSWD: ALL"],"ensure":"present","group":"ops","require":["Class[Sudo]"]}},{"type":"File","title":"/etc/sudoers.d/T205463-disable-sudo-password-prompts","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0440","content":"Defaults passwd_tries=0,lecture=\"never\"\n","validate_cmd":"/usr/sbin/visudo -cqf %","require":"Class[Sudo]"}},{"type":"Class","title":"Profile::Ldap::Client::Labs","tags":["class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":46,"exported":false,"kind":"class"},{"type":"Class","title":"Profile::Ldap::Client::Utils","tags":["class","profile::ldap::client::utils","profile","ldap","client","utils","profile::ldap::client::labs","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"exported":false,"kind":"unknown","parameters":{"labsldapconfig":{"proxypass":"Eche0ieng8UaNoo","script_user_pass":"ueThe7moh7Hah","hostname":"ldap-ro.eqiad.wikimedia.org"}}},{"type":"Class","title":"Ldap::Client::Config","tags":["class","ldap::client::config","ldap","client","config","profile::ldap::client::utils","profile","utils","profile::ldap::client::labs","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ldap/client/utils.pp","line":35,"exported":false,"kind":"class","parameters":{"servers":["ldap-ro.eqiad.wikimedia.org"],"base_dn":"dc=wikimedia,dc=org","proxy_pass":"Eche0ieng8UaNoo"}},{"type":"File","title":"/etc/ldap","tags":["file","class","ldap::client::config","ldap","client","config","profile::ldap::client::utils","profile","utils","profile::ldap::client::labs","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/config.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"File","title":"/etc/ldap/ldap.conf","tags":["file","class","ldap::client::config","ldap","client","config","profile::ldap::client::utils","profile","utils","profile::ldap::client::labs","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/config.pp","line":18,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","content":"\nBASE            dc=wikimedia,dc=org\nURI             ldap://ldap-ro.eqiad.wikimedia.org:389\n# The next settings are not honored by OpenLDAP but are honored by sudo-ldap and /etc/sudo-ldap.conf is a symlink to /etc/ldap/ldap.conf\nBINDDN          cn=proxyagent,ou=profile,dc=wikimedia,dc=org\nBINDPW          Eche0ieng8UaNoo\n\nSSL             start_tls\nTLS_CHECKPEER   yes\nTLS_REQCERT     demand\nTLS_CACERTDIR   /etc/ssl/certs\nTLS_CACERTFILE  /etc/ssl/certs/ca-certificates.crt\nTLS_CACERT      /etc/ssl/certs/ca-certificates.crt\n"}},{"type":"Package","title":"ldap-utils","tags":["package","ldap-utils","class","profile::ldap::client::utils","profile","ldap","client","utils","profile::ldap::client::labs","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ldap/client/utils.pp","line":41,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Security::Access::Config","title":"labs-local","tags":["security::access::config","security","access","config","labs-local","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ldap/client/labs.pp","line":13,"exported":false,"kind":"defined_type","parameters":{"content":"+:ALL:LOCAL\n","priority":0,"ensure":"present"}},{"type":"Security::Access::Config","title":"labs-restrict-to-project","tags":["security::access::config","security","access","config","labs-restrict-to-project","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ldap/client/labs.pp","line":48,"exported":false,"kind":"defined_type","parameters":{"content":"-:ALL EXCEPT (project-tools) root:ALL\n","priority":99,"ensure":"present"}},{"type":"Class","title":"Ldap::Client::Sssd","tags":["class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ldap/client/labs.pp","line":54,"exported":false,"kind":"class","parameters":{"servers":["ldap-ro.eqiad.wikimedia.org"],"base_dn":"dc=wikimedia,dc=org","proxy_pass":"Eche0ieng8UaNoo","sudo_base_dn":"ou=sudoers,cn=tools,ou=projects,dc=wikimedia,dc=org","page_size":2000,"ca_file":"ca-certificates.crt"}},{"type":"File","title":"/etc/ldap.yaml","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":22,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","content":"---\nservers:\n- ldap-ro.eqiad.wikimedia.org\nbasedn: dc=wikimedia,dc=org\nuser: cn=proxyagent,ou=profile,dc=wikimedia,dc=org\npassword: Eche0ieng8UaNoo\n","owner":"root","group":"root"}},{"type":"Exec","title":"pam-auth-enable-mkhomedir","tags":["exec","pam-auth-enable-mkhomedir","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":44,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/pam-auth-update --force --enable mkhomedir","unless":"/bin/grep pam_mkhomedir.so /etc/pam.d/common-session","require":["Package[sssd]","Package[libpam-sss]"]}},{"type":"Package","title":"libpam-sss","tags":["package","libpam-sss","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"Package","title":"libnss-sss","tags":["package","libnss-sss","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"Package","title":"libsss-sudo","tags":["package","libsss-sudo","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"Package","title":"sssd","tags":["package","sssd","class","ldap::client::sssd","ldap","client","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"File","title":"/etc/nsswitch.conf","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":54,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"passwd:         files sss\ngroup:          files sss\nshadow:         files sss\n\nhosts:          files dns\nnetworks:       files\n\nprotocols:      db files\nservices:       db files sss\nethers:         db files\nrpc:            db files\n\nnetgroup:       sss\nsudoers:        files sss\nautomount:      files sss\n","owner":"root","group":"root"}},{"type":"File","title":"/etc/sssd/sssd.conf","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":68,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0600","content":"[sssd]\n#debug_level=10\ndomains = wikimedia.org\ndefault_domain_suffix = wikimedia.org\nfull_name_format = %1$s\nconfig_file_version = 2\ntimeout = 30\n\n[sudo]\n#debug_level=10\ntimeout = 30\n\n[nss]\n#debug_level=10\nfilter_groups = root\nfilter_users = root\ntimeout = 30\n\n[pam]\n#debug_level=10\n# default to 0 days (no expiration)\noffline_credentials_expiration = 1\ntimeout = 30\n\n[ssh]\n#debug_level=10\ntimeout = 30\n\n[be]\ntimeout = 30\n\n[domain/wikimedia.org]\n#debug_level=10\nid_provider = ldap\nauth_provider = ldap\nldap_uri = ldap://ldap-ro.eqiad.wikimedia.org:389 , \nldap_default_bind_dn = cn=proxyagent,ou=profile,dc=wikimedia,dc=org\nldap_default_authtok = Eche0ieng8UaNoo\nldap_search_base = dc=wikimedia,dc=org\nldap_tls_reqcert = demand\nldap_id_use_start_tls = False\nldap_tls_cacertdir = /etc/openldap/cacerts\nldap_schema = rfc2307bis\nuse_fully_qualified_names = True\nldap_page_size = 2000\n# https://linux.die.net/man/5/sudoers.ldap\nsudo_provider = ldap\nldap_sudo_search_base = ou=sudoers,cn=tools,ou=projects,dc=wikimedia,dc=org\n# disable stuff not provided by LDAP (value of id_provider is used by default)\nselinux_provider = none\nautofs_provider = none\nsubdomains_provider = none\nhostid_provider = none\nldap_referrals = false\n#\n# cache options\n#\n# default to false, but make it explicit\ncache_credentials = False\n# default to false, but make it explicit\nenumerate = False\n# these next 2 are carried over from nscd\nentry_cache_user_timeout = 3600\nentry_cache_group_timeout = 300\n# sudo rules cache\nentry_cache_sudo_timeout = 3600\n## 5 minutes because new tools won't work until new sudoer rules are seen\n## Should stay in sync with entry_cache_group_timeout which is related\nldap_sudo_smart_refresh_interval = 300\nldap_sudo_full_refresh_interval = 5400\n# 5400 seconds (90 mins) is the default, but make it explicit\nentry_cache_timeout = 5400\nentry_cache_ssh_host_timeout = 5400\n# 1 day max time accounts can be in cache, default is 0 days (unlimited)\naccount_cache_expiration = 1\ntimeout = 30\n","notify":["Service[sssd]","Service[sssd-nss]","Service[sssd-pam]","Service[sssd-ssh]","Service[sssd-sudo]"],"require":"Package[sssd]"}},{"type":"Service","title":"sssd-nss","tags":["service","sssd-nss","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":82,"exported":false,"kind":"compilable_type"},{"type":"Service","title":"sssd-nss.socket","tags":["service","sssd-nss.socket","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":85,"exported":false,"kind":"compilable_type","parameters":{"enable":true}},{"type":"Service","title":"sssd-pam","tags":["service","sssd-pam","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":82,"exported":false,"kind":"compilable_type"},{"type":"Service","title":"sssd-pam.socket","tags":["service","sssd-pam.socket","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":85,"exported":false,"kind":"compilable_type","parameters":{"enable":true}},{"type":"Service","title":"sssd-ssh","tags":["service","sssd-ssh","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":82,"exported":false,"kind":"compilable_type"},{"type":"Service","title":"sssd-ssh.socket","tags":["service","sssd-ssh.socket","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":85,"exported":false,"kind":"compilable_type","parameters":{"enable":true}},{"type":"Service","title":"sssd-sudo","tags":["service","sssd-sudo","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":82,"exported":false,"kind":"compilable_type"},{"type":"Service","title":"sssd-sudo.socket","tags":["service","sssd-sudo.socket","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":85,"exported":false,"kind":"compilable_type","parameters":{"enable":true}},{"type":"Systemd::Override","title":"sssd-nss-auto-restart","tags":["systemd::override","systemd","override","sssd-nss-auto-restart","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":90,"exported":false,"kind":"defined_type","parameters":{"unit":"sssd-nss.service","source":"puppet:///modules/ldap/client/sssd/sssd-nss-auto-restart.override.service","ensure":"present","restart":false}},{"type":"Service","title":"sssd","tags":["service","sssd","class","ldap::client::sssd","ldap","client","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":95,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running"}},{"type":"File","title":"/etc/ldap.conf","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":99,"exported":false,"kind":"compilable_type","parameters":{"content":"uri             ldap://ldap-ro.eqiad.wikimedia.org:389 \nbase            dc=wikimedia,dc=org\nbinddn          cn=proxyagent,ou=profile,dc=wikimedia,dc=org\nbindpw          Eche0ieng8UaNoo\npam_filter      objectclass=posixAccount\nnss_base_passwd ou=people,dc=wikimedia,dc=org\nnss_base_shadow ou=people,dc=wikimedia,dc=org\nnss_base_group  ou=groups,dc=wikimedia,dc=org\nnss_base_hosts  ou=hosts,dc=wikimedia,dc=org\nnss_base_netgroup     ou=netgroup,dc=wikimedia,dc=org\nnss_schema      rfc2307bis\nnss_map_attribute   uniquemember member\nnss_map_objectclass groupofuniquenames groupofnames\ntls_checkpeer   yes\ntls_cacertfile  /etc/ssl/certs/ca-certificates.crt\ntls_cacertdir   /etc/ssl/certs\nssl             start_tls\npam_password    clear\n","owner":"root","group":"root"}},{"type":"Package","title":"nscd","tags":["package","nscd","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":111,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"nslcd","tags":["package","nslcd","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":111,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"Package","title":"sudo-ldap","tags":["package","sudo-ldap","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":111,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"File","title":"/etc/nscd.conf","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":121,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/etc/nslcd.conf","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":121,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/etc/sudo-ldap.conf","tags":["file","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ldap/manifests/client/sssd.pp","line":121,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Package","title":"libpam-ldapd","tags":["package","libpam-ldapd","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/ldap/client/labs.pp","line":68,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","provider":"apt"}},{"type":"File","title":"/etc/wmcs-instancename","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":48,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","content":"tools-legacy-redirector-3\n"}},{"type":"File","title":"/etc/wmcs-project","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":54,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","content":"tools\n"}},{"type":"File","title":"/etc/mailname","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":81,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud\n","owner":"root","group":"root","mode":"0444"}},{"type":"Exec","title":"enable_sites_local","tags":["exec","enable_sites_local","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":113,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/mkdir -m0755 /etc/apache2/sites-local && \\\n                    /usr/bin/touch /etc/apache2/sites-local/dummy.conf && \\\n                    /bin/echo \"Include sites-local/*\" >> /etc/apache2/apache2.conf","onlyif":"/usr/bin/test -e /etc/apache2/apache2.conf -a ! -d /etc/apache2/sites-local"}},{"type":"Class","title":"Prometheus::Node_ssh_open_sessions","tags":["class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":120,"exported":false,"kind":"class","parameters":{"ensure":"present","outfile":"/var/lib/prometheus/node.d/ssh_open_sessions.prom"}},{"type":"File","title":"/usr/local/bin/prometheus-ssh_open_sessions","tags":["file","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_ssh_open_sessions.pp","line":10,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/prometheus/usr/local/bin/prometheus-ssh_open_sessions"}},{"type":"Systemd::Timer::Job","title":"prometheus_ssh_open_sessions","tags":["systemd::timer::job","systemd","timer","job","prometheus_ssh_open_sessions","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/node_ssh_open_sessions.pp","line":19,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Regular job to collect active shell session information","user":"root","command":"/usr/local/bin/prometheus-ssh_open_sessions /var/lib/prometheus/node.d/ssh_open_sessions.prom","interval":{"start":"OnCalendar","interval":"*-*-* *:0/5:0"},"environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"File","title":"/root/firstboot_done","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":127,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"","owner":"root","group":"root"}},{"type":"Exec","title":"cloud-init refresh /etc/hosts","tags":["exec","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":141,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/cloud-init single -n cc_update_etc_hosts","onlyif":"/usr/bin/test -f /usr/bin/cloud-init","refreshonly":true}},{"type":"File","title":"/etc/cloud","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":147,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"File","title":"/etc/cloud/templates","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":147,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"File","title":"/etc/cloud/templates/hosts.debian.tmpl","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":153,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"## template:jinja\n{#\nThis is an override of the default file included in upstream debian\nimages. It's used by cloud-init to generate /etc/hosts when\nmanage_etc_hosts = True in the cloud config.\n\nWe're overriding the standard template by replacing the first\nline, which looked like this:\n\n127.0.1.1 {{fqdn}} {{hostname}}\n\nThe 127.0.1.1 entry is standard on debian as documented here:\n\nhttps://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_resolution\n\n> The IP address 127.0.1.1 in the second line of this example may not\n> be found on some other Unix-like systems. The Debian Installer creates\n> this entry for a system without a permanent IP address as a workaround\n> for some software (e.g., GNOME) as documented in the bug #719621.\n\nI think we don't care about that use case. Instead we'll use\nthe actual IP.  Hard coding local IP in a cloud-init template\nsort of defeats the purpose of cloud-init but since we're only\ndoing it on an up and running VM it seems harmless, and better\nthan trying to fight cloud-init's constant attempts to update.\n\nMore context at https://phabricator.wikimedia.org/T277866\n\n-#}\n# Your system has configured 'manage_etc_hosts' as True.\n# As a result, if you wish for changes to this file to persist\n# then you will need to either\n# a.) make changes to the master file in /etc/cloud/templates/hosts.debian.tmpl\n# b.) change or remove the value of 'manage_etc_hosts' in\n#     /etc/cloud/cloud.cfg or cloud-config from user-data\n#\n{# The value '{{hostname}}' will be replaced with the local-hostname -#}\n172.16.18.124 {{fqdn}} {{hostname}}\n127.0.0.1 localhost\n\n# The following lines are desirable for IPv6 capable hosts\n::1 ip6-localhost ip6-loopback\nfe00::0 ip6-localnet\nff00::0 ip6-mcastprefix\nff02::1 ip6-allnodes\nff02::2 ip6-allrouters\nff02::3 ip6-allhosts\n","owner":"root","group":"root","require":["File[/etc/cloud]","File[/etc/cloud/templates]"],"notify":"Exec[cloud-init refresh /etc/hosts]","mode":"0644"}},{"type":"File","title":"/etc/sudoers.d/90-cloud-init-users","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":164,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/etc/sudoers.d/debian-cloud-init","tags":["file","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":164,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Package","title":"smartmontools","tags":["package","smartmontools","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":170,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","notify":"Exec[reset-failed for smartmontools]","provider":"apt"}},{"type":"Exec","title":"reset-failed for smartmontools","tags":["exec","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":174,"exported":false,"kind":"compilable_type","parameters":{"command":"systemctl reset-failed smartd.service","path":["/bin","/usr/bin"],"refreshonly":true}},{"type":"Class","title":"Cinderutils","tags":["class","cinderutils","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":180,"exported":false,"kind":"class"},{"type":"File","title":"/usr/local/sbin/wmcs-prepare-cinder-volume","tags":["file","class","cinderutils","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/cinderutils/manifests/init.pp","line":3,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/cinderutils/wmcs-prepare-cinder-volume.py","owner":"root","group":"root","mode":"0755"}},{"type":"Ferm::Rule","title":"metricsinfra-prometheus-all","tags":["ferm::rule","ferm","rule","metricsinfra-prometheus-all","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":187,"exported":false,"kind":"defined_type","parameters":{"rule":"saddr @resolve((metricsinfra-prometheus-2.metricsinfra.eqiad1.wikimedia.cloud metricsinfra-prometheus-3.metricsinfra.eqiad1.wikimedia.cloud)) ACCEPT;","ensure":"present","domain":"(ip ip6)","table":"filter","chain":"INPUT","desc":"","prio":"10"}},{"type":"Ferm::Service","title":"dhcp6-response","tags":["ferm::service","ferm","service","dhcp6-response","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/wmcs/instance.pp","line":194,"exported":false,"kind":"defined_type","parameters":{"proto":"udp","port":546,"srange":"fe80::/10","drange":"fe80::/10","ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Class","title":"Profile::Toolforge::Infrastructure","tags":["class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"exported":false,"kind":"unknown","parameters":{"login_server":false}},{"type":"Class","title":"Role::Aptly::Client","tags":["class","role::aptly::client","role","aptly","client","node","default"],"exported":false,"kind":"unknown","parameters":{"servername":"deb.svc.toolforge.org","components":["main"],"protocol":"http","auto_upgrade":true}},{"type":"Class","title":"Role::Wmcs::Toolforge::Legacy_redirector","tags":["class","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"exported":false,"kind":"unknown"},{"type":"Class","title":"Systemd","tags":["class","systemd","systemd::sysuser","sysuser","sysusers-base-config","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"File","title":"/etc/sysusers.d","tags":["file","class","systemd","systemd::sysuser","sysuser","sysusers-base-config","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/init.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","purge":true,"recurse":true,"owner":"root","group":"root"}},{"type":"Nrpe::Plugin","title":"check_journal_pattern","tags":["nrpe::plugin","nrpe","plugin","check_journal_pattern","class","systemd","systemd::sysuser","sysuser","sysusers-base-config","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/init.pp","line":28,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/systemd/check_journal_pattern","ensure":"present"}},{"type":"File","title":"/usr/local/bin/systemd-timer-mail-wrapper","tags":["file","class","systemd","systemd::sysuser","sysuser","sysusers-base-config","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/init.pp","line":32,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0555","owner":"root","group":"root","source":"puppet:///modules/systemd/systemd-timer-mail-wrapper.py"}},{"type":"File","title":"/etc/sysusers.d/sysusers-base-config.conf","tags":["file","systemd::sysuser","systemd","sysuser","sysusers-base-config","class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/sysuser.pp","line":73,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","content":"r\t-\t100-499\t-\t-\t-\n","owner":"root","group":"root","mode":"0444","require":"File[/etc/sysusers.d]"}},{"type":"Exec","title":"update-sysusers-sysusers-base-config","tags":["exec","update-sysusers-sysusers-base-config","systemd::sysuser","systemd","sysuser","sysusers-base-config","class","adduser","profile::adduser","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/sysuser.pp","line":137,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemd-sysusers /etc/sysusers.d/sysusers-base-config.conf","path":"/usr/bin:/usr/sbin:/bin","provider":"shell","onlyif":"test -n \"$(systemd-sysusers --dry-run /etc/sysusers.d/sysusers-base-config.conf 2>&1)\"","user":"root"}},{"type":"Exec","title":"apt_pin_puppet","tags":["exec","apt_pin_puppet","apt::pin","apt","pin","puppet","class","profile::puppet::agent","profile","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/pin.pp","line":19,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update","refreshonly":true}},{"type":"File","title":"/etc/apt/preferences.d/puppet.pref","tags":["file","apt::pin","apt","pin","puppet","class","profile::puppet::agent","profile","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/pin.pp","line":29,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Package: puppet\nPin: release l=Debian\nPin-Priority: 1003\n","notify":"Exec[apt_pin_puppet]"}},{"type":"Concat_file","title":"/etc/puppet/puppet.conf","tags":["_etc_puppet_puppet.conf","concat_file","concat","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_puppet_puppet.conf","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"main","tags":["_etc_puppet_puppet.conf","concat_fragment","main","concat::fragment","concat","fragment","class","puppet::agent","puppet","agent","profile::puppet::agent","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/puppet/puppet.conf","tag":"_etc_puppet_puppet.conf","order":"10","content":"#####################################################################\n##### THIS FILE IS MANAGED BY PUPPET\n#####  as template('base/puppet.conf.d/10-main.conf.erb')\n######################################################################\n\n[main]\nlogdir = /var/log/puppet\nvardir = /var/lib/puppet\nssldir = /var/lib/puppet/ssl\nrundir = /var/run/puppet\nfactpath = $vardir/lib/facter\ncertificate_revocation = leaf\n\n[agent]\nserver = tools-puppetserver-01.tools.eqiad1.wikimedia.cloud\nca_server = tools-puppetserver-01.tools.eqiad1.wikimedia.cloud\ndaemonize = false\nhttp_connect_timeout = 60\nhttp_read_timeout = 960\nusecacheonfailure = false\nsplay = true\npluginsync = true\nreport = true\nstringify_facts = false\npreferred_serialization_format = json\nenvironment = production\nnumber_of_facts_soft_limit = 4096\n"}},{"type":"Systemd::Unit","title":"prometheus_puppet_agent_stats.service","tags":["systemd::unit","systemd","unit","prometheus_puppet_agent_stats.service","systemd::timer::job","timer","job","prometheus_puppet_agent_stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Regular job to collect puppet agent stats\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\nAfter=puppet-agent-timer.service\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/prometheus-puppet-agent-stats --outfile /var/lib/prometheus/node.d/puppet_agent.prom\n","unit":"prometheus_puppet_agent_stats.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"prometheus_puppet_agent_stats","tags":["systemd::timer","systemd","timer","prometheus_puppet_agent_stats","systemd::timer::job","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","timer_intervals":[{"start":"OnCalendar","interval":"minutely"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"prometheus_puppet_agent_stats.service"}},{"type":"Systemd::Syslog","title":"prometheus_puppet_agent_stats","tags":["systemd::syslog","systemd","syslog","prometheus_puppet_agent_stats","systemd::timer::job","timer","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/lib/systemd/system/prometheus-puppet-agent-stats.service","tags":["file","systemd::unit","systemd","unit","prometheus-puppet-agent-stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Service to collect puppet agent stats\nAfter=puppet-agent-timer.service\n\n[Service]\nUser=root\nType=oneshot\nExecStart=/usr/local/bin/prometheus-puppet-agent-stats --outfile /var/lib/prometheus/node.d/puppet_agent.prom\n\n[Install]\nWantedBy=puppet-agent-timer.service\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus-puppet-agent-stats.service (prometheus-puppet-agent-stats)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus-puppet-agent-stats.service (prometheus-puppet-agent-stats)","tags":["exec","systemd::unit","systemd","unit","prometheus-puppet-agent-stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Unit","title":"clean_puppet_client_bucket.service","tags":["systemd::unit","systemd","unit","clean_puppet_client_bucket.service","systemd::timer::job","timer","job","clean_puppet_client_bucket","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Delete old files from the puppet client bucket\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/bin/find /var/lib/puppet/clientbucket/ -type f -mtime +14 -atime +14 -delete\n","unit":"clean_puppet_client_bucket.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"clean_puppet_client_bucket","tags":["systemd::timer","systemd","timer","clean_puppet_client_bucket","systemd::timer::job","job","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","timer_intervals":[{"start":"OnUnitInactiveSec","interval":"24h"},{"interval":"1s","start":"OnActiveSec"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"clean_puppet_client_bucket.service"}},{"type":"Systemd::Unit","title":"puppet-agent-timer.service","tags":["systemd::unit","systemd","unit","puppet-agent-timer.service","systemd::timer::job","timer","job","puppet-agent-timer","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Run Puppet agent every 30 minutes\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=-/usr/local/sbin/puppet-run\n","unit":"puppet-agent-timer.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"puppet-agent-timer","tags":["systemd::timer","systemd","timer","puppet-agent-timer","systemd::timer::job","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"*:6/30:00"},{"start":"OnStartupSec","interval":"1min"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"puppet-agent-timer.service"}},{"type":"Systemd::Syslog","title":"puppet-agent-timer","tags":["systemd::syslog","systemd","syslog","puppet-agent-timer","systemd::timer::job","timer","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"Logrotate::Conf","title":"puppet","tags":["logrotate::conf","logrotate","conf","puppet","logrotate::rule","rule","class","profile::puppet::agent","profile","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/rule.pp","line":55,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# This file is managed by Puppet.\n# puppet:///logrotate/logrotate.erb\n\n/var/log/puppet /var/log/puppet.log {\n    notifempty\n    daily\n    rotate 7\n    compress\n    delaycompress\n    missingok\n    sharedscripts\n    postrotate\n        /usr/lib/rsyslog/rsyslog-rotate\n    endscript\n}\n"}},{"type":"File","title":"/etc/rsyslog.d/10-puppet-agent.conf","tags":["file","rsyslog::conf","rsyslog","conf","puppet-agent","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/puppet/rsyslog.conf","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/update-motd.d/97-last-puppet-run","tags":["file","motd::script","motd","script","last-puppet-run","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/script.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/puppet/97-last-puppet-run","mode":"0555","owner":"root","group":"root"}},{"type":"File","title":"/usr/local/share/ca-certificates/wmf_ca_2017_2020.crt","tags":["file","sslcert::ca","sslcert","ca","wmf_ca_2017_2020","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/wmf_ca_2017_2020.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/RapidSSL_SHA256_CA_-_G3.crt","tags":["file","sslcert::ca","sslcert","ca","rapidssl_sha256_ca_-_g3","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/RapidSSL_SHA256_CA_-_G3.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/DigiCert_High_Assurance_CA-3.crt","tags":["file","sslcert::ca","sslcert","ca","digicert_high_assurance_ca-3","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/DigiCert_High_Assurance_CA-3.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/DigiCert_SHA2_High_Assurance_Server_CA.crt","tags":["file","sslcert::ca","sslcert","ca","digicert_sha2_high_assurance_server_ca","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/DigiCert_SHA2_High_Assurance_Server_CA.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/DigiCert_TLS_RSA_SHA256_2020_CA1.crt","tags":["file","sslcert::ca","sslcert","ca","digicert_tls_rsa_sha256_2020_ca1","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/DigiCert_TLS_RSA_SHA256_2020_CA1.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1.crt","tags":["file","sslcert::ca","sslcert","ca","digicert_tls_hybrid_ecc_sha384_2020_ca1","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt.crt","tags":["file","sslcert::ca","sslcert","ca","digicert_global_g2_tls_rsa_sha256_2020_ca1.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/GlobalSign_Organization_Validation_CA_-_SHA256_-_G2.crt","tags":["file","sslcert::ca","sslcert","ca","globalsign_organization_validation_ca_-_sha256_-_g2","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/GlobalSign_Organization_Validation_CA_-_SHA256_-_G2.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/GlobalSign_RSA_OV_SSL_CA_2018.crt.crt","tags":["file","sslcert::ca","sslcert","ca","globalsign_rsa_ov_ssl_ca_2018.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/GlobalSign_RSA_OV_SSL_CA_2018.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/GlobalSign_ECC_OV_SSL_CA_2018.crt.crt","tags":["file","sslcert::ca","sslcert","ca","globalsign_ecc_ov_ssl_ca_2018.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/GlobalSign_ECC_OV_SSL_CA_2018.crt"}},{"type":"File","title":"/usr/local/share/ca-certificates/GlobalSign_ECC_Root_CA_R5_R3_Cross.crt.crt","tags":["file","sslcert::ca","sslcert","ca","globalsign_ecc_root_ca_r5_r3_cross.crt","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/base/ca/GlobalSign_ECC_Root_CA_R5_R3_Cross.crt"}},{"type":"Concat_file","title":"/etc/ssl/certs/wmf-ca-certificates.crt","tags":["_etc_ssl_certs_wmf-ca-certificates.crt","concat_file","concat","class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_ssl_certs_wmf-ca-certificates.crt","owner":"root","group":"root","mode":"0644","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"ssl-ca-/var/lib/puppet/ssl/certs/ca.pem","tags":["_etc_ssl_certs_wmf-ca-certificates.crt","concat_fragment","concat::fragment","concat","fragment","class","sslcert::trusted_ca","sslcert","trusted_ca","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/ssl/certs/wmf-ca-certificates.crt","tag":"_etc_ssl_certs_wmf-ca-certificates.crt","order":0,"source":"/var/lib/puppet/ssl/certs/ca.pem"}},{"type":"File","title":"/usr/local/share/ca-certificates/Puppet_Internal_CA.crt","tags":["file","sslcert::ca","sslcert","ca","puppet_internal_ca","class","profile::base::certificates","profile","base","certificates","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"/var/lib/puppet/ssl/certs/ca.pem"}},{"type":"Exec","title":"apt_pin_wikimedia","tags":["exec","apt_pin_wikimedia","apt::pin","apt","pin","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/pin.pp","line":19,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update","refreshonly":true}},{"type":"File","title":"/etc/apt/preferences.d/wikimedia.pref","tags":["file","apt::pin","apt","pin","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/pin.pp","line":29,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Package: *\nPin: release o=Wikimedia\nPin-Priority: 1001\n","notify":"Exec[apt_pin_wikimedia]"}},{"type":"Concat_file","title":"/etc/apt/sources.list.d/debian.sources","tags":["_etc_apt_sources.list.d_debian.sources","concat_file","concat","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_apt_sources.list.d_debian.sources","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"/etc/apt/sources.list.d/debian.sources-header","tags":["_etc_apt_sources.list.d_debian.sources","concat_fragment","concat::fragment","concat","fragment","class","apt","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","tag":"_etc_apt_sources.list.d_debian.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Exec","title":"apt_repository_debian","tags":["exec","apt_repository_debian","apt::repository","apt","repository","debian","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat::Fragment","title":"debian","tags":["concat::fragment","concat","fragment","debian","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":88,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","content":"Types: deb deb-src\nURIs: http://deb.debian.org/debian\nSuites: bookworm\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\n","order":"10"}},{"type":"Exec","title":"apt_repository_debian-security","tags":["exec","apt_repository_debian-security","apt::repository","apt","repository","debian-security","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat::Fragment","title":"debian-security","tags":["concat::fragment","concat","fragment","debian-security","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":88,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","content":"Types: deb deb-src\nURIs: http://security.debian.org/debian-security\nSuites: bookworm-security\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\n","order":"10"}},{"type":"Exec","title":"apt_repository_debian-updates","tags":["exec","apt_repository_debian-updates","apt::repository","apt","repository","debian-updates","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat::Fragment","title":"debian-updates","tags":["concat::fragment","concat","fragment","debian-updates","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":88,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","content":"Types: deb deb-src\nURIs: http://deb.debian.org/debian\nSuites: bookworm-updates\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\n","order":"10"}},{"type":"Exec","title":"apt_repository_wikimedia","tags":["exec","apt_repository_wikimedia","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"File","title":"/etc/apt/keyrings/wikimedia-archive-keyring.gpg","tags":["file","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":48,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/install_server/autoinstall/keyring/wikimedia-archive-keyring.gpg","notify":"Exec[apt_repository_wikimedia]"}},{"type":"Concat","title":"/etc/apt/sources.list.d/wikimedia.sources","tags":["concat","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":93,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","notify":"Exec[apt_repository_wikimedia]","path":"/etc/apt/sources.list.d/wikimedia.sources","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"wikimedia-header","tags":["concat::fragment","concat","fragment","wikimedia-header","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":100,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat::Fragment","title":"wikimedia","tags":["concat::fragment","concat","fragment","wikimedia","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":105,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia.sources","content":"Types: deb deb-src\nURIs: http://apt.wikimedia.org/wikimedia\nSuites: bookworm-wikimedia\nComponents: main\nSigned-By: /etc/apt/keyrings/wikimedia-archive-keyring.gpg\n","order":"10"}},{"type":"File","title":"/etc/apt/sources.list.d/wikimedia.list","tags":["file","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Exec","title":"apt_repository_wikimedia-private","tags":["exec","apt_repository_wikimedia-private","apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat","title":"/etc/apt/sources.list.d/wikimedia-private.sources","tags":["concat","apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":93,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0444","notify":"Exec[apt_repository_wikimedia-private]","path":"/etc/apt/sources.list.d/wikimedia-private.sources","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"wikimedia-private-header","tags":["concat::fragment","concat","fragment","wikimedia-private-header","apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":100,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia-private.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat::Fragment","title":"wikimedia-private","tags":["concat::fragment","concat","fragment","wikimedia-private","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":105,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia-private.sources","content":"Types: deb deb-src\nURIs: http://apt.wikimedia.org:8080\nSuites: bookworm-wikimedia-private\nComponents: thirdparty/hwraid\nSigned-By: /etc/apt/keyrings/wikimedia-archive-keyring.gpg\n","order":"10"}},{"type":"File","title":"/etc/apt/sources.list.d/wikimedia-private.list","tags":["file","apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Exec","title":"apt_repository_debian-backports","tags":["exec","apt_repository_debian-backports","apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat","title":"/etc/apt/sources.list.d/debian-backports.sources","tags":["concat","apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":93,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","notify":"Exec[apt_repository_debian-backports]","path":"/etc/apt/sources.list.d/debian-backports.sources","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"debian-backports-header","tags":["concat::fragment","concat","fragment","debian-backports-header","apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":100,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian-backports.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat::Fragment","title":"debian-backports","tags":["concat::fragment","concat","fragment","debian-backports","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":105,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian-backports.sources","content":"Types: deb deb-src\nURIs: http://deb.debian.org/debian/\nSuites: bookworm-backports\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n","order":"10"}},{"type":"File","title":"/etc/apt/sources.list.d/debian-backports.list","tags":["file","apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Exec","title":"apt_repository_debian-debug","tags":["exec","apt_repository_debian-debug","apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat","title":"/etc/apt/sources.list.d/debian-debug.sources","tags":["concat","apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":93,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","notify":"Exec[apt_repository_debian-debug]","path":"/etc/apt/sources.list.d/debian-debug.sources","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"debian-debug-header","tags":["concat::fragment","concat","fragment","debian-debug-header","apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":100,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian-debug.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat::Fragment","title":"debian-debug","tags":["concat::fragment","concat","fragment","debian-debug","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":105,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/debian-debug.sources","content":"Types: deb\nURIs: http://deb.debian.org/debian-debug\nSuites: bookworm-debug\nComponents: main contrib non-free\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n","order":"10"}},{"type":"File","title":"/etc/apt/sources.list.d/debian-debug.list","tags":["file","apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/etc/apt/apt.conf.d/00InstallRecommends","tags":["file","apt::conf","apt","conf","installrecommends","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"APT::Install-Recommends \"false\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/30apt-harden","tags":["file","apt::conf","apt","conf","apt-harden","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"APT::Sandbox::Seccomp \"true\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/systemd/system/systemd-timesyncd.service.d","tags":["file","systemd::unit","systemd","unit","systemd-timesyncd.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":61,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0555"}},{"type":"File","title":"/etc/systemd/system/systemd-timesyncd.service.d/puppet-override.conf","tags":["file","systemd::unit","systemd","unit","systemd-timesyncd.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Service]\nInaccessiblePaths=-/mnt\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for systemd-timesyncd.service (systemd-timesyncd.service)]"}},{"type":"Exec","title":"systemd daemon-reload for systemd-timesyncd.service (systemd-timesyncd.service)","tags":["exec","systemd::unit","systemd","unit","systemd-timesyncd.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/etc/systemd/system/systemd-timedated.service.d","tags":["file","systemd::unit","systemd","unit","systemd-timedated.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":61,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0555"}},{"type":"File","title":"/etc/systemd/system/systemd-timedated.service.d/puppet-override.conf","tags":["file","systemd::unit","systemd","unit","systemd-timedated.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Service]\nInaccessiblePaths=-/mnt\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for systemd-timedated.service (systemd-timedated.service)]"}},{"type":"Exec","title":"systemd daemon-reload for systemd-timedated.service (systemd-timedated.service)","tags":["exec","systemd::unit","systemd","unit","systemd-timedated.service","class","profile::systemd::timesyncd","profile","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_systemd-timesyncd","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_systemd-timesyncd","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: systemd-timesyncd","command":"/usr/local/sbin/wmf-auto-restart -s systemd-timesyncd","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 18:16:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"File","title":"/etc/systemd/system/logrotate.timer.d/puppet-override.conf","tags":["file","systemd::unit","systemd","unit","logrotate.timer:hourly-override","class","logrotate","profile::logrotate","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Rotation of log files\n[Timer]\nOnCalendar=\nOnCalendar=hourly\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for logrotate.timer (logrotate.timer:hourly-override)]"}},{"type":"Exec","title":"systemd daemon-reload for logrotate.timer (logrotate.timer:hourly-override)","tags":["exec","systemd::unit","systemd","unit","logrotate.timer:hourly-override","class","logrotate","profile::logrotate","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/etc/systemd/system/prometheus-node-exporter.service.d","tags":["file","base::service_unit","base","service_unit","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0555","before":"File[/etc/systemd/system/prometheus-node-exporter.service.d/puppet-override.conf]"}},{"type":"File","title":"/etc/systemd/system/prometheus-node-exporter.service.d/puppet-override.conf","tags":["file","base::service_unit","base","service_unit","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":89,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Service]\nGroup=prometheus-node-exporter\n","mode":"0444","owner":"root","group":"root","notify":["Service[prometheus-node-exporter]"]}},{"type":"Exec","title":"systemd reload for prometheus-node-exporter","tags":["exec","base::service_unit","base","service_unit","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"subscribe":"File[/etc/systemd/system/prometheus-node-exporter.service.d/puppet-override.conf]","before":["Service[prometheus-node-exporter]"]}},{"type":"Service","title":"prometheus-node-exporter","tags":["service","prometheus-node-exporter","base::service_unit","base","service_unit","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":134,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_prometheus-node-exporter","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_prometheus-node-exporter","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: prometheus-node-exporter","command":"/usr/local/sbin/wmf-auto-restart -s prometheus-node-exporter","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 18:27:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_rsyslog","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_rsyslog","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: rsyslog","command":"/usr/local/sbin/wmf-auto-restart -s rsyslog","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 0:10:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Concat_file","title":"/etc/rsyslog.d/00-global.conf","tags":["_etc_rsyslog.d_00-global.conf","concat_file","concat","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_rsyslog.d_00-global.conf","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"/etc/rsyslog.d/00-global.conf-header","tags":["_etc_rsyslog.d_00-global.conf","concat_fragment","concat::fragment","concat","fragment","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/rsyslog.d/00-global.conf","tag":"_etc_rsyslog.d_00-global.conf","order":"000","content":"global(\n"}},{"type":"Concat_fragment","title":"/etc/rsyslog.d/00-global.conf-trailer","tags":["_etc_rsyslog.d_00-global.conf","concat_fragment","concat::fragment","concat","fragment","class","rsyslog","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/rsyslog.d/00-global.conf","tag":"_etc_rsyslog.d_00-global.conf","order":"zzz","content":")\n"}},{"type":"Concat_fragment","title":"/etc/rsyslog.d/00-global.conf-parser.permitSlashInProgramName","tags":["_etc_rsyslog.d_00-global.conf","concat_fragment","concat::fragment","concat","fragment","class"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/rsyslog.d/00-global.conf","tag":"_etc_rsyslog.d_00-global.conf","order":"parser.permitSlashInProgramName","content":"  parser.permitSlashInProgramName=\"on\"\n"}},{"type":"File","title":"/etc/logrotate.d/rsyslog","tags":["file","logrotate::conf","logrotate","conf","rsyslog","class","profile::rsyslog","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/profile/rsyslog/logrotate.conf"}},{"type":"File","title":"/etc/rsyslog.d/30-remote-syslog.conf","tags":["file","rsyslog::conf","rsyslog","conf","remote_syslog","class","profile::syslog::remote","profile","syslog","remote","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# NOTE: This file is managed by Puppet.\n\n$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-certificates.crt\n\n# By default, rsyslog will truncate programname[pid] to 32 characters.  This\n# is a problem if logging to logstash, because programname will not be\n# parseable.  This format template removes the 32 character limit.\n# See also: http://www.rsyslog.com/sende-messages-with-tags-larger-than-32-characters/\n\n$template LongTagForwardFormat,\"<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\"\n\nif ($syslogfacility-text == 'auth' or\n    $syslogfacility-text == 'authpriv') then {\n\n  \n  action(type=\"omfwd\" name=\"fwd_syslogaudit1.svc.eqiad1.wikimedia.cloud:6514\" Target=\"syslogaudit1.svc.eqiad1.wikimedia.cloud\" Port=\"6514\"\n    StreamDriver=\"ossl\" StreamDriverAuthMode=\"x509/name\"\n    StreamDriverMode=\"1\" StreamDriverPermittedPeers=\"syslogaudit1.svc.eqiad1.wikimedia.cloud\"\n    Protocol=\"tcp\" template=\"LongTagForwardFormat\"\n    queue.type=\"LinkedList\" queue.size=\"10000\" queue.filename=\"syslogaudit1.svc.eqiad1.wikimedia.cloud:6514\"\n    queue.highWatermark=\"7000\" queue.lowWatermark=\"6000\"\n    queue.checkpointInterval=\"5\"\n    queue.maxDiskSpace=\"40960000\"\n    )\n\n  \n  action(type=\"omfwd\" name=\"fwd_syslogaudit2.svc.eqiad1.wikimedia.cloud:6514\" Target=\"syslogaudit2.svc.eqiad1.wikimedia.cloud\" Port=\"6514\"\n    StreamDriver=\"ossl\" StreamDriverAuthMode=\"x509/name\"\n    StreamDriverMode=\"1\" StreamDriverPermittedPeers=\"syslogaudit2.svc.eqiad1.wikimedia.cloud\"\n    Protocol=\"tcp\" template=\"LongTagForwardFormat\"\n    queue.type=\"LinkedList\" queue.size=\"10000\" queue.filename=\"syslogaudit2.svc.eqiad1.wikimedia.cloud:6514\"\n    queue.highWatermark=\"7000\" queue.lowWatermark=\"6000\"\n    queue.checkpointInterval=\"5\"\n    queue.maxDiskSpace=\"40960000\"\n    )\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"Package","title":"prometheus-rsyslog-exporter","tags":["package","prometheus-rsyslog-exporter","prometheus::rsyslog_exporter","prometheus","rsyslog_exporter","base","class","profile::prometheus::rsyslog_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/rsyslog_exporter.pp","line":10,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Rsyslog::Conf","title":"exporter-base","tags":["rsyslog::conf","rsyslog","conf","exporter-base","prometheus::rsyslog_exporter","prometheus","rsyslog_exporter","base","class","profile::prometheus::rsyslog_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/rsyslog_exporter.pp","line":14,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"module(\n  load=\"impstats\"\n  interval=\"10\"\n  format=\"json\"\n  resetCounters=\"off\"\n  ruleset=\"process_stats\"\n)\n\nmodule(\n  load=\"omprog\"\n)\n\nruleset(name=\"process_stats\") {\n  action(\n    type=\"omprog\"\n    name=\"to_exporter\"\n    # forceSingleInstance has been fixed in rsyslog 8.38\n    # https://github.com/rsyslog/rsyslog/commit/a978072b864324a3a6678660983779b3d2410a1b\n    forceSingleInstance=\"on\"\n    binary=\"/usr/bin/prometheus-rsyslog-exporter -silent -web.listen-address 172.16.18.124:9105\"\n  )\n}\n","priority":10,"mode":"0444"}},{"type":"Rsyslog::Conf","title":"exporter","tags":["rsyslog::conf","rsyslog","conf","exporter","prometheus::rsyslog_exporter","prometheus","rsyslog_exporter","base","class","profile::prometheus::rsyslog_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/prometheus/manifests/rsyslog_exporter.pp","line":23,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","priority":10,"mode":"0444"}},{"type":"Service","title":"cadvisor","tags":["service","cadvisor","systemd::service","systemd","class","prometheus::cadvisor","prometheus","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"stopped","enable":false,"before":["Exec[systemd daemon-reload for cadvisor.service (cadvisor)]"]}},{"type":"Systemd::Unit","title":"cadvisor","tags":["systemd::unit","systemd","unit","cadvisor","systemd::service","service","class","prometheus::cadvisor","prometheus","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"# Disable Docker to stop collecting extra labels/info T337856\n[Service]\nExecStart=\nExecStart=/usr/bin/cadvisor --listen_ip=172.16.18.124 --port=4194 --enable_metrics=app,cpu,disk,diskIO,memory,network,oom_event,perf_event --docker=/dev/null\n","override":true,"override_filename":"puppet-override.conf","restart":true,"unit":"cadvisor","require":["Class[Systemd]"]}},{"type":"Sysctl::Conffile","title":"ubuntu defaults","tags":["sysctl::conffile","sysctl","conffile","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nfs.protected_hardlinks = 1\nfs.protected_symlinks = 1\nkernel.kptr_restrict = 1\nkernel.printk = 4 4 1 7\nkernel.yama.ptrace_scope = 1\nnet.ipv4.conf.all.rp_filter = 1\nnet.ipv4.conf.default.rp_filter = 1\nnet.ipv4.tcp_syncookies = 1\nvm.mmap_min_addr = 65536\n","priority":51,"no_priority_prefix":false}},{"type":"Sysctl::Conffile","title":"wikimedia base","tags":["sysctl::conffile","sysctl","conffile","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.core.netdev_max_backlog = 2500\nnet.core.rmem_max = 16777216\nnet.core.somaxconn = 1024\nnet.core.wmem_max = 16777216\nnet.ipv4.tcp_challenge_ack_limit = 987654321\nnet.ipv4.tcp_keepalive_intvl = 1\nnet.ipv4.tcp_keepalive_probes = 2\nnet.ipv4.tcp_keepalive_time = 300\nnet.ipv4.tcp_max_syn_backlog = 4096\nnet.ipv4.tcp_no_metrics_save = 1\nnet.ipv4.tcp_rmem = 4096 87380 16777216\nnet.ipv4.tcp_wmem = 4096 65536 16777216\nnet.ipv6.route.max_size = 131072\nvm.swappiness = 0\n","priority":60,"no_priority_prefix":false}},{"type":"Sysctl::Conffile","title":"disable_unprivileged_bpf","tags":["sysctl::conffile","sysctl","conffile","disable_unprivileged_bpf","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nkernel.unprivileged_bpf_disabled = 1\n","priority":70,"no_priority_prefix":false}},{"type":"Sysctl::Conffile","title":"unprivileged_userns_clone","tags":["sysctl::conffile","sysctl","conffile","unprivileged_userns_clone","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nkernel.unprivileged_userns_clone = 0\n","priority":70,"no_priority_prefix":false}},{"type":"Sysctl::Conffile","title":"fastopen","tags":["sysctl::conffile","sysctl","conffile","fastopen","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.ipv4.tcp_fastopen_blackhole_timeout_sec = 3600\n","priority":70,"no_priority_prefix":false}},{"type":"Sysctl::Conffile","title":"tcp_min_snd_mss","tags":["sysctl::conffile","sysctl","conffile","tcp_min_snd_mss","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.ipv4.route.min_pmtu = 576\nnet.ipv4.tcp_min_snd_mss = 536\nnet.ipv4.tcp_sack = 1\n","priority":70,"no_priority_prefix":false}},{"type":"File","title":"/etc/update-motd.d/00-header","tags":["file","motd::script","motd","script","header","class","motd::defaults","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/script.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"#!/bin/sh\nuname -snrvm\nlsb_release -s -d\n\n","mode":"0555","owner":"root","group":"root"}},{"type":"File","title":"/etc/update-motd.d/99-footer","tags":["file","motd::script","motd","script","footer","class","motd::defaults","defaults","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/script.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"#!/bin/sh\n[ -f /etc/motd.tail ] && cat /etc/motd.tail || true\n","mode":"0555","owner":"root","group":"root"}},{"type":"File","title":"/etc/update-motd.d/99-check-for-restarts","tags":["file","motd::script","motd","script","class","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/script.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/motd/check_restarts.sh","mode":"0555","owner":"root","group":"root"}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_lldpd","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_lldpd","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: lldpd","command":"/usr/local/sbin/wmf-auto-restart -s lldpd","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 16:2:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_systemd-journald","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_systemd-journald","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: systemd-journald","command":"/usr/local/sbin/wmf-auto-restart -s systemd-journald","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 19:23:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Sysctl::Conffile","title":"core_dumps","tags":["sysctl::conffile","sysctl","conffile","core_dumps","sysctl::parameters","parameters","class","base::sysctl::core_dumps","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nkernel.core_pattern = core\n","priority":70,"no_priority_prefix":false}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_ssh","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_ssh","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: ssh","command":"/usr/local/sbin/wmf-auto-restart -s ssh","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 19:45:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"File","title":"/etc/modprobe.d/blacklist-wmf_overlay.conf","tags":["file","kmod::blacklist","kmod","blacklist","wmf_overlay","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/kmod/manifests/blacklist.pp","line":42,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0444","content":"# wmf_overlay - blacklisted kernel modules\n# This file is managed by Puppet\n#\n","notify":["Exec[update-initramfs]"]}},{"type":"File","title":"/etc/modules-load.d/overlay.conf","tags":["file","kmod::module","kmod","module","overlay","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/kmod/manifests/module.pp","line":20,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"overlay\n","notify":"Exec[/sbin/modprobe overlay]"}},{"type":"Exec","title":"/sbin/modprobe overlay","tags":["exec","kmod::module","kmod","module","overlay","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/kmod/manifests/module.pp","line":30,"exported":false,"kind":"compilable_type","parameters":{"unless":"/bin/lsmod | /bin/grep -q '^overlay '","refreshonly":true}},{"type":"File","title":"/etc/modprobe.d/blacklist-wmf.conf","tags":["file","kmod::blacklist","kmod","blacklist","wmf","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/kmod/manifests/blacklist.pp","line":42,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# wmf - blacklisted kernel modules\n# This file is managed by Puppet\n#\nblacklist acpi_power_meter\ninstall acpi_power_meter /bin/true\nblacklist algif_aead\ninstall algif_aead /bin/true\nblacklist asn1_decoder\ninstall asn1_decoder /bin/true\nblacklist aufs\ninstall aufs /bin/true\nblacklist binder_linux\ninstall binder_linux /bin/true\nblacklist bluetooth\ninstall bluetooth /bin/true\nblacklist cdrom\ninstall cdrom /bin/true\nblacklist dccp\ninstall dccp /bin/true\nblacklist dccp_diag\ninstall dccp_diag /bin/true\nblacklist dccp_ipv4\ninstall dccp_ipv4 /bin/true\nblacklist dccp_ipv6\ninstall dccp_ipv6 /bin/true\nblacklist dccp_probe\ninstall dccp_probe /bin/true\nblacklist floppy\ninstall floppy /bin/true\nblacklist intel_cstate\ninstall intel_cstate /bin/true\nblacklist intel_rapl_perf\ninstall intel_rapl_perf /bin/true\nblacklist intel_uncore\ninstall intel_uncore /bin/true\nblacklist macsec\ninstall macsec /bin/true\nblacklist n_gsm\ninstall n_gsm /bin/true\nblacklist n_hdlc\ninstall n_hdlc /bin/true\nblacklist parport\ninstall parport /bin/true\nblacklist parport_pc\ninstall parport_pc /bin/true\nblacklist ppdev\ninstall ppdev /bin/true\nblacklist usbip-core\ninstall usbip-core /bin/true\nblacklist usbip-host\ninstall usbip-host /bin/true\nblacklist v4l2-common\ninstall v4l2-common /bin/true\nblacklist vhci-hcd\ninstall vhci-hcd /bin/true\n","notify":["Exec[update-initramfs]"]}},{"type":"File","title":"/etc/modprobe.d/blacklist-wmf-filesystems.conf","tags":["file","kmod::blacklist","kmod","blacklist","wmf-filesystems","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/kmod/manifests/blacklist.pp","line":42,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# wmf-filesystems - blacklisted kernel modules\n# This file is managed by Puppet\n#\nblacklist btrfs\ninstall btrfs /bin/true\nblacklist erofs\ninstall erofs /bin/true\nblacklist exfat\ninstall exfat /bin/true\nblacklist f2fs\ninstall f2fs /bin/true\nblacklist hfs\ninstall hfs /bin/true\nblacklist hfsplus\ninstall hfsplus /bin/true\nblacklist jffs2\ninstall jffs2 /bin/true\nblacklist jfs\ninstall jfs /bin/true\nblacklist nilfs2\ninstall nilfs2 /bin/true\nblacklist orangefs\ninstall orangefs /bin/true\nblacklist squashfs\ninstall squashfs /bin/true\n","notify":["Exec[update-initramfs]"]}},{"type":"Systemd::Unit","title":"kernel-purge.service","tags":["systemd::unit","systemd","unit","kernel-purge.service","systemd::timer::job","timer","job","kernel-purge","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Purge unused kernels\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/kernel-purge -p\n","unit":"kernel-purge.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"kernel-purge","tags":["systemd::timer","systemd","timer","kernel-purge","systemd::timer::job","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"monthly"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"kernel-purge.service"}},{"type":"Systemd::Syslog","title":"kernel-purge","tags":["systemd::syslog","systemd","syslog","kernel-purge","systemd::timer::job","timer","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"Class","title":"Initramfs","tags":["class","initramfs","initramfs::script","script","mdadm-sleep","base::initramfs","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"Package","title":"initramfs-tools","tags":["package","initramfs-tools","class","initramfs","initramfs::script","script","mdadm-sleep","base::initramfs","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/initramfs/manifests/init.pp","line":3,"exported":false,"kind":"compilable_type","parameters":{"ensure":"installed","provider":"apt"}},{"type":"Exec","title":"update-initramfs","tags":["exec","update-initramfs","class","initramfs","initramfs::script","script","mdadm-sleep","base::initramfs","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/initramfs/manifests/init.pp","line":7,"exported":false,"kind":"compilable_type","parameters":{"command":"update-initramfs -u -k all","refreshonly":true,"path":"/bin:/usr/bin:/sbin:/usr/sbin","require":"Package[initramfs-tools]"}},{"type":"File","title":"/etc/initramfs-tools/scripts/init-premount/mdadm-sleep","tags":["file","initramfs::script","initramfs","script","mdadm-sleep","class","base::initramfs","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/initramfs/manifests/script.pp","line":10,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0544","content":"#!/bin/sh\n#\n# Workaround for boot-time race condition assembling raid arrays:\n# https://phabricator.wikimedia.org/T131961\n#\n# This file is managed by Puppet.\n\necho \"Waiting 5s for disks to show up (T131961)\"\nsleep 5s\nexit 0\n","require":"Package[initramfs-tools]","notify":"Exec[update-initramfs]"}},{"type":"Systemd::Unit","title":"prometheus-debian-version-textfile.service","tags":["systemd::unit","systemd","unit","prometheus-debian-version-textfile.service","systemd::timer::job","timer","job","prometheus-debian-version-textfile","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Update Debian version stat exported by node_exporter\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/prometheus-debian-version /var/lib/prometheus/node.d/debian_version.prom\n","unit":"prometheus-debian-version-textfile.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"prometheus-debian-version-textfile","tags":["systemd::timer","systemd","timer","prometheus-debian-version-textfile","systemd::timer::job","job","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnUnitInactiveSec","interval":"300s"},{"interval":"1s","start":"OnActiveSec"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"prometheus-debian-version-textfile.service"}},{"type":"Systemd::Unit","title":"prometheus-dpkg-success-textfile.service","tags":["systemd::unit","systemd","unit","prometheus-dpkg-success-textfile.service","systemd::timer::job","timer","job","prometheus-dpkg-success-textfile","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Update dpkg status exported by node_exporter\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=prometheus\nExecStart=/usr/local/bin/prometheus-dpkg-success /var/lib/prometheus/node.d/dpkg.prom\n","unit":"prometheus-dpkg-success-textfile.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"prometheus-dpkg-success-textfile","tags":["systemd::timer","systemd","timer","prometheus-dpkg-success-textfile","systemd::timer::job","job","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"*:00/30:00"}],"splay":1800,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"prometheus-dpkg-success-textfile.service"}},{"type":"File","title":"/etc/apt/apt.conf.d/00dpkg-force-confdef","tags":["file","apt::conf","apt","conf","dpkg-force-confdef","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Dpkg::Options:: \"--force-confdef\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/00dpkg-force-confold","tags":["file","apt::conf","apt","conf","dpkg-force-confold","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Dpkg::Options:: \"--force-confold\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/20auto-upgrades","tags":["file","apt::conf","apt","conf","auto-upgrades","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"APT::Periodic::Unattended-Upgrade \"1\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/52unattended-upgrades-updates","tags":["file","apt::conf","apt","conf","unattended-upgrades-updates","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Unattended-Upgrade::Origins-Pattern:: \"origin=${distro_id},codename=${distro_codename}-updates\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/51unattended-upgrades-wikimedia","tags":["file","apt::conf","apt","conf","unattended-upgrades-wikimedia","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Unattended-Upgrade::Origins-Pattern:: \"origin=Wikimedia,codename=${distro_codename}-wikimedia\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/52unattended-upgrades-osbpo","tags":["file","apt::conf","apt","conf","unattended-upgrades-osbpo","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Unattended-Upgrade::Origins-Pattern:: \"origin=osbpo\";\n","notify":"Exec[apt-get update]"}},{"type":"File","title":"/etc/apt/apt.conf.d/52apt-autoclean","tags":["file","apt::conf","apt","conf","apt-autoclean","class","apt::unattendedupgrades","unattendedupgrades","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"APT::Periodic::AutocleanInterval: 7;\n","notify":"Exec[apt-get update]"}},{"type":"Systemd::Unit","title":"send_puppet_failure_emails.service","tags":["systemd::unit","systemd","unit","send_puppet_failure_emails.service","systemd::timer::job","timer","job","send_puppet_failure_emails","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Send emails about Puppet failures\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/puppet_alert.py\n","unit":"send_puppet_failure_emails.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"send_puppet_failure_emails","tags":["systemd::timer","systemd","timer","send_puppet_failure_emails","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"*-*-* 08:15:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"send_puppet_failure_emails.service"}},{"type":"Systemd::Unit","title":"cleanup_puppet_client_bucket.service","tags":["systemd::unit","systemd","unit","cleanup_puppet_client_bucket.service","systemd::timer::job","timer","job","cleanup_puppet_client_bucket","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Delete old files from the puppet client bucket\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/bin/find /var/lib/puppet/clientbucket/ -type f -mtime +14 -atime +14 -delete\n","unit":"cleanup_puppet_client_bucket.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"cleanup_puppet_client_bucket","tags":["systemd::timer","systemd","timer","cleanup_puppet_client_bucket","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","timer_intervals":[{"start":"OnUnitInactiveSec","interval":"24h"},{"interval":"1s","start":"OnActiveSec"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"cleanup_puppet_client_bucket.service"}},{"type":"Concat_file","title":"/root/.config/openstack/clouds.yaml","tags":["_root_.config_openstack_clouds.yaml","concat_file","concat","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_root_.config_openstack_clouds.yaml","mode":"0400","replace":true,"backup":"puppet","show_diff":false,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"root_clouds_file_header","tags":["_root_.config_openstack_clouds.yaml","concat_fragment","root_clouds_file_header","concat::fragment","concat","fragment","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/root/.config/openstack/clouds.yaml","tag":"_root_.config_openstack_clouds.yaml","order":"01","content":"clouds:\n"}},{"type":"Concat_file","title":"/etc/openstack/clouds.yaml","tags":["_etc_openstack_clouds.yaml","concat_file","concat","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_openstack_clouds.yaml","mode":"0444","replace":true,"backup":"puppet","show_diff":false,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"observer_clouds_file_header","tags":["_etc_openstack_clouds.yaml","concat_fragment","observer_clouds_file_header","concat::fragment","concat","fragment","class","profile::openstack::base::observerenv","profile","openstack","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/openstack/clouds.yaml","tag":"_etc_openstack_clouds.yaml","order":"01","content":"clouds:\n"}},{"type":"Concat::Fragment","title":"/etc/openstack/clouds.yaml_novaobserver","tags":["concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/openstack/clouds.yaml","content":"# SPDX-License-Identifier: Apache-2.0\n  novaobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      project_id: observer\n      user_domain_id: default\n      project_domain_id: default\n    region_name: eqiad1-r\n    identity_api_version: 3\n","order":"10"}},{"type":"Concat::Fragment","title":"/root/.config/openstack/clouds.yaml_novaobserver","tags":["concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"target":"/root/.config/openstack/clouds.yaml","content":"# SPDX-License-Identifier: Apache-2.0\n  novaobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      project_id: observer\n      user_domain_id: default\n      project_domain_id: default\n    region_name: eqiad1-r\n    identity_api_version: 3\n","order":"10"}},{"type":"File","title":"/etc/novaobserver.yaml","tags":["file","openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":29,"exported":false,"kind":"compilable_type","parameters":{"content":"# These settings are duplicates of the 'novaobserver' section\n#  in [\"/etc/openstack/clouds.yaml\", \"/root/.config/openstack/clouds.yaml\"]. They're left here for easy discovery\n#  and for tools that need access to the raw values but don't\n#  want to parse clouds.yaml\n\nOS_USERNAME: novaobserver\nOS_USER_DOMAIN_ID: default\nOS_PASSWORD: \"Fs6Dq2RtG8KwmM2Z\"\nOS_AUTH_URL: \"https://openstack.eqiad1.wikimediacloud.org:25000/v3\"\nOS_REGION_NAME: \"eqiad1-r\"\nOS_NO_CACHE: 1\nOS_IDENTITY_API_VERSION: 3\nOS_INTERFACE: public\nPYTHONIOENCODING: utf-8\nOS_PROJECT_NAME: \"observer\"\nOS_PROJECT_ID: \"observer\"\nOS_PROJECT_DOMAIN_ID: default\nOS_DOMAIN_ID: default\n\nOS_VOLUME_API_VERSION: 3.44\n","mode":"0444","owner":"root","group":"root"}},{"type":"File","title":"/usr/local/bin/observerenv.sh","tags":["file","openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":41,"exported":false,"kind":"compilable_type","parameters":{"content":"#!/bin/bash\n\necho \"remember, all this does is set OS_CLOUD=novaobserver\"\nexport OS_CLOUD=novaobserver\n","mode":"0555","owner":"root","group":"root"}},{"type":"Concat::Fragment","title":"/etc/openstack/clouds.yaml_ossystemobserver","tags":["concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/openstack/clouds.yaml","content":"# SPDX-License-Identifier: Apache-2.0\n  ossystemobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      user_domain_id: default\n      project_domain_id: default\n      system_scope: all\n    region_name: eqiad1-r\n    identity_api_version: 3\n","order":"10"}},{"type":"Concat::Fragment","title":"/root/.config/openstack/clouds.yaml_ossystemobserver","tags":["concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"target":"/root/.config/openstack/clouds.yaml","content":"# SPDX-License-Identifier: Apache-2.0\n  ossystemobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      user_domain_id: default\n      project_domain_id: default\n      system_scope: all\n    region_name: eqiad1-r\n    identity_api_version: 3\n","order":"10"}},{"type":"File","title":"/etc/ossystemobserver.yaml","tags":["file","openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":29,"exported":false,"kind":"compilable_type","parameters":{"content":"# These settings are duplicates of the 'ossystemobserver' section\n#  in [\"/etc/openstack/clouds.yaml\", \"/root/.config/openstack/clouds.yaml\"]. They're left here for easy discovery\n#  and for tools that need access to the raw values but don't\n#  want to parse clouds.yaml\n\nOS_USERNAME: novaobserver\nOS_USER_DOMAIN_ID: default\nOS_PASSWORD: \"Fs6Dq2RtG8KwmM2Z\"\nOS_AUTH_URL: \"https://openstack.eqiad1.wikimediacloud.org:25000/v3\"\nOS_REGION_NAME: \"eqiad1-r\"\nOS_NO_CACHE: 1\nOS_IDENTITY_API_VERSION: 3\nOS_INTERFACE: public\nPYTHONIOENCODING: utf-8\nOS_PROJECT_NAME: UNSET\nOS_PROJECT_ID: UNSET\nOS_PROJECT_DOMAIN_ID: default\nOS_DOMAIN_ID: default\n\nOS_VOLUME_API_VERSION: 3.44\n","mode":"0444","owner":"root","group":"root"}},{"type":"File","title":"/usr/local/bin/osobserverenv.sh","tags":["file","openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/openstack/manifests/util/envscript.pp","line":41,"exported":false,"kind":"compilable_type","parameters":{"content":"#!/bin/bash\n\necho \"remember, all this does is set OS_CLOUD=ossystemobserver\"\nexport OS_CLOUD=ossystemobserver\n","mode":"0555","owner":"root","group":"root"}},{"type":"File","title":"/etc/ssh/userkeys/root.d/","tags":["file","ssh::userkey","ssh","userkey","root-cumin","class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/userkey.pp","line":44,"exported":false,"kind":"compilable_type","parameters":{"path":"/etc/ssh/userkeys/root.d","ensure":"directory","force":true,"owner":"root","group":"root","mode":"0755"}},{"type":"File","title":"/etc/ssh/userkeys/root.d/cumin","tags":["file","ssh::userkey","ssh","userkey","root-cumin","class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/userkey.pp","line":57,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","force":true,"owner":"root","group":"root","mode":"0444","content":"# Cumin Masters.\nfrom=\"172.16.1.220\",no-agent-forwarding,no-port-forwarding,no-x11-forwarding,no-user-rc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcav+ECiF6hW2XRuP7R8nqDw4hPlD0OChsGvB6K27jK root@cloudinfra-internal-puppetmaster-02\n\nfrom=\"172.16.5.85\",no-agent-forwarding,no-port-forwarding,no-x11-forwarding,no-user-rc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO8as2dazxB8rDdZed/ee0prcEwOSpRJi22clMCCi7HG\n","show_diff":false}},{"type":"File","title":"/etc/ferm/conf.d/01_cumin-project-defs","tags":["ferm","file","ferm::conf","conf","cumin-project-defs","class","profile::openstack::eqiad1::cumin::target","profile","openstack","eqiad1","cumin","target","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"@def $CUMIN_MASTERS = (172.16.1.220 172.16.5.85);\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ssh/userkeys/root","tags":["file","ssh::userkey","ssh","userkey","root","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ssh/manifests/userkey.pp","line":57,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","force":true,"owner":"root","group":"root","mode":"0444","content":"# andrew\nssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApK6IC2VOrv0wvfmpf2gnoC0XnRX5R1lqb8gpdEhxzoKfDBG/56KDbsNXK8r2jqCJoaHjicDPQLsyjh00F4am62jzath0mC10iw2V/FhkmIZ3XP/43cmYrLBo9NAMxyYzX5pf6zwsmijkhPlbdUYe8Rd/4MWsFP9dOZ6l4d0mq3m/oEbcX5E27wAvwwDK6NJHRA5FCLLtCBKHVHa9yKAjtRJpv8uQ+9BiuEuLUGN5oAUWHtfsKY7FuaZq24rAwI3D2JAmgwI6Umv4zsv5uhwEIPBYyiMxrHb8li93vV/tPZlAHeOyId8mHfbUm5ZP+StuT0E1oG/y1O//yO4ph2c8kw== andrew@AndrewMacbook-5.local\n# ariel\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDcP8oXoJNHBmTowY1DlRWhK7N62sm3/9shxiRRSsdszLQ2erlYnyf+BTlIWsHMdZ07QjFJLGyLpt+KZxiYzS6ySUzRA4Ko/M6oziVM27woq7eOT7M6SvcbTXYoBc1IKz7ALl82duRKTakND8Vg3ZE0McMxopCa2EOx7CJlTjwNYRlu/wsfm6TbtmZ3fCKs+MnhIH+zn8SB0kejdAH1CFu971T7evZyB6AFH1+8n11JSX92VnNh4kV4Y6fHtDiFMivmWh8sI8XIVH6G1RLCwQp1I08VJ+C1kFDS/B1+C2q9akHt4ipcdlFFUX2q36Dw/AM5K5epN4ZUaWaQ4W9mRGR ariel@trouble.localdomain\n# bblack\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWW9uwYcsipz9usC1lypoB9c8ABd5AaSL1FcNWK4/FkInwlwEKRlaZXKHCY+g1vxhmKJgpr1qMnxgFf7msifCaVGrCk6gGy0wpsF8PJCrw+gKgWjjsxcp7p/BbHMxR13Ur+FNTMXq/eDburf6Namlu8BU6u677aJVjcpIpEH4IJvludSukOL12f2mmD+Hn3PljvqjLDg2APHcn/z2VKNEFAP8LCSXSFZWxoqn3oV3wlNXZgEsdP6Y4BZiNNLDpSyysMWFaE3Fr6vyQQTclj+gm9ZG8PUEvhO2Aa1O6bOojr6ZhFYjVRf9wr+4vs1M1GVjvFXr/k8XwXCf1R97S3mcl bb@neo-1\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCGhItrIJaWASfPf9rOdxixwgAAXYYJmmm0UOxcsTKzlls0EX/MMhDPrtm0iNX9l1IbKia6+OKDeSAdNoWVN56dqBXwRej/83vApawpAM1T9lBoWiCQXR2vwK96dp5EotStLW7iBgob57T7QpV2OPng4/G7q1PdRBOo8/vErD4tlxDiAhWDAXwRMypXfLPQePxaIv0vkpUQYsRB3vx7NX+rRpTtDDHz3Wm/37EeOqE3RqvLAfvOPUQ0739wgFUcYDDXNlD6C0sxMeZSUyKwWvAawIt+r4C6IgMVlt2l7J6CF5lUjmzJCL5DwtwF1Sw6xM0CEEaWbKPNQ44yv4kaPCKp bb@neo-2\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPwFMvPEqUCks63fD+0UjgPjoIfkqoECOiJ3Cl1PJMwLADldAMZEPBhwjyJT11sKP4bvCqcVb/HVooED1zmQmF1urSycopkMj02FMIXZRSfvOWA2evTHNPeNR+/7dvSGgRqYggI5r+8d7gRB1YNedRoHq9d+1lWv5TpZ+TKr1ns0DekiFHXP4JCRC2U8/QxAriMcRywrbQ9Wpib5UCDKjlg7YmP29K9g7XdTkczyQCCOFSqEk2qRw4/lm1IACZXh9PBxy0CW2LuiNkkij5TBWMc+KDBqWwpETfIGFdSE0yzX9nCH9IsADj9MyaIMxS+Vtc96zS9ZR2HaFMaWIGFB2h bb@neo-3\n# oblivian\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCf8yZc/+/LiiIXkweNACUDMYNezKpexv7W8d4xlUweCcnZeyVvdiVl/LoFySvf7G08shDXQrxhqnc9xA6ulGokfHLOjAoqEuwlVwA1Xjbyb7KSOA2PNLDG9kzQ36wQyaSIgSDZegA+3O1oi3Jp/oVfSaqN1zk+8/Jl1kUAsv5S2264lsQR1y34AHhL4txkn6lH4nxjBBl+nvspU/FPInsLrCprCvecR7OT5+kUJF4rEeiGqx1gu7Etd/4AQzb+csYXp3LKUYhW+6kxEhUbGhFRG+GYtwD5oYFwSR7CmqrYvthfaMmnG9JzvIJvGmEv9gIFAivNsodlJzR0ZZ1ya24UvEwpnHmgcPBgLI1tPGJT//p8P7Xd04KPHgbN1VG21s89gjNCvEErwR8lkTveFRBZ8I0D/ipVFP4fHcA+jx6Lit/krIcexZ3CN0Bfpr9rEiFOGMx081HvD6R3x2ZablNb3GA/lscUs3r18QdQDGazj2+4PkrgbCAl0pt52Pun9/uajQpfHEgkaO6CHMrdX9FR169D86ZDf3W7lV0SPjITDeHHFBFzzrVrju4xt01ybYsUiWaS+PZAeQEDgZ1156sH8RSm7/Oi18U++S/upN7csJfDwSwOss9ReJNn+tXMr+uEjnuIL+Z2v0oCfujAcJIauX5UpEt5oXlhK+8BClRzXQ== joe@wikimedia.org\n# filippo\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDt7HkyaZeIe7L8CuWE1+N47+wDT/4cUmEcrPA1xgdA4By/jesf+1oOTvusbIyXFuCssvspgGmwwNMD+PzNF3xAEo+Yn2aqH4OBhRiF0U8jeaJL1EhzKnT8KKG4fOzzerbKFlE5K9LnYhMXp2i6MoAN9xB3Z350dBwqhspf0OKqZ8AGbsc9RdcEr2pBT7RPRlcKXRTrd47keV+PUazpDVSr2MCdmErknROpcBh5IS27DrKHpma3UcNUGIeMsvsV6nyt8Tz2+EMGkd+P+whij0YzlKDkqB2ppoD+gCPAki277wobiocea79fvPm1/Na+tpXJT7gU+YErld4VRvUclyR/ fgiunchedi@wikimedia.org\n# gehel\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCex3gl0aBMD0eklv4jzNGjfZDjuffqinvaJ4j4lHfxA9YqcxyupxOpv/MRmb92sfOXsHY33RgfNTZ8dVFwMumbCLNMG53t+ugE0Cpg9X/Z7XvnASqW7+fMxUa7BjRGOIMANlJ77l0F2uDAh+6xdr2NjXk2kmRlS/whiz7E9hKa/Rrvs/pk5ocyYusxrBZlwA6a4PjvbE8majx5fB7266A0x8NWs2YDHJjHtTEx80y75bxo3mxw4LacLCSTNZDTeKVuMoglPR9u+2X0d3XtVpUkzHlcMjqg+AlU+AB116c8G1Vm2ha27e+v7yltE23mbkWGaN3izBrvPOv/B/ZVBRDV glederrey@wikimedia.org\n# bd808\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb8nsxA3thqd87nLu+1mA0Jc1KY90t5qW7N+jRQksc4NLzlFqBTrld+Qm2FRVbLm37HZ9TRBZb2nuTYJIZhkNU7rRPEKs3cIUbh1pB7BbYv0aJ3F0qBD6UtHqOUIJhqVNYJ/ssobzFh2QrcrOM3eS8PrIPtL/CQSUmKmUjG8zhCocAiQZDFeIQLSyGyCWVrRg14SPjED0+wIQTGoTtCabL4B5AlLcTf2L5ztDUtaoXDObUpDJ5Tw6VUUzDoUjV+Y5AtxK4erwLRHeFEcSzmWWl0Sruhnp/TzaF4vGijl6Wcyi2O9TClBhGmp7gTl4CtMj8MDDm+7NO3dQmQMseded1 bd808+labs@wmf-bd808-mbp01.local\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPMEDLnrPDVrPPfDHyrzse/UbZwqm9TYmvnPoTVl4Nzd bd808+wmcsroot@wmf-bd808-mbp02.local\n# herron\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHO09HkC/OUk+sWmDx0O15qiQXPHMM97zEC19o7tc8mh4vGTXCzbcIGj2Z18thLQZ9e2N5hzr2vmcQ4gOkiPsHEiIQXtIUK6zomSqrV3qFryaFAd2FCynsK2/xS1Lw7WXy+uCgjnsc8nckQS3rsJzQswucAQmXno65tvg/t+UbJOKZpxIofZAWwsCcZfhnNt65Mtt4PGHPy+STfL3E3aj47xHMk/TqZv7bj4QR++NLu2qpWwwnnG7SWgoqS3x/2m/OU8ui3UxKWEMvZouIZVblY50E0OG+Xs/bcndLhqKl0FSVPQVVWh9ZPJKCHXVoc1Ja3ZFFNcgBmuC/XqjnsDCGlcKWKiW0CbWRzGrJ0BCkydOf72cDB4EseGV3KeZLbxfEUVt1EOYuDEEmAXQVXTTBX3A5vyq9C1Bx1H7wSmzVUImZfw09236+Lzqr98SWV+pHOglSHgYfDq8CEJxjIo8oADmAoGu9uclOQJ/7Sp0XigUgUE44SPMRKUymwC9TTrblKtUR49gyoVHMtnH1blTUqNwFt5dcvLtHMKzDeXAlWILhdcDP7Ys+VBwOXsJ+txSLiktiI4+CKgz4XMY58jmSKPkbMBEQjzFDhujpsybUdswMEd2GcSidqw338MsCNTgDGlUPmB5LV4LQl7zh+hlHqCgfxNhIl9+zwIuw5IlnYQ==\n# volans\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJGEc35gnlkmFVNRpZPFpUD6BE0ztk81TiqKcJaaTWwG rcoccioli@wikimedia.org\n# dzahn\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeSUaBOLv3ObiOPJ+72mTfOXOdSrRnzRnCV6vrVDTu803v/UkISPw77NW7kASkVAJmndGBM2g4l0garvfCACf4kAULfM7qvtblLRcKCLWmqNycEbUCqVmBh794yJryjsdZ1I3yxEJ2BsN68/Gu5H+S2lbf2v/LDHCAFS6kcwonbdZiKc+KHoePW53LsGU4J9f4tV+a4+7Rxus015yZcwga2gC8zySDoJUqbKJ4roXkFtJxC2Iv2tld7vO6/C2jl5dt18hDmi14h8L4Qogju4Ew4orDqjc06ErFayIsu4sOnmKYhK8zc+2+bB4jQpGjOtyeOzapXJgbDoSA/nfRa+8N dzahn@wikimedia.org\n# krenair\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjyQjatHRgTqYDmKtdneyNM8ujhXx2eso3U2oFIqTsyBCH6Svn7BU/xAGfXjgWSh75h7SjwsUmXWE9eyE/BF1rypsOVC5Tjy56i7anul6f0ffGKgnMWN8gKlIdiQY4WTCi+3UQiv5vLXKsFAPLvPOQIrcWZKHARJzjx0M5lcHxC95TXn8e85S9ZCXdBNSgQfPQU2/0oVH0E2IsHbxcA/WJBxCUc1YNGxFUNk3O4JbBZX4QXFa8K9HMxoGMuhVHmiF/RHu06JJdaPt0bvHLfYoSvnvEoW6zM16wLQpVeS46ZH7ED+dgKC/DZ1Y9uL2Q6BkYeWI4hu8ojh1VpVOTihLl Alex Monk Cloud VPS root\n# reedy\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCrbx9PQlWVrvYAw280ypYulMffcIUJnAXTgU7fWCEWD/k91133TJ15u5KhT6Kx1tS3aE+6Vb/5LpCxsre16OuVLZUH5qj+klAymysYpp1tR1UNKLNN8jQT07juPeHvsjjkixxwKRQeyojLnb+JdgTv8j7KztrdgcisB0o5hbLDiHSsMrRvFCDbTfDEKZgbWVHbLWztwy22RwYXZJm5YTRiW8YpuqZ1/PMAARku9B8Grm18JUZ53HwfLSiEWPOKo6vAfTxQHWhUYn+PV63oNhgWOtzLowaJ3OuiSTHF9YDKEV/6yzgHECjVSG+TO2eBkE1FKyEtfcU54z0Ej5jS5iu+P/GVhZNrw2CddxkgASRHUDw1sjeAtFP1bfQoFp0fmdHPTIJ84YqRTX6mVCVuG61gCgjgw3LxEPNRD52eDlkhk1f73sn7fbZQJ8lzSWj59r0mDt2Ja4hRYPjyJy1gr3Br6mjEdvCgRG9IUe12vAGdhxJFYJVSaD3y7HJHS1j5cyBdPNlnjlmpUfotoriAli9m01+0BEpkix80t4KzCF/q0o8lLcFviHzinmlP2Lfa9VrqMERNBokCREof1Emiv2o5g8yHLZgx6tb4pnKaBFk9AnnxyxlcX0ZwwVwaHZE7CQpBz+FmKIukei/+m3IMXWLdW7oZs3HUoxmMgRqq8BnP+w== sam@reedyboy.net\n# dcaro\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDRLt5Ss9ykeA6uUfQdB+LeO80zqHND6FiG6aNZ79FaJwGSnVB0QdIvjZUbn6ubllLo/Xx0SfmWvbqp6HLwi5J5xZP21dkUAVDyWqHIbUvDwHrsxYhHw25OnkGE4i/uKzoT1LCCJHt8OF0tgcPLSQZwK9De4xVLgAmZrxWAUzPxLvHnTVsN6qOS6nRG3mgcol90Ny2F1lxIMrsbJEPd3Iso8l2GqCABIXatPPNjiqBel4mJ1VR88gx2vDg2Y8hJqeQ5EYFWincJENq8D812HnunkjKaej5VMK1vCq5H4Q+9UESBWQcT0qNfyRbzfaUuvgxrH0ZslT86yurejusxC8QV/stFzUSoPb7F+8bKkCJL7GmxjBGHOBZWh1Ez7fWys+lkA8Z/gIbq1mRuENkGFnxPazUykH+FV2dpc1x6FrMLpMf4yYKgvQzRTPFK/W9anAp/2CRrECIK21zG+pgARYWnXeWOhrfi5l0Glf5mgVBKmbSJhLPGzmVyfaPkdceLXNM= david@magnum\n# legoktm\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILmqXuFvgPkaqh6tvQZK1ytr1QlD6bOeUubu+590pln8 legoktm@dev\n# taavi\nsk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGKMx+9WZk90oPWb+hTrZuMAtT59FEhhIao44FWerlC+AAAABHNzaDo= taavi@runko wmcs yk1\nsk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIDOncihf8FADe8qnja41tv0naqemyOaevzNFZZxZF04xAAAABHNzaDo= taavi@runko wmcs yk2\n# cwhite\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCGUkHiLD7wRcTaDDOqTNwsTSuvmIAaBSggy7EXR/tQVhXPpRc91t/xl8nLtB4OBs9fG9R21HR4grjcSFxxSeFYguc5XDERtohLLIOu9nQcvYaYbRvOn2mh3y2Xonq2Jv/uHCZ1b76bp9fwA8rC/to5f6iOVz+ozSTEUwLVFr0310fXmgy7yt5QfXgT2iw4izEUv6n8aQFpUCojfzds58M2pw7vcuX2C/qVWX6MeF+n/SWTX4GNYk6CHfJ5dN+Kvq6d9KXk3xrsuE1y0cz7gUb1T0E8oMBxklTxvJgjFgBmjgkrV0w5bFUW66S0JNCW+Opw5wQVVTLxncCsvw6SrlRl6vMJoV5wId4uzEaJh4HCQrwkD+Uk7FwspexYkZvTsq2qTBr6l2UvL3GXxD01TcnKBgcsKtI4wciW6chGj/mxsQw8vFC0WFx/YrHa/0Ia3S5fpq/U1ZtmLuthgHW4Eg1TI2v2/DC9FJANwq9BBWodI4ODVbQ2K5VfAeSJdmIJ2PNjj+Asoc9Sa9pY6WKAhG/NH5Tf7DXlx8JLiHCYht+u7o/qvLDGcCguZW/+55vN3BD2Zl0xgTC86uE+/bCtMy5K3j8RYhxrjUkh67EwGYAgpTTEyUS/VBXxzsNJnlamPxvbU452YA/zPH8nWH5LfjLR6qzd+DPYwt9cO6QV6Vlxw== cwhite@wikimedia-org\n# fnegri\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDaTGwp3a7MKGiA+N0biMiwlREs4nMcmKZRNvxZfgywA6saIu5VazlFqZWCNVamTUgVuyLD7vsbqYghHEOVkaDZSvvA+W3TYSNiqi/xff/aGhT8eDH8i8IFaV4UQEPW+HwM4qZmdikCsgoFQKpK7DQFcqYqDSsf0TGRh/qyZPmfC4MqUUFkV42eZxwlRhHOubxgG888rRlbebcekDW+Nx6g8aZowOYho0CiLOJT+nc6onWLsRZHg63kq9Ee3TVrm/RyY31NIOCOxBHqZ//TWyTZqOL4zwjyID2FMrtyXcA1+oav7MZYdz3zAcTR4TdHMM8fNfZsbF/jFEihiuslXwHA3kUM969h3WOEMhY2Gi9keweGA9VIx7251HBuLCJXkMmLbjzHLzWn0AxI4i26RMBMQq0WI3Qm3fcu6ItsjoTn6NxQya+o/HcDgj31E9gfujNAezJmXnKcR7PV52hDKX+fLTz/NlfDZSIN9WcZ+rQecTHbEo7rOj4SKNqlYla4eCc= fnegri@wikimedia.org\n# tstarling\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gmwMhe6S4EualYJVcisxJ+kH/VQdqtV0j0OHdj3ZBGtCop50DzMwDaVj5Hc/H+yxOjghd8lOODg5t5TT+GcBCRkbYA0ICspkpWepjHLVdYK/Y+hm3+UcWZ3yJMn6gL01KxvMQtvWqfpoGANitocteMiUh6quJ7uhU2DDdbs2wvocpZ/EvTo2kJoQqP3snf9qwDOhr5oES031asV8TZG6Zn9AQDOyrrYaVaxabYKgAz9gQfHsIi+xGYLQHDxG7AULbHQfStZvYHhyuuJt9i45fb7z1k9oRCb3XBaICjyhBFgTRLTPtdcOU5yHDRbpIZBmhZhARE4diek6JN0XJDhl yubikey2\n# lucaswerkmeister\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGlea7OT1F2xmoBqc3rv7XXCAPlPG2PodtGhunbwd036 lucaswerkmeister@theoden\n","show_diff":false}},{"type":"File","title":"/etc/sudoers.d/ops","tags":["file","sudo::group","sudo","group","ops","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sudo/manifests/group.pp","line":35,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0440","content":"# This file is managed by Puppet!\n\n%ops ALL=(ALL) NOPASSWD: ALL\n","validate_cmd":"/usr/sbin/visudo -cqf %"}},{"type":"Class","title":"Security::Access","tags":["class","security::access","security","access","security::access::config","config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"exported":false,"kind":"unknown"},{"type":"Concat","title":"/etc/security/access.conf","tags":["concat","class","security::access","security","access","security::access::config","config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/access.pp","line":10,"exported":false,"kind":"defined_type","parameters":{"owner":"root","group":"root","mode":"0444","ensure":"present","path":"/etc/security/access.conf","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"File","title":"/etc/security/access.conf.d","tags":["file","class","security::access","security","access","security::access::config","config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/access.pp","line":16,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","recurse":true,"purge":true,"force":true,"owner":"root","group":"root"}},{"type":"Security::Pam::Config","title":"local-pam-access","tags":["security::pam::config","security","pam","config","local-pam-access","class","security::access","access","security::access::config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/access.pp","line":23,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/security/local-pam-access","ensure":"present"}},{"type":"Concat::Fragment","title":"security-access-labs-local","tags":["concat::fragment","concat","fragment","security-access-labs-local","security::access::config","security","access","config","labs-local","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/access/config.pp","line":44,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/security/access.conf","content":"+:ALL:LOCAL\n","order":0}},{"type":"Concat::Fragment","title":"security-access-labs-restrict-to-project","tags":["concat::fragment","concat","fragment","security-access-labs-restrict-to-project","security::access::config","security","access","config","labs-restrict-to-project","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/access/config.pp","line":44,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/security/access.conf","content":"-:ALL EXCEPT (project-tools) root:ALL\n","order":99}},{"type":"Systemd::Unit","title":"sssd-nss.service-sssd-nss-auto-restart","tags":["systemd::unit","systemd","unit","sssd-nss.service-sssd-nss-auto-restart","systemd::override","override","sssd-nss-auto-restart","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/override.pp","line":14,"exported":false,"kind":"defined_type","parameters":{"override_filename":"sssd-nss-auto-restart","override":true,"unit":"sssd-nss.service","source":"puppet:///modules/ldap/client/sssd/sssd-nss-auto-restart.override.service","ensure":"present","restart":false,"require":["Class[Systemd]"]}},{"type":"Systemd::Unit","title":"prometheus_ssh_open_sessions.service","tags":["systemd::unit","systemd","unit","prometheus_ssh_open_sessions.service","systemd::timer::job","timer","job","prometheus_ssh_open_sessions","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Regular job to collect active shell session information\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/prometheus-ssh_open_sessions /var/lib/prometheus/node.d/ssh_open_sessions.prom\n","unit":"prometheus_ssh_open_sessions.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"prometheus_ssh_open_sessions","tags":["systemd::timer","systemd","timer","prometheus_ssh_open_sessions","systemd::timer::job","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"*-*-* *:0/5:0"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"prometheus_ssh_open_sessions.service"}},{"type":"Systemd::Syslog","title":"prometheus_ssh_open_sessions","tags":["systemd::syslog","systemd","syslog","prometheus_ssh_open_sessions","systemd::timer::job","timer","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/etc/ferm/conf.d/10_metricsinfra-prometheus-all","tags":["ferm","file","ferm::rule","rule","metricsinfra-prometheus-all","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/rule.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# 10_metricsinfra-prometheus-all: \n\ndomain (ip ip6) {\n\ttable filter {\n\t\tchain INPUT {\n\t\t\tsaddr @resolve((metricsinfra-prometheus-2.metricsinfra.eqiad1.wikimedia.cloud metricsinfra-prometheus-3.metricsinfra.eqiad1.wikimedia.cloud)) ACCEPT;\n\t\t}\n\t}\n}\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/10_dhcp6-response","tags":["ferm","file","ferm::service","service","dhcp6-response","class","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# \n&RD_SERVICE(udp, 546, fe80::/10, fe80::/10);\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"Motd::Script","title":"infrastructure-banner","tags":["motd::script","motd","script","infrastructure-banner","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/infrastructure.pp","line":8,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/toolforge/40-tools-infrastructure-banner.sh","priority":50}},{"type":"Security::Access::Config","title":"toolforge-admin-only","tags":["security::access::config","security","access","config","toolforge-admin-only","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/infrastructure.pp","line":16,"exported":false,"kind":"defined_type","parameters":{"content":"-:ALL EXCEPT (tools.admin) root:ALL\n","priority":90,"ensure":"present"}},{"type":"Sudo::Group","title":"toolforge-admin-root","tags":["sudo::group","sudo","group","toolforge-admin-root","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/infrastructure.pp","line":30,"exported":false,"kind":"defined_type","parameters":{"group":"tools.admin","privileges":["ALL = (ALL) NOPASSWD: ALL"],"ensure":"present","require":["Class[Sudo]"]}},{"type":"Class","title":"Aptly::Client","tags":["class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/role/manifests/aptly/client.pp","line":11,"exported":false,"kind":"class","parameters":{"servername":"deb.svc.toolforge.org","components":["main"],"protocol":"http","auto_upgrade":true}},{"type":"Apt::Repository","title":"project-aptly","tags":["apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/aptly/manifests/client.pp","line":8,"exported":false,"kind":"defined_type","parameters":{"uri":"http://deb.svc.toolforge.org/repo","dist":"bookworm-tools","components":"main","trust_repo":true,"source":false,"bin":true,"ensure":"present","allow_releaseinfo_change":false}},{"type":"Apt::Pin","title":"project-aptly","tags":["apt::pin","apt","pin","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/aptly/manifests/client.pp","line":17,"exported":false,"kind":"defined_type","parameters":{"package":"*","pin":"origin deb.svc.toolforge.org","priority":1500,"ensure":"present"}},{"type":"Apt::Conf","title":"unattended-upgrades-aptly","tags":["apt::conf","apt","conf","unattended-upgrades-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/aptly/manifests/client.pp","line":23,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","priority":"52","key":"Unattended-Upgrade::Origins-Pattern::","value":"site=deb.svc.toolforge.org"}},{"type":"Class","title":"Profile::Firewall","tags":["class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"exported":false,"kind":"unknown","parameters":{"provider":"ferm","manage_nf_conntrack":true,"enable_logging":true,"defs_from_etcd":false,"defs_from_etcd_nft":false,"ferm_icinga_retry_interval":1,"conftool_prefix":"/conftool/v1","monitoring_hosts":[],"cumin_masters":["172.16.1.220"],"bastion_hosts":["172.16.17.143","2a02:ec80:a000:1::156","172.16.18.237","2a02:ec80:a000:1::442","172.16.1.220"],"cache_hosts":["172.16.19.232","2a02:ec80:a000:1::2f3","172.16.17.55","2a02:ec80:a000:1::31d"],"lb_health_checks":[],"kafka_brokers_main":["10.192.5.9","2620:0:860:106:10:192:5:9","10.192.22.6","2620:0:860:112:10:192:22:6","10.192.32.4","2620:0:860:103:10:192:32:4","10.192.48.33","2620:0:860:104:10:192:48:33","10.192.48.35","2620:0:860:104:10:192:48:35","10.64.0.101","2620:0:861:101:10:64:0:101","10.64.16.30","2620:0:861:102:10:64:16:30","10.64.32.45","2620:0:861:103:10:64:32:45","10.64.48.37","2620:0:861:107:10:64:48:37","10.64.152.5","2620:0:861:120:10:64:152:5"],"kafka_brokers_jumbo":["10.64.130.10","2620:0:861:109:10:64:130:10","10.64.131.16","2620:0:861:10a:10:64:131:16","10.64.132.21","2620:0:861:10b:10:64:132:21","10.64.134.9","2620:0:861:10d:10:64:134:9","10.64.135.16","2620:0:861:10e:10:64:135:16","10.64.136.11","2620:0:861:10f:10:64:136:11","10.64.154.15","2620:0:861:122:10:64:154:15","10.64.160.16","2620:0:861:128:10:64:160:16","10.64.0.126","2620:0:861:101:10:64:0:126"],"kafka_brokers_logging":["10.64.16.205","2620:0:861:102:10:64:16:205","10.64.133.11","2620:0:861:10c:10:64:133:11","10.64.183.12","2620:0:861:13d:10:64:183:12","10.64.131.13","2620:0:861:10a:10:64:131:13","10.64.135.13","2620:0:861:10e:10:64:135:13","10.192.23.29","2620:0:860:113:10:192:23:29","10.192.11.28","2620:0:860:10c:10:192:11:28","10.192.26.22","2620:0:860:105:10:192:26:22","10.192.11.27","2620:0:860:10c:10:192:11:27","10.192.39.25","2620:0:860:11e:10:192:39:25"],"kafkamon_hosts":["10.64.32.11","2620:0:861:103:10:64:32:11","10.192.16.139","2620:0:860:102:10:192:16:139"],"zookeeper_hosts_main":["10.64.0.207","2620:0:861:101:10:64:0:207","10.64.16.110","2620:0:861:102:10:64:16:110","10.64.48.154","2620:0:861:107:10:64:48:154","10.192.16.45","2620:0:860:102:10:192:16:45","10.192.32.52","2620:0:860:103:10:192:32:52","10.192.48.59","2620:0:860:104:10:192:48:59"],"zookeeper_flink_hosts":["10.64.16.9","2620:0:861:102:10:64:16:9","10.64.0.8","2620:0:861:101:10:64:0:8","10.64.32.41","2620:0:861:103:10:64:32:41","10.192.16.227","2620:0:860:102:10:192:16:227","10.192.32.179","2620:0:860:103:10:192:32:179","10.192.48.219","2620:0:860:104:10:192:48:219"],"druid_public_hosts":["10.64.131.9","2620:0:861:10a:10:64:131:9","10.64.132.12","2620:0:861:10b:10:64:132:12","10.64.135.9","2620:0:861:10e:10:64:135:9","10.64.32.101","2620:0:861:103:10:64:32:101","10.64.48.185","2620:0:861:107:10:64:48:185"],"labstore_hosts":["208.80.154.142","2620:0:861:2:208:80:154:142","208.80.154.71","2620:0:861:3:208:80:154:71"],"mysql_root_clients":["10.64.16.90","10.192.16.191","10.64.16.154","10.192.32.49","208.80.155.103","208.80.154.9","10.64.0.20"],"deployment_hosts":["10.64.16.93","2620:0:861:102:10:64:16:93","10.192.32.7","2620:0:860:103:10:192:32:7"],"prometheus_nodes":["tools-prometheus-8.tools.eqiad1.wikimedia.cloud","tools-prometheus-9.tools.eqiad1.wikimedia.cloud"]}},{"type":"Class","title":"Firewall","tags":["class","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":47,"exported":false,"kind":"class","parameters":{"provider":"ferm"}},{"type":"Class","title":"Ferm","tags":["class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/firewall/manifests/init.pp","line":8,"exported":false,"kind":"class","parameters":{"ensure":"present"}},{"type":"Package","title":"libnet-dns-perl","tags":["package","libnet-dns-perl","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":8,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"iptables","tags":["package","iptables","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":9,"exported":false,"kind":"compilable_type","parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"ferm","tags":["package","ferm","class","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":14,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/modules-load.d/conntrack.conf","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":26,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0444","content":"nf_conntrack\n","before":["Package[ferm]","Package[libnet-dns-perl]","Package[conntrack]"]}},{"type":"File","title":"/usr/local/sbin/ferm-status","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0550","owner":"root","group":"root","content":"#!/usr/bin/env python3\n\"\"\"script to check the status of ferm.service and compare the output of\niptables-save/ip6tables-save with the output of `ferm -nl /etc/ferm/ferm.conf`\nThis enables us to ensure the desired ruleset has been loaded by iptables\"\"\"\nfrom argparse import ArgumentParser\nfrom ipaddress import ip_network\nfrom re import match\nfrom socket import getservbyname\nfrom subprocess import check_output, run, CalledProcessError\nfrom pathlib import Path\nfrom syslog import syslog\n\n\ndef get_quoted_string(words_array, idx):\n    \"\"\"read words array for a quoted string starting at idx\n\n    This functions will parse words array looking for a quoted string starting\n    at words_array[idx]. if we do find a quoted string, keep scanning\n    words_array until we find the string terminator and return the found string.\n    Otherwise return words_array[idx].\n\n    Arguments:\n        words_array (list): the words array to search\n        idx (int): the idx pointing to the beginning of the quoted string\n\n    Returns:\n        str: if a quote string is found return that otherwise return words_array[idx]\n    \"\"\"\n    if words_array[idx][0] not in ['\"', \"'\"]:\n        return words_array[idx]\n    quote_mark = words_array[idx][0]\n    msg = []\n    for word in words_array[idx:]:\n        msg.append(word)\n        if word.endswith(quote_mark) and word[-2] != '\\\\':\n            break\n    return ' '.join(msg).strip(quote_mark)\n\n\nclass Tables(dict):\n    \"\"\"class to hold all tables\"\"\"\n\n    def __str__(self):\n        return '\\n'.join([str(table) for table in self.values()])\n\n\nclass Table:\n    \"\"\"Class to hold an individual Table\"\"\"\n\n    def __init__(self, name):\n        self.name = name\n        self._chains = {}\n\n    def __eq__(self, obj):\n        if not self.name == obj.name:\n            return False\n\n        if self.chains.keys() ^ obj.chains.keys():\n            # Chains differ, return early\n            return False\n\n        # Actually compare the chains\n        for chain_name, chain in self.chains.items():\n            if chain != obj.chains[chain_name]:\n                return False\n\n        return True\n\n    def __str__(self):\n        lines = ['*{}'.format(self.name)]\n        return '\\n'.join(lines + [str(chain) for chain in self.chains.values()])\n\n    def add(self, chain):\n        \"\"\"Add a chain to the table\n\n        Parameters:\n            chain (Chain): a chain to add to _chains\n        \"\"\"\n        self._chains[chain.name] = chain\n\n    def diff(self, table):\n        \"\"\"return  a diff or between self and table\n\n        Parameters:\n            table (Table): a Table object to compare\n        return:\n            list: a list of strings representing the difference between self and table\n        \"\"\"\n        lines = []\n        for missing in set(table.chains.keys()) - set(self.chains.keys()):\n            lines.append('-:{}'.format(missing))\n        for additional in set(self.chains.keys()) - set(table.chains.keys()):\n            lines.append('+:{}'.format(additional))\n        for name, chain in self.chains.items():\n            if name in table.chains.keys():\n                lines += chain.diff(table.chains[name])\n        return lines\n\n    @property\n    def chains(self):\n        \"\"\"return all chains\"\"\"\n        return self._chains\n\n\nclass Chain:\n    \"\"\"A class to maintain an iptables chain\"\"\"\n    _header = ':{name} {policy}'\n\n    def __init__(self, name, policy=None):\n        self.name = name\n        self.policy = policy  # one of ACCEPT, DROP, None\n        self._rules = []\n\n    def __eq__(self, obj):\n        for token, value in vars(self).items():\n            if value != vars(obj)[token]:\n                return False\n        return True\n\n    def __str__(self):\n        return '\\n'.join([self.header()] + [str(rule) for rule in self.rules])\n\n    def add(self, rule):\n        \"\"\"Add a rule to the chain\n\n        Parameters:\n            rule (Rule): a rule to add to _rules\n        \"\"\"\n        self._rules.append(rule)\n\n    def diff(self, chain):\n        \"\"\"return  a diff or between self and chain\n\n        Parameters:\n            table (Chain): a Chain object to compare\n        return:\n            list: a list of strings representing the difference between self and chain\n        \"\"\"\n        lines = []\n        if self.policy != chain.policy:\n            lines.append([\n                '-{}'.format(self.header()),\n                '+{}'.format(self.header(chain)),\n            ])\n        for rule in set(self.rules) - set(chain.rules):\n            lines.append('-{}'.format(str(rule)))\n        for rule in set(chain.rules) - set(self.rules):\n            lines.append('+{}'.format(str(rule)))\n        return lines\n\n    def header(self, obj=None):\n        \"\"\"Return a formated header\"\"\"\n        if obj is not None:\n            return self._header.format(name=obj.name, policy=obj.policy)\n        return self._header.format(name=self.name, policy=self.policy)\n\n    @property\n    def rules(self):\n        \"\"\"Return all rules\"\"\"\n        return self._rules\n\n\nclass Rule:\n    \"\"\"class to parse an iptables rule\"\"\"\n\n    # pylint: disable=too-many-instance-attributes\n    argument_switch = {\n        '-A': 'chain',\n        '-p': 'protocol',\n        '--protocol': 'protocol',\n        '-s': 'source',\n        '--source': 'source',\n        '-d': 'destination',\n        '--destination': 'destination',\n        '--dport': 'dport',\n        '--sport': 'sport',\n        '-m': 'match',\n        '--match': 'match',\n        '--comment': 'comments',\n        '--state': 'state',\n        '--limit': 'limit',\n        # limit burst is not present in iptables-save\n        # '--limit-burst': 'limit_burst',\n        '--pkt-type': 'pkt_type',\n        '-j': 'jump',\n        '--jump': 'jump',\n    }\n\n    def __init__(self, raw):\n        self._raw = raw\n        self._raw_words = raw.split()\n        self.chain = None\n        self.source = None\n        self.destination = None\n        self.protocol = None\n        self.dport = None\n        self.sport = None\n        self.match = None\n        self.state = None\n        self.comments = []\n        self.limit = None\n        self.limit_burst = None\n        self.pkt_type = None\n        self.jump = None\n        self._parse()\n\n    def __hash__(self):\n        return hash(str(self))\n\n    def __str__(self):\n        output = ['-A {}'.format(self.chain)]\n        for token, value in vars(self).items():\n            if value:\n                value = [value]\n            if token.startswith('_raw') or token == 'chain' or not isinstance(value, list):\n                continue\n            output += ['--{} {}'.format(token.replace('_', '-'), element) for element in value]\n        return ' '.join(output)\n\n    def __repr__(self):\n        return 'Rule(\"{}\")'.format(self._raw)\n\n    def __eq__(self, obj):\n        for token, value in vars(self).items():\n            if token.startswith('_raw'):\n                continue\n            if value != vars(obj)[token]:\n                return False\n        return True\n\n    @staticmethod\n    def _resolve_port(port):\n        \"\"\"convert a port name to a number e.g. ssh -> 22\"\"\"\n        # return ranges like 6800:7100\n        if match(r'\\d{1,5}:\\d{1,5}', str(port)):\n            return port\n        try:\n            return int(port)\n        except ValueError:\n            return getservbyname(port)\n\n    def _parse(self):\n        for idx, word in enumerate(self._raw_words):\n            if word in self.argument_switch.keys():\n                next_word = self._raw_words[idx + 1]\n                # don't track -m (tcp|udp)\n                if word in ['-m', '--match'] and next_word in ['tcp', 'udp']:\n                    continue\n                if word == '--comment':\n                    # We can have multiple comments so this is an array\n                    self.comments.append(get_quoted_string(self._raw_words, idx + 1))\n                    continue\n                vars(self)[self.argument_switch.get(word)] = next_word\n\n        # perform a bit of normalisation\n        if self.match == 'state':\n            self.state = self.state.split(',').sort()\n        if self.limit is not None:\n            self.limit = self.limit.replace('second', 'sec')\n        if self.protocol is not None:\n            self.protocol = self.protocol.replace('icmpv6', 'ipv6-icmp')\n        if self.source is not None:\n            self.source = ip_network(self.source)\n        if self.destination is not None:\n            self.destination = ip_network(self.destination)\n        if self.dport is not None:\n            self.dport = Rule._resolve_port(self.dport)\n        if self.sport is not None:\n            self.sport = Rule._resolve_port(self.sport)\n\n\nclass Parser:\n    \"\"\"A class to parse the output of iptabls-save and ferm -nl\"\"\"\n\n    parser_methods = {\n        '*': 'table',\n        ':': 'chain',\n        '-': 'rule',\n    }\n\n    def __init__(self, lines, ignored_chain_prefixes=(),\n                 ignored_comment_prefixs=(), autoparse=True):\n        self._lines = lines\n        self._table = None\n        self._chain = None\n        self.ignored_chain_prefixes = ignored_chain_prefixes\n        self.ignored_comment_prefixs = ignored_comment_prefixs\n        self._tables = Tables()\n        if autoparse:\n            self.parse()\n\n    def __eq__(self, obj):\n        return self.tables == obj.tables\n\n    def __str__(self):\n        return str(self.tables)\n\n    @property\n    def tables(self):\n        \"\"\"Return all tables\"\"\"\n        return self._tables\n\n    def parse(self):\n        \"\"\"Parse the all lines\"\"\"\n        for line in self._lines.splitlines():\n            if not line:\n                continue\n            first_char = line[0]\n            if first_char in self.parser_methods:\n                getattr(self, '_parse_{}'.format(self.parser_methods[first_char]))(line)\n\n    def diff(self, parser):\n        \"\"\"return a diff between self and parser\n\n        Parameters:\n            table (Parser): a Parser object to compare\n        return:\n            list: a list of strings representing the difference between self and parser\n        \"\"\"\n        lines = []\n        for missing in set(parser.tables.keys()) - set(self.tables.keys()):\n            lines.append('-*{}'.format(missing))\n        for additional in set(self.tables.keys()) - set(parser.tables.keys()):\n            lines.append('+*{}'.format(additional))\n        for name, table in self.tables.items():\n            if name in parser.tables:\n                lines += table.diff(parser.tables[name])\n        return '\\n'.join(lines)\n\n    def _parse_table(self, line):\n        self._table = Table(line[1:])\n        self._tables[self._table.name] = self._table\n        self._chain = None\n\n    def _parse_chain(self, line):\n        parts = line.split()\n        if parts[0][1:].startswith(self.ignored_chain_prefixes):\n            return\n        if parts[1] == '-':\n            parts[1] = None\n        self._chain = Chain(parts[0][1:], parts[1])\n        self._table.add(self._chain)\n\n    def _parse_rule(self, line):\n        chain = line.split()[1]\n        rule = Rule(line)\n        if chain.startswith(self.ignored_chain_prefixes):\n            return\n        if rule.jump and rule.jump.startswith(self.ignored_chain_prefixes):\n            return\n        if rule.comments and any(comment for comment in rule.comments\n                                 if comment.startswith(self.ignored_comment_prefixs)):\n            return\n        self._chain = self._table.chains[chain]\n        self._chain.add(Rule(line))\n\n    def print(self):\n        \"\"\"Print the parsed output\"\"\"\n        for table in self.tables.values():\n            print(f'*{table.name}')\n            for chain_name, chain in table.chains.items():\n                print(f':{chain_name} {chain.policy}')\n                for rule in chain.rules:\n                    print(rule)\n\n\ndef get_args():\n    \"\"\"Parse arguments\"\"\"\n    parser = ArgumentParser(description=__doc__)\n    parser.add_argument('-v', '--verbose', action='store_true')\n    parser.add_argument('--no-ipv6', action='store_true', default=False,\n                        help=\"Don't compare the state of IPv6 chains\")\n    parser.add_argument('--start-ferm', action='store_true', default=False,\n                        help=\"Start ferm if a diff was detected, will return with the \"\n                        \"exitcode from ferm\")\n    parser.add_argument('--iptables-save', type=Path, required=False,\n                        help='File containing iptables-save output to use for comparison '\n                        'instead of calling iptables-save')\n    parser.add_argument('--ferm-nl', type=Path, required=False,\n                        help=\"File containing 'ferm -nl --domain ip' output to use for \"\n                        \"comparison instead of calling ferm\")\n    return parser.parse_args()\n\n\ndef main():\n    \"\"\"Main entry point\"\"\"\n    args = get_args()\n\n    ret_code = 0\n    if not args.iptables_save and not args.ferm_nl:\n        # Actually check the service's status so it trigger puppet's ensure => running\n        try:\n            check_output('systemctl is-active --quiet ferm.service'.split())\n        except CalledProcessError as systemctl_error:\n            ret_code = systemctl_error.returncode\n            msg = 'ferm.service is in error state, check systemctl status ferm.service'\n            if args.verbose:\n                print(msg)\n            syslog(msg + f', exitcode: {ret_code}')\n            # Return early if ferm.service is in a bad state\n            return ret_code\n\n    # calico creates dynamic rules in chains prefixed with cali-\n    # as well as the following chains  KUBE-SERVICES, KUBE-FIREWALL and KUBE-FORWARD\n    # docker creates DOCKER and DOCKER_USER\n    ignored_chain_prefix = ('DOCKER', 'cali-', 'KUBE-')\n    ignored_comment_prefixs = ('cali:')\n\n    if args.iptables_save:\n        iptables = args.iptables_save.read_text()\n    else:\n        iptables = check_output(['iptables-save']).decode()\n    if args.ferm_nl:\n        ferm = args.ferm_nl.read_text()\n    else:\n        ferm = check_output('ferm -nl --domain ip /etc/ferm/ferm.conf'.split()).decode()\n    ferm_parsed = Parser(ferm, ignored_chain_prefix, ignored_comment_prefixs)\n    iptables_parsed = Parser(iptables, ignored_chain_prefix, ignored_comment_prefixs)\n\n    if not args.no_ipv6:\n        ip6tables = check_output(['ip6tables-save'])\n        ferm6 = check_output('ferm -nl --domain ip6 /etc/ferm/ferm.conf'.split())\n        ferm6_parsed = Parser(ferm6.decode(), ignored_chain_prefix, ignored_comment_prefixs)\n        ip6tables_parsed = Parser(ip6tables.decode(), ignored_chain_prefix, ignored_comment_prefixs)\n\n    if not args.no_ipv6 and (ferm6_parsed != ip6tables_parsed):\n        ret_code = 1\n        if args.verbose:\n            print('ipv6:\\n{}'.format(ip6tables_parsed.diff(ferm6_parsed)))\n    if ferm_parsed != iptables_parsed:\n        ret_code = 1\n        if args.verbose:\n            print('ipv4:\\n{}'.format(iptables_parsed.diff(ferm_parsed)))\n\n    if ret_code == 0:\n        if args.verbose:\n            print('iptables and ferm are in sync')\n        syslog(f'iptables and ferm are in sync, exitcode: {ret_code}')\n    else:\n        if args.verbose:\n            print('iptables and ferm are out of sync')\n        if args.start_ferm:\n            if args.verbose:\n                print('Starting ferm')\n            syslog('Starting ferm')\n            return run('ferm /etc/ferm/ferm.conf'.split()).returncode\n        else:\n            syslog(f'iptables and ferm are out of sync, exitcode: {ret_code}')\n\n    return ret_code\n\n\nif __name__ == '__main__':\n    raise SystemExit(main())\n"}},{"type":"File","title":"/etc/ferm","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":44,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","force":true,"mode":"2751","group":"adm","owner":"root"}},{"type":"Service","title":"ferm","tags":["service","ferm","class","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":52,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","restart":"/bin/systemctl reload-or-restart ferm"}},{"type":"Systemd::Override","title":"ferm-service-status-restart","tags":["systemd::override","systemd","override","ferm-service-status-restart","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":60,"exported":false,"kind":"defined_type","parameters":{"unit":"ferm","source":"puppet:///modules/ferm/ferm_systemd_override","ensure":"present","restart":false}},{"type":"File","title":"/etc/ferm/ferm.conf","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0400","source":"puppet:///modules/ferm/ferm.conf","require":"Package[ferm]","notify":"Service[ferm]"}},{"type":"File","title":"/etc/ferm/functions.conf","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":75,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0400","source":"puppet:///modules/ferm/functions.conf","require":"Package[ferm]","notify":"Service[ferm]"}},{"type":"File","title":"/etc/ferm/conf.d","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":85,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"adm","mode":"0551","recurse":true,"purge":true,"force":true,"ignore":[".*"],"require":"Package[ferm]","notify":"Service[ferm]"}},{"type":"File","title":"/etc/default/ferm","tags":["file","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":100,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","owner":"root","group":"root","mode":"0400","source":"puppet:///modules/ferm/ferm.default","require":"Package[ferm]","notify":"Service[ferm]"}},{"type":"Alternatives::Select","title":"iptables","tags":["alternatives::select","alternatives","select","iptables","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":116,"exported":false,"kind":"defined_type","parameters":{"path":"/usr/sbin/iptables-legacy","require":"Package[iptables]"}},{"type":"Alternatives::Select","title":"ip6tables","tags":["alternatives::select","alternatives","select","ip6tables","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/init.pp","line":121,"exported":false,"kind":"defined_type","parameters":{"path":"/usr/sbin/ip6tables-legacy","require":"Package[iptables]"}},{"type":"Class","title":"Profile::Firewall::Log::Ferm","tags":["class","profile::firewall::log::ferm","profile","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"exported":false,"kind":"unknown","parameters":{"log_burst":5,"log_rate":"1/second","separate_file":false}},{"type":"Class","title":"Ulogd","tags":["class","ulogd","profile::firewall::log::ferm","profile","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall/log/ferm.pp","line":11,"exported":false,"kind":"class","parameters":{"ensure":"present","logfile":"syslog","log_level":"info","logemu_logfile":"/var/log/ulog/syslogemu.log","logemu_nfct_logfile":"/var/log/ulog/syslogemu_nfct.log","oprint_logfile":"/var/log/ulog/oprint.log","gprint_logfile":"/var/log/ulog/gprint.log","xml_directory":"/var/log/ulog/","json_logfile":"/var/log/ulog/ulogd.json","json_nfct_logfile":"/var/log/ulog/ulogd_nfct.json","pcap_file":"/var/log/ulog/ulogd.pcap","nacct_file":"/var/log/ulog/nacct.log","config_file":"/etc/ulogd.conf","syslog_facility":"local7","syslog_level":"info","sync":true,"nflog":["SYSLOG"],"nfct":[],"acct":[]}},{"type":"Package","title":"ulogd2","tags":["package","ulogd2","class","ulogd","profile::firewall::log::ferm","profile","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ulogd/manifests/init.pp","line":67,"exported":false,"kind":"compilable_type","parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/ulogd.conf","tags":["file","class","ulogd","profile::firewall::log::ferm","profile","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ulogd/manifests/init.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","content":"# MANAGED BY PUPPET\n[global]\nlogfile=syslog\nloglevel=3\n\n\nstack=log1:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,syslog1:SYSLOG\n\n\n\n\n[ct1]\n\n[ct2]\nhash_enable=0\n\n[mark]\n\n[log1]\ngroup=0\n\n[log2]\ngroup=1\n\n[log3]\ngroup=2\n\n[logemu1]\nsync=1\nfile=/var/log/ulog/syslogemu.log\n\n[emunfct1]\nsync=1\nfile=/var/log/ulog/syslogemu_nfct.log\n\n[json1]\nsync=1\nfile=/var/log/ulog/ulogd.json\n\n[jsonnfct1]\nsync=1\nfile=/var/log/ulog/ulogd_nfct.json\n\n\n[oprint1]\nsync=1\nfile=/var/log/ulog/oprint.log\n\n[gprint1]\nsync=1\nfile=/var/log/ulog/gprint.log\n\n[json1]\nsync=1\nfile=/var/log/ulog/ulogd.json\n\n[xml1]\nsync=1\nfile=/var/log/ulog/\n\n[pcap1]\nsync=1\nfile=\n\n[nacct1]\nsync=1\nfile=\n\n[syslog1]\nfacility=LOG_LOCAL7\nlevel=LOG_INFO\n","notify":"Service[ulogd2]","owner":"root","group":"root"}},{"type":"Service","title":"ulogd2","tags":["service","ulogd2","class","ulogd","profile::firewall::log::ferm","profile","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ulogd/manifests/init.pp","line":83,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","enable":true,"require":"Package[ulogd2]"}},{"type":"Profile::Auto_restarts::Service","title":"ulogd2","tags":["profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ulogd/manifests/init.pp","line":89,"exported":false,"kind":"defined_type","parameters":{"ensure":"present"}},{"type":"Ferm::Filter_log","title":"filter-bootp","tags":["ferm::filter_log","ferm","filter_log","filter-bootp","class","profile::firewall::log::ferm","profile","firewall","log","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall/log/ferm.pp","line":14,"exported":false,"kind":"defined_type","parameters":{"proto":"udp","daddr":"255.255.255.255","sport":67,"dport":68,"ensure":"present"}},{"type":"Ferm::Rule","title":"log-everything","tags":["ferm::rule","ferm","rule","log-everything","class","profile::firewall::log::ferm","profile","firewall","log","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall/log/ferm.pp","line":21,"exported":false,"kind":"defined_type","parameters":{"rule":"NFLOG mod limit limit 1/second limit-burst 5 nflog-prefix \"[fw-in-drop]\";","prio":"98","ensure":"present","domain":"(ip ip6)","table":"filter","chain":"INPUT","desc":""}},{"type":"Sysctl::Parameters","title":"ferm_conntrack","tags":["sysctl::parameters","sysctl","parameters","ferm_conntrack","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":57,"exported":false,"kind":"defined_type","parameters":{"values":{"net.netfilter.nf_conntrack_max":262144,"net.netfilter.nf_conntrack_tcp_timeout_time_wait":65},"module":"nf_conntrack","ensure":"present","priority":70,"no_priority_prefix":false}},{"type":"Firewall::Service","title":"ssh-from-bastion","tags":["firewall::service","firewall","service","ssh-from-bastion","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":66,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port":22,"srange":["172.16.17.143","2a02:ec80:a000:1::156","172.16.18.237","2a02:ec80:a000:1::442","172.16.1.220"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Firewall::Service","title":"ssh-from-cumin-masters","tags":["firewall::service","firewall","service","ssh-from-cumin-masters","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":72,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port":22,"src_sets":["CUMIN_MASTERS"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Firewall::Service","title":"full-monitoring-metrics-access-udp","tags":["firewall::service","firewall","service","full-monitoring-metrics-access-udp","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":81,"exported":false,"kind":"defined_type","parameters":{"proto":"udp","port_range":[1,65535],"srange":["tools-prometheus-8.tools.eqiad1.wikimedia.cloud","tools-prometheus-9.tools.eqiad1.wikimedia.cloud"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Firewall::Service","title":"full-monitoring-metrics-access-tcp","tags":["firewall::service","firewall","service","full-monitoring-metrics-access-tcp","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":81,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port_range":[1,65535],"srange":["tools-prometheus-8.tools.eqiad1.wikimedia.cloud","tools-prometheus-9.tools.eqiad1.wikimedia.cloud"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Package","title":"conntrack","tags":["package","conntrack","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":89,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Confd::File","title":"/etc/ferm/conf.d/00_defs_requestctl","tags":["confd::file","confd","file","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":92,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","reload":"/bin/systemctl reload ferm","watch_keys":["/request-ipblocks/abuse"],"content":"{{/* SPDX-License-Identifier: Apache-2.0 */}}\n{{- range gets \"/request-ipblocks/abuse/*\" }}\n  {{- $ipblock := json .Value }}\n@def ${{ toUpper (base .Key) }} = (\n  {{- range $cidr := $ipblock.cidrs }}\n  {{ $cidr }}\n  {{- end }}\n);\n{{- end }}\n","prefix":"/conftool/v1","relative_prefix":false,"instance":"main","mode":"0444","notify":["Service[confd]"]}},{"type":"Ferm::Rule","title":"drop-blocked-nets","tags":["ferm::rule","ferm","rule","drop-blocked-nets","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":111,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","prio":"01","rule":"saddr $BLOCKED_NETS DROP;","desc":"drop abuse/blocked_nets.yaml defined in the requestctl private repo","domain":"(ip ip6)","table":"filter","chain":"INPUT"}},{"type":"Ferm::Conf","title":"main","tags":["ferm::conf","ferm","conf","main","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":117,"exported":false,"kind":"defined_type","parameters":{"prio":"02","source":"puppet:///modules/base/firewall/main-input-default-drop.conf","ensure":"present"}},{"type":"Ferm::Rule","title":"dscp-default","tags":["ferm::rule","ferm","rule","dscp-default","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":123,"exported":false,"kind":"defined_type","parameters":{"prio":99,"table":"mangle","chain":"POSTROUTING","rule":"DSCP set-dscp-class CS0;","ensure":"present","domain":"(ip ip6)","desc":""}},{"type":"Ferm::Conf","title":"defs","tags":["ferm::conf","ferm","conf","defs","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":130,"exported":false,"kind":"defined_type","parameters":{"prio":"00","content":"\n@def $LINK_LOCAL = (169.254.0.0/16 fe80::/10);\n@def $INTERNAL = (10.0.0.0/8 2620:0:860:100::/56 2620:0:861:100::/56 2620:0:863:100::/56 2001:df2:e500:100::/56 2a02:ec80:300:100::/56 2a02:ec80:600:100::/56 2a02:ec80:700:100::/56 2a02:ec80:ff00:100::/56);\n# $DOMAIN_NETWORKS is a set of all networks belonging to a domain.\n# a domain is a realm currently, but the notion is more generic than that on purpose\n@def $DOMAIN_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 );\n\n# $PRODUCTION_NETWORKS is a set of all production networks\n@def $PRODUCTION_NETWORKS = (10.128.0.0/24 10.128.1.0/24 10.128.2.0/24 10.132.0.0/24 10.132.2.0/24 10.136.0.0/24 10.136.1.0/24 10.140.0.0/24 10.140.1.0/24 10.140.2.0/24 10.192.0.0/22 10.192.10.0/24 10.192.11.0/24 10.192.12.0/24 10.192.13.0/24 10.192.14.0/24 10.192.15.0/24 10.192.16.0/22 10.192.20.0/24 10.192.21.0/24 10.192.22.0/24 10.192.23.0/24 10.192.24.0/23 10.192.26.0/24 10.192.27.0/24 10.192.28.0/24 10.192.29.0/24 10.192.30.0/24 10.192.31.0/24 10.192.32.0/22 10.192.36.0/24 10.192.37.0/24 10.192.38.0/24 10.192.39.0/24 10.192.4.0/24 10.192.40.0/24 10.192.41.0/24 10.192.42.0/24 10.192.43.0/24 10.192.44.0/24 10.192.45.0/24 10.192.46.0/24 10.192.47.0/24 10.192.48.0/22 10.192.5.0/24 10.192.52.0/24 10.192.56.0/24 10.192.57.0/24 10.192.58.0/24 10.192.59.0/24 10.192.6.0/24 10.192.64.0/21 10.192.7.0/24 10.192.72.0/24 10.192.76.0/24 10.192.8.0/24 10.192.80.0/20 10.192.9.0/24 10.192.96.0/21 10.194.0.0/20 10.194.128.0/17 10.194.16.0/21 10.194.61.0/24 10.194.62.0/23 10.194.64.0/20 10.194.80.0/21 10.2.1.0/24 10.2.2.0/24 10.2.3.0/24 10.2.4.0/24 10.2.5.0/24 10.2.6.0/24 10.2.7.0/24 10.64.0.0/22 10.64.130.0/24 10.64.131.0/24 10.64.132.0/24 10.64.133.0/24 10.64.134.0/24 10.64.135.0/24 10.64.136.0/24 10.64.137.0/24 10.64.138.0/24 10.64.139.0/24 10.64.140.0/24 10.64.141.0/24 10.64.142.0/24 10.64.143.0/24 10.64.144.0/24 10.64.145.0/24 10.64.148.0/24 10.64.149.0/24 10.64.150.0/24 10.64.151.0/24 10.64.152.0/24 10.64.153.0/24 10.64.154.0/24 10.64.155.0/24 10.64.156.0/24 10.64.157.0/24 10.64.158.0/24 10.64.159.0/24 10.64.16.0/22 10.64.160.0/24 10.64.161.0/24 10.64.162.0/24 10.64.163.0/24 10.64.164.0/24 10.64.165.0/24 10.64.166.0/24 10.64.167.0/24 10.64.169.0/24 10.64.170.0/24 10.64.171.0/24 10.64.172.0/24 10.64.173.0/24 10.64.174.0/24 10.64.175.0/24 10.64.176.0/24 10.64.177.0/24 10.64.178.0/24 10.64.179.0/24 10.64.180.0/24 10.64.181.0/24 10.64.182.0/24 10.64.183.0/24 10.64.184.0/24 10.64.185.0/24 10.64.186.0/24 10.64.187.0/24 10.64.188.0/24 10.64.189.0/24 10.64.190.0/24 10.64.20.0/24 10.64.21.0/24 10.64.24.0/23 10.64.32.0/22 10.64.36.0/24 10.64.48.0/22 10.64.5.0/24 10.64.53.0/24 10.64.64.0/21 10.64.72.0/24 10.64.76.0/24 10.67.0.0/20 10.67.128.0/17 10.67.16.0/21 10.67.24.0/21 10.67.32.0/20 10.67.64.0/20 10.67.80.0/21 10.80.0.0/24 10.80.1.0/24 10.80.2.0/24 103.102.166.0/28 103.102.166.224/27 103.102.166.96/27 185.15.58.0/27 185.15.58.224/27 185.15.58.32/27 185.15.59.0/27 185.15.59.224/27 185.15.59.32/27 185.15.59.96/27 195.200.68.0/27 195.200.68.224/27 195.200.68.32/27 195.200.68.96/27 198.35.26.0/27 198.35.26.32/27 198.35.26.96/27 198.35.26.96/27 2001:df2:e500:101::/64 2001:df2:e500:103::/64 2001:df2:e500:1::/64 2001:df2:e500:3::/64 2001:df2:e500:ed1a::/64 208.80.152.128/27 208.80.153.0/27 208.80.153.224/27 208.80.153.32/27 208.80.153.64/27 208.80.153.96/27 208.80.154.0/26 208.80.154.128/26 208.80.154.224/27 208.80.154.64/26 208.80.155.96/27 2620:0:860:100::/64 2620:0:860:101::/64 2620:0:860:102::/64 2620:0:860:103::/64 2620:0:860:104::/64 2620:0:860:105::/64 2620:0:860:106::/64 2620:0:860:107::/64 2620:0:860:108::/64 2620:0:860:109::/64 2620:0:860:10a::/64 2620:0:860:10b::/64 2620:0:860:10c::/64 2620:0:860:10d::/64 2620:0:860:10e::/64 2620:0:860:10f::/64 2620:0:860:110::/64 2620:0:860:111::/64 2620:0:860:112::/64 2620:0:860:113::/64 2620:0:860:114::/64 2620:0:860:115::/64 2620:0:860:116::/64 2620:0:860:118::/64 2620:0:860:119::/64 2620:0:860:11a::/64 2620:0:860:11b::/64 2620:0:860:11c::/64 2620:0:860:11d::/64 2620:0:860:11e::/64 2620:0:860:11f::/64 2620:0:860:120::/64 2620:0:860:121::/64 2620:0:860:122::/64 2620:0:860:123::/64 2620:0:860:124::/64 2620:0:860:125::/64 2620:0:860:126::/64 2620:0:860:127::/64 2620:0:860:12b::/64 2620:0:860:12c::/64 2620:0:860:12d::/64 2620:0:860:12e::/64 2620:0:860:140::/64 2620:0:860:1::/64 2620:0:860:2::/64 2620:0:860:300::/64 2620:0:860:301::/64 2620:0:860:302::/64 2620:0:860:303::/64 2620:0:860:304::/64 2620:0:860:305::/64 2620:0:860:307::/64 2620:0:860:308::/64 2620:0:860:3::/64 2620:0:860:4::/64 2620:0:860:5::/64 2620:0:860:babe::/64 2620:0:860:babf::/64 2620:0:860:cabe::/64 2620:0:860:cabf::/64 2620:0:860:ed1a::/64 2620:0:861:100::/64 2620:0:861:101::/64 2620:0:861:102::/64 2620:0:861:103::/64 2620:0:861:104::/64 2620:0:861:105::/64 2620:0:861:106::/64 2620:0:861:107::/64 2620:0:861:108::/64 2620:0:861:109::/64 2620:0:861:10a::/64 2620:0:861:10b::/64 2620:0:861:10c::/64 2620:0:861:10d::/64 2620:0:861:10e::/64 2620:0:861:10f::/64 2620:0:861:110::/64 2620:0:861:111::/64 2620:0:861:112::/64 2620:0:861:113::/64 2620:0:861:114::/64 2620:0:861:115::/64 2620:0:861:116::/64 2620:0:861:117::/64 2620:0:861:118::/64 2620:0:861:119::/64 2620:0:861:11a::/64 2620:0:861:11c::/64 2620:0:861:11d::/64 2620:0:861:11e::/64 2620:0:861:11f::/64 2620:0:861:120::/64 2620:0:861:121::/64 2620:0:861:122::/64 2620:0:861:123::/64 2620:0:861:124::/64 2620:0:861:125::/64 2620:0:861:126::/64 2620:0:861:127::/64 2620:0:861:128::/64 2620:0:861:129::/64 2620:0:861:12a::/64 2620:0:861:12b::/64 2620:0:861:12c::/64 2620:0:861:12d::/64 2620:0:861:12e::/64 2620:0:861:12f::/64 2620:0:861:131::/64 2620:0:861:132::/64 2620:0:861:133::/64 2620:0:861:134::/64 2620:0:861:135::/64 2620:0:861:136::/64 2620:0:861:137::/64 2620:0:861:138::/64 2620:0:861:139::/64 2620:0:861:13a::/64 2620:0:861:13b::/64 2620:0:861:13c::/64 2620:0:861:13d::/64 2620:0:861:13e::/64 2620:0:861:13f::/64 2620:0:861:140::/64 2620:0:861:141::/64 2620:0:861:142::/64 2620:0:861:143::/64 2620:0:861:144::/64 2620:0:861:145::/64 2620:0:861:1::/64 2620:0:861:2::/64 2620:0:861:300::/64 2620:0:861:301::/116 2620:0:861:302::/64 2620:0:861:303::/116 2620:0:861:304::/116 2620:0:861:305::/64 2620:0:861:3::/64 2620:0:861:4::/64 2620:0:861:babe::/64 2620:0:861:babf::/116 2620:0:861:cabe::/64 2620:0:861:cabf::/116 2620:0:861:ed1a::/64 2620:0:863:101::/64 2620:0:863:102::/64 2620:0:863:103::/64 2620:0:863:1::/64 2620:0:863:2::/64 2620:0:863:3::/64 2620:0:863:ed1a::/64 2a02:ec80:300:101::/64 2a02:ec80:300:102::/64 2a02:ec80:300:103::/64 2a02:ec80:300:1::/64 2a02:ec80:300:2::/64 2a02:ec80:300:3::/64 2a02:ec80:300:ed1a::/64 2a02:ec80:600:101::/64 2a02:ec80:600:102::/64 2a02:ec80:600:1::/64 2a02:ec80:600:2::/64 2a02:ec80:600:ed1a::/64 2a02:ec80:700:101::/64 2a02:ec80:700:102::/64 2a02:ec80:700:103::/64 2a02:ec80:700:1::/64 2a02:ec80:700:2::/64 2a02:ec80:700:3::/64 2a02:ec80:700:ed1a::/64 );\n# $CLOUD_NETWORKS is a set of all Cloud VPS instance networks\n@def $CLOUD_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 );\n# $LABS_NETWORKS is a deprecated alias for $CLOUD_NETWORKS\n@def $LABS_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 );\n# $CLOUD_NETWORKS_PUBLIC is meant to be a set of all Cloud public networks\n@def $CLOUD_NETWORKS_PUBLIC = (185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:4000::/64 2a02:ec80:a100:4000::/64 );\n# $CLOUD_PRIVATE_NETWORKS is the cloud-private networks with WMCS\n# hardware with cloud realm private 172.20.x.x addresses. These\n# hosts are dual-homed, usually also in at least cloud-hosts.\n@def $CLOUD_PRIVATE_NETWORKS = (172.20.1.0/24 172.20.2.0/24 172.20.3.0/24 172.20.4.0/24 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 172.20.5.0/24 2a02:ec80:a100:205::/64);\n# $FRACK_NETWORKS is meant to be a set of all fundraising networks\n@def $FRACK_NETWORKS = (10.195.0.0/27 10.195.0.128/29 10.195.0.32/27 10.195.0.64/28 10.195.0.80/29 10.195.0.96/27 10.195.1.0/25 10.64.40.0/27 10.64.40.160/27 10.64.40.192/26 10.64.40.32/27 10.64.40.64/27 10.64.40.96/27 208.80.152.224/28 208.80.155.0/27 );\n\n@def $ANALYTICS_NETWORKS = (10.64.137.0/24 10.64.138.0/24 10.64.139.0/24 10.64.140.0/24 10.64.142.0/24 10.64.143.0/24 10.64.144.0/24 10.64.145.0/24 10.64.153.0/24 10.64.155.0/24 10.64.157.0/24 10.64.159.0/24 10.64.161.0/24 10.64.163.0/24 10.64.165.0/24 10.64.167.0/24 10.64.170.0/24 10.64.172.0/24 10.64.174.0/24 10.64.176.0/24 10.64.178.0/24 10.64.180.0/24 10.64.182.0/24 10.64.184.0/24 10.64.186.0/24 10.64.188.0/24 10.64.190.0/24 10.64.21.0/24 10.64.36.0/24 10.64.5.0/24 10.64.53.0/24 2620:0:861:100::/64 2620:0:861:104::/64 2620:0:861:105::/64 2620:0:861:106::/64 2620:0:861:108::/64 2620:0:861:110::/64 2620:0:861:111::/64 2620:0:861:112::/64 2620:0:861:114::/64 2620:0:861:115::/64 2620:0:861:116::/64 2620:0:861:117::/64 2620:0:861:11a::/64 2620:0:861:121::/64 2620:0:861:123::/64 2620:0:861:125::/64 2620:0:861:127::/64 2620:0:861:129::/64 2620:0:861:12b::/64 2620:0:861:12d::/64 2620:0:861:12f::/64 2620:0:861:132::/64 2620:0:861:134::/64 2620:0:861:136::/64 2620:0:861:138::/64 2620:0:861:13a::/64 2620:0:861:13c::/64 2620:0:861:13e::/64 2620:0:861:141::/64 2620:0:861:143::/64 2620:0:861:145::/64 );\n@def $MW_APPSERVER_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 127.0.0.1 );\n@def $WIKIKUBE_KUBEPODS_NETWORKS  = (10.67.128.0/17 2620:0:861:cabe::/64 10.194.128.0/17 2620:0:860:cabe::/64 );\n@def $STAGING_KUBEPODS_NETWORKS  = (10.64.64.0/21 2620:0:861:babe::/64 10.192.64.0/21 2620:0:860:babe::/64 );\n@def $MLSERVE_KUBEPODS_NETWORKS = (10.67.16.0/21 2620:0:861:300::/64 10.194.16.0/21 2620:0:860:300::/64 );\n@def $MLSTAGE_KUBEPODS_NETWORKS = (10.194.61.0/24 2620:0:860:302::/64 );\n@def $DSE_KUBEPODS_NETWORKS = (10.67.24.0/21 2620:0:861:302::/64 10.192.96.0/21 2620:0:860:308::/64 );\n@def $AUX_KUBEPODS_NETWORKS = (10.67.80.0/21 2620:0:861:305::/64 10.194.80.0/21 2620:0:860:305::/64 );\n\n@def $NETWORK_INFRA = (185.15.59.128/27 2a02:ec80:300:fe00::/55 198.35.26.128/27 2620:0:863:fe00::/55 208.80.153.192/27 2620:0:860:fe00::/55 10.192.255.0/24 2620:0:860:13f::/64 10.192.253.0/24 2620:0:860:139::/64 208.80.154.192/27 2620:0:861:fe00::/55 10.64.146.0/24 2620:0:861:11b::/128 10.64.168.0/24 2620:0:861:130::/64 10.64.147.0/24 103.102.166.128/27 2001:df2:e500:fe00::/55 185.15.58.128/27 2a02:ec80:600:fe00::/55 195.200.68.128/27 2a02:ec80:700:fe00::/55);\n@def $MGMT_NETWORKS = (10.65.0.0/16 10.128.128.0/17 10.193.0.0/16 10.80.128.0/17 10.132.128.0/17 10.136.128.0/17 10.140.128.0/17 );\n@def $SANDBOX_NETWORKS = (103.102.166.72/29 185.15.59.72/29 195.200.68.64/29 198.35.26.240/28 2001:df2:e500:202::/64 208.80.152.240/28 208.80.155.64/28 2620:0:860:201::/64 2620:0:861:202::/64 2620:0:863:201::/64 2a02:ec80:300:202::/64 2a02:ec80:700:201::/64 );\n\n@def $DEPLOYMENT_HOSTS = (10.64.16.93 2620:0:861:102:10:64:16:93 10.192.32.7 2620:0:860:103:10:192:32:7 );\n@def $CUMIN_MASTERS = (172.16.1.220 );\n@def $CACHES = (172.16.19.232 2a02:ec80:a000:1::2f3 172.16.17.55 2a02:ec80:a000:1::31d );\n@def $LOAD_BALANCER_HEALTH_CHECKS = ();\n@def $KAFKA_BROKERS_MAIN = (10.192.5.9 2620:0:860:106:10:192:5:9 10.192.22.6 2620:0:860:112:10:192:22:6 10.192.32.4 2620:0:860:103:10:192:32:4 10.192.48.33 2620:0:860:104:10:192:48:33 10.192.48.35 2620:0:860:104:10:192:48:35 10.64.0.101 2620:0:861:101:10:64:0:101 10.64.16.30 2620:0:861:102:10:64:16:30 10.64.32.45 2620:0:861:103:10:64:32:45 10.64.48.37 2620:0:861:107:10:64:48:37 10.64.152.5 2620:0:861:120:10:64:152:5 );\n@def $KAFKA_BROKERS_JUMBO = (10.64.130.10 2620:0:861:109:10:64:130:10 10.64.131.16 2620:0:861:10a:10:64:131:16 10.64.132.21 2620:0:861:10b:10:64:132:21 10.64.134.9 2620:0:861:10d:10:64:134:9 10.64.135.16 2620:0:861:10e:10:64:135:16 10.64.136.11 2620:0:861:10f:10:64:136:11 10.64.154.15 2620:0:861:122:10:64:154:15 10.64.160.16 2620:0:861:128:10:64:160:16 10.64.0.126 2620:0:861:101:10:64:0:126 );\n@def $KAFKA_BROKERS_LOGGING = (10.64.16.205 2620:0:861:102:10:64:16:205 10.64.133.11 2620:0:861:10c:10:64:133:11 10.64.183.12 2620:0:861:13d:10:64:183:12 10.64.131.13 2620:0:861:10a:10:64:131:13 10.64.135.13 2620:0:861:10e:10:64:135:13 10.192.23.29 2620:0:860:113:10:192:23:29 10.192.11.28 2620:0:860:10c:10:192:11:28 10.192.26.22 2620:0:860:105:10:192:26:22 10.192.11.27 2620:0:860:10c:10:192:11:27 10.192.39.25 2620:0:860:11e:10:192:39:25 );\n@def $KAFKAMON_HOSTS = (10.64.32.11 2620:0:861:103:10:64:32:11 10.192.16.139 2620:0:860:102:10:192:16:139 );\n@def $ZOOKEEPER_HOSTS_MAIN = (10.64.0.207 2620:0:861:101:10:64:0:207 10.64.16.110 2620:0:861:102:10:64:16:110 10.64.48.154 2620:0:861:107:10:64:48:154 10.192.16.45 2620:0:860:102:10:192:16:45 10.192.32.52 2620:0:860:103:10:192:32:52 10.192.48.59 2620:0:860:104:10:192:48:59 );\n@def $ZOOKEEPER_FLINK_HOSTS = (10.64.16.9 2620:0:861:102:10:64:16:9 10.64.0.8 2620:0:861:101:10:64:0:8 10.64.32.41 2620:0:861:103:10:64:32:41 10.192.16.227 2620:0:860:102:10:192:16:227 10.192.32.179 2620:0:860:103:10:192:32:179 10.192.48.219 2620:0:860:104:10:192:48:219 );\n@def $DRUID_PUBLIC_HOSTS = (10.64.131.9 2620:0:861:10a:10:64:131:9 10.64.132.12 2620:0:861:10b:10:64:132:12 10.64.135.9 2620:0:861:10e:10:64:135:9 10.64.32.101 2620:0:861:103:10:64:32:101 10.64.48.185 2620:0:861:107:10:64:48:185 );\n@def $LABSTORE_HOSTS = (208.80.154.142 2620:0:861:2:208:80:154:142 208.80.154.71 2620:0:861:3:208:80:154:71 );\n@def $MYSQL_ROOT_CLIENTS = (10.64.16.90 10.192.16.191 10.64.16.154 10.192.32.49 208.80.155.103 208.80.154.9 10.64.0.20 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-codfw-bgp-private-vips\n@def $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV4 = (172.20.254.0/24);\n@def $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV6 = (2a02:ec80:a100:2ff::/64);\n@def $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS = ($CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV4 $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances-flat3-codfw\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV4 = (172.16.129.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV6 = (2a02:ec80:a100:1::/64);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW = ($CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV4 $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances-octavia-lb-mgmt-net-codfw1dev\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV4 = (172.16.131.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV6 = (2a02:ec80:a100:100::/64);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV = ($CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV4 $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances-vxlan-ipv4-only-codfw\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_VXLAN_IPV4_ONLY_CODFW_IPV4 = (172.16.130.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_VXLAN_IPV4_ONLY_CODFW = ($CODFW_PRIVATE_CLOUD_INSTANCES_VXLAN_IPV4_ONLY_CODFW_IPV4 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances2-b-codfw\n@def $CODFW_PRIVATE_CLOUD_INSTANCES2_B_CODFW_IPV4 = (172.16.128.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES2_B_CODFW = ($CODFW_PRIVATE_CLOUD_INSTANCES2_B_CODFW_IPV4 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-private-b1-codfw\n@def $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV4 = (172.20.5.0/24);\n@def $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV6 = (2a02:ec80:a100:205::/64);\n@def $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW = ($CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV4 $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: public, # Network: cloud-codfw1dev-bgp-public-vips\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV4 = (185.15.57.24/29);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV6 = (2a02:ec80:a100:4000::/64);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS = ($CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV4 $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: public, # Network: cloud-codfw1dev-floating\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_IPV4 = (185.15.57.0/29);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING = ($CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_IPV4 );\n\n# Realm: cloud, # Site: codfw, # Sphere: public, # Network: cloud-codfw1dev-floating-additional\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_ADDITIONAL_IPV4 = (185.15.57.16/29);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_ADDITIONAL = ($CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_ADDITIONAL_IPV4 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-eqiad-bgp-private-vips\n@def $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV4 = (172.20.255.0/24);\n@def $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV6 = (2a02:ec80:a000:2ff::/64);\n@def $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS = ($EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV4 $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances-octavia-lb-mgmt-net-eqiad1\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV4 = (172.16.24.0/24);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV6 = (2a02:ec80:a000:100::/64);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1 = ($EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV4 $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances-vxlan-dualstack-eqiad\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV4 = (172.16.16.0/21);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV6 = (2a02:ec80:a000:1::/64);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD = ($EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances-vxlan-v4only-eqiad\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_V4ONLY_EQIAD_IPV4 = (172.16.8.0/21);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_V4ONLY_EQIAD = ($EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_V4ONLY_EQIAD_IPV4 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances2-b-eqiad\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES2_B_EQIAD_IPV4 = (172.16.0.0/21);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES2_B_EQIAD = ($EQIAD_PRIVATE_CLOUD_INSTANCES2_B_EQIAD_IPV4 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-c8-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV4 = (172.20.1.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV6 = (2a02:ec80:a000:201::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-d5-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV4 = (172.20.2.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV6 = (2a02:ec80:a000:202::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-e4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV4 = (172.20.3.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV6 = (2a02:ec80:a000:203::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-f4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV4 = (172.20.4.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV6 = (2a02:ec80:a000:204::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: public, # Network: cloud-eqiad1-bgp-public-vips\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV4 = (185.15.56.160/28);\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV6 = (2a02:ec80:a000:4000::/64);\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS = ($EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV4 $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: public, # Network: cloud-eqiad1-floating\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_FLOATING_IPV4 = (185.15.56.0/25);\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_FLOATING = ($EQIAD_PUBLIC_CLOUD_EQIAD1_FLOATING_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-administration-codfw\n@def $CODFW_PRIVATE_FRACK_ADMINISTRATION_CODFW_IPV4 = (10.195.0.64/28);\n@def $CODFW_PRIVATE_FRACK_ADMINISTRATION_CODFW = ($CODFW_PRIVATE_FRACK_ADMINISTRATION_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-bastion-codfw\n@def $CODFW_PRIVATE_FRACK_BASTION_CODFW_IPV4 = (10.195.0.128/29);\n@def $CODFW_PRIVATE_FRACK_BASTION_CODFW = ($CODFW_PRIVATE_FRACK_BASTION_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-fundraising-codfw\n@def $CODFW_PRIVATE_FRACK_FUNDRAISING_CODFW_IPV4 = (10.195.0.32/27);\n@def $CODFW_PRIVATE_FRACK_FUNDRAISING_CODFW = ($CODFW_PRIVATE_FRACK_FUNDRAISING_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-listenerdmz-codfw\n@def $CODFW_PRIVATE_FRACK_LISTENERDMZ_CODFW_IPV4 = (10.195.0.80/29);\n@def $CODFW_PRIVATE_FRACK_LISTENERDMZ_CODFW = ($CODFW_PRIVATE_FRACK_LISTENERDMZ_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-management-codfw\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_CODFW_IPV4 = (10.195.1.0/25);\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_CODFW = ($CODFW_PRIVATE_FRACK_MANAGEMENT_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-management-legacy-codfw\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_LEGACY_CODFW_IPV4 = (10.195.0.96/27);\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_LEGACY_CODFW = ($CODFW_PRIVATE_FRACK_MANAGEMENT_LEGACY_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-payments-codfw\n@def $CODFW_PRIVATE_FRACK_PAYMENTS_CODFW_IPV4 = (10.195.0.0/27);\n@def $CODFW_PRIVATE_FRACK_PAYMENTS_CODFW = ($CODFW_PRIVATE_FRACK_PAYMENTS_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: public, # Network: frack-external-codfw\n@def $CODFW_PUBLIC_FRACK_EXTERNAL_CODFW_IPV4 = (208.80.152.224/28);\n@def $CODFW_PUBLIC_FRACK_EXTERNAL_CODFW = ($CODFW_PUBLIC_FRACK_EXTERNAL_CODFW_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-administration1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_ADMINISTRATION1_E15_EQIAD_IPV4 = (10.64.40.64/27);\n@def $EQIAD_PRIVATE_FRACK_ADMINISTRATION1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_ADMINISTRATION1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-bastion1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_BASTION1_E15_EQIAD_IPV4 = (10.64.40.32/27);\n@def $EQIAD_PRIVATE_FRACK_BASTION1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_BASTION1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-fundraising1-e16-eqiad\n@def $EQIAD_PRIVATE_FRACK_FUNDRAISING1_E16_EQIAD_IPV4 = (10.64.40.96/27);\n@def $EQIAD_PRIVATE_FRACK_FUNDRAISING1_E16_EQIAD = ($EQIAD_PRIVATE_FRACK_FUNDRAISING1_E16_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-listenerdmz1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_LISTENERDMZ1_E15_EQIAD_IPV4 = (10.64.40.160/27);\n@def $EQIAD_PRIVATE_FRACK_LISTENERDMZ1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_LISTENERDMZ1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-management1-eqiad\n@def $EQIAD_PRIVATE_FRACK_MANAGEMENT1_EQIAD_IPV4 = (10.64.40.192/26);\n@def $EQIAD_PRIVATE_FRACK_MANAGEMENT1_EQIAD = ($EQIAD_PRIVATE_FRACK_MANAGEMENT1_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-payments1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_PAYMENTS1_E15_EQIAD_IPV4 = (10.64.40.0/27);\n@def $EQIAD_PRIVATE_FRACK_PAYMENTS1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_PAYMENTS1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: public, # Network: frack-external1-eqiad\n@def $EQIAD_PUBLIC_FRACK_EXTERNAL1_EQIAD_IPV4 = (208.80.155.0/27);\n@def $EQIAD_PUBLIC_FRACK_EXTERNAL1_EQIAD = ($EQIAD_PUBLIC_FRACK_EXTERNAL1_EQIAD_IPV4 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: cloud-hosts1-b1-codfw\n@def $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV4 = (10.192.20.0/24);\n@def $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV6 = (2620:0:860:118::/64);\n@def $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW = ($CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV4 $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV4 = (10.192.0.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV6 = (2620:0:860:101::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A_CODFW = ($CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV4 = (10.192.23.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV6 = (2620:0:860:113::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A2_CODFW = ($CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV4 = (10.192.5.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV6 = (2620:0:860:106::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A3_CODFW = ($CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV4 = (10.192.6.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV6 = (2620:0:860:107::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A4_CODFW = ($CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV4 = (10.192.7.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV6 = (2620:0:860:108::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A5_CODFW = ($CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV4 = (10.192.8.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV6 = (2620:0:860:109::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A6_CODFW = ($CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV4 = (10.192.9.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV6 = (2620:0:860:10a::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A7_CODFW = ($CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a8-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV4 = (10.192.10.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV6 = (2620:0:860:10b::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A8_CODFW = ($CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-aux-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV4 = (10.194.80.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV6 = (2620:0:860:305::/64);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-aux-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV4 = (10.194.64.0/20);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV6 = (2620:0:860:304::/64);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV4 = (10.192.16.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV6 = (2620:0:860:102::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B_CODFW = ($CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV4 = (10.192.11.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV6 = (2620:0:860:10c::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B2_CODFW = ($CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV4 = (10.192.12.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV6 = (2620:0:860:10d::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B3_CODFW = ($CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV4 = (10.192.13.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV6 = (2620:0:860:10e::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B4_CODFW = ($CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV4 = (10.192.14.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV6 = (2620:0:860:10f::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B5_CODFW = ($CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV4 = (10.192.15.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV6 = (2620:0:860:110::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B6_CODFW = ($CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV4 = (10.192.21.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV6 = (2620:0:860:111::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B7_CODFW = ($CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b8-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV4 = (10.192.22.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV6 = (2620:0:860:112::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B8_CODFW = ($CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV4 = (10.192.32.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV6 = (2620:0:860:103::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C_CODFW = ($CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV4 = (10.192.4.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV6 = (2620:0:860:100::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C1_CODFW = ($CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV4 = (10.192.26.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV6 = (2620:0:860:105::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C2_CODFW = ($CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV4 = (10.192.27.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV6 = (2620:0:860:114::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C3_CODFW = ($CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV4 = (10.192.28.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV6 = (2620:0:860:115::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C4_CODFW = ($CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV4 = (10.192.29.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV6 = (2620:0:860:116::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C5_CODFW = ($CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV4 = (10.192.30.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV6 = (2620:0:860:119::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C6_CODFW = ($CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV4 = (10.192.31.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV6 = (2620:0:860:11a::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C7_CODFW = ($CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV4 = (10.192.48.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV6 = (2620:0:860:104::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D_CODFW = ($CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV4 = (10.192.36.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV6 = (2620:0:860:11b::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D1_CODFW = ($CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV4 = (10.192.37.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV6 = (2620:0:860:11c::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D2_CODFW = ($CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV4 = (10.192.38.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV6 = (2620:0:860:11d::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D3_CODFW = ($CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV4 = (10.192.39.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV6 = (2620:0:860:11e::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D4_CODFW = ($CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV4 = (10.192.40.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV6 = (2620:0:860:11f::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D5_CODFW = ($CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV4 = (10.192.41.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV6 = (2620:0:860:120::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D6_CODFW = ($CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV4 = (10.192.42.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV6 = (2620:0:860:121::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D7_CODFW = ($CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d8-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV4 = (10.192.43.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV6 = (2620:0:860:122::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D8_CODFW = ($CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-dse-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV4 = (10.192.96.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV6 = (2620:0:860:308::/64);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-dse-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV4 = (10.192.80.0/20);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV6 = (2620:0:860:307::/64);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV4 = (10.192.56.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV6 = (2620:0:860:12b::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E1_CODFW = ($CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV4 = (10.192.44.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV6 = (2620:0:860:123::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E2_CODFW = ($CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV4 = (10.192.57.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV6 = (2620:0:860:12c::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E3_CODFW = ($CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV4 = (10.192.45.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV6 = (2620:0:860:124::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E4_CODFW = ($CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV4 = (10.192.46.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV6 = (2620:0:860:125::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E5_CODFW = ($CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV4 = (10.192.58.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV6 = (2620:0:860:12d::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F1_CODFW = ($CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV4 = (10.192.47.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV6 = (2620:0:860:126::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F2_CODFW = ($CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV4 = (10.192.59.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV6 = (2620:0:860:12e::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F3_CODFW = ($CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV4 = (10.192.52.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV6 = (2620:0:860:127::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F4_CODFW = ($CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-lvs-codfw\n@def $CODFW_PRIVATE_PRIVATE1_LVS_CODFW_IPV4 = (10.2.1.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_LVS_CODFW = ($CODFW_PRIVATE_PRIVATE1_LVS_CODFW_IPV4 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlserve-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV4 = (10.194.16.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV6 = (2620:0:860:300::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlserve-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV4 = (10.194.0.0/20);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV6 = (2620:0:860:301::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlstage-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV4 = (10.194.61.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV6 = (2620:0:860:302::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlstage-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV4 = (10.194.62.0/23);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV6 = (2620:0:860:303::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-services-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV4 = (10.194.128.0/17);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV6 = (2620:0:860:cabe::/64);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-services-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV4 = (10.192.72.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV6 = (2620:0:860:cabf::/64);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-staging-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV4 = (10.192.64.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV6 = (2620:0:860:babe::/64);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-staging-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV4 = (10.192.76.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV6 = (2620:0:860:babf::/64);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-virtual-codfw\n@def $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV4 = (10.192.24.0/23);\n@def $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV6 = (2620:0:860:140::/64);\n@def $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW = ($CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-a-codfw\n@def $CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV4 = (208.80.153.0/27);\n@def $CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV6 = (2620:0:860:1::/64);\n@def $CODFW_PUBLIC_PUBLIC1_A_CODFW = ($CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-b-codfw\n@def $CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV4 = (208.80.153.32/27);\n@def $CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV6 = (2620:0:860:2::/64);\n@def $CODFW_PUBLIC_PUBLIC1_B_CODFW = ($CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-c-codfw\n@def $CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV4 = (208.80.153.64/27);\n@def $CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV6 = (2620:0:860:3::/64);\n@def $CODFW_PUBLIC_PUBLIC1_C_CODFW = ($CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-d-codfw\n@def $CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV4 = (208.80.153.96/27);\n@def $CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV6 = (2620:0:860:4::/64);\n@def $CODFW_PUBLIC_PUBLIC1_D_CODFW = ($CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-lvs-codfw\n@def $CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV4 = (208.80.153.224/27);\n@def $CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV6 = (2620:0:860:ed1a::/64);\n@def $CODFW_PUBLIC_PUBLIC1_LVS_CODFW = ($CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-virtual-codfw\n@def $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV4 = (208.80.152.128/27);\n@def $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV6 = (2620:0:860:5::/64);\n@def $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW = ($CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: private, # Network: private1-b12-drmrs\n@def $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV4 = (10.136.0.0/24);\n@def $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV6 = (2a02:ec80:600:101::/64);\n@def $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS = ($DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV4 $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: private, # Network: private1-b13-drmrs\n@def $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV4 = (10.136.1.0/24);\n@def $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV6 = (2a02:ec80:600:102::/64);\n@def $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS = ($DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV4 $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: private, # Network: private1-lvs-drmrs\n@def $DRMRS_PRIVATE_PRIVATE1_LVS_DRMRS_IPV4 = (10.2.6.0/24);\n@def $DRMRS_PRIVATE_PRIVATE1_LVS_DRMRS = ($DRMRS_PRIVATE_PRIVATE1_LVS_DRMRS_IPV4 );\n\n# Realm: production, # Site: drmrs, # Sphere: public, # Network: public1-b12-drmrs\n@def $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV4 = (185.15.58.0/27);\n@def $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV6 = (2a02:ec80:600:1::/64);\n@def $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS = ($DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV4 $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: public, # Network: public1-b13-drmrs\n@def $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV4 = (185.15.58.32/27);\n@def $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV6 = (2a02:ec80:600:2::/64);\n@def $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS = ($DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV4 $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: public, # Network: public1-lvs-drmrs\n@def $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV4 = (185.15.58.224/27);\n@def $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV6 = (2a02:ec80:600:ed1a::/64);\n@def $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS = ($DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV4 $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-a-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV4 = (10.64.5.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV6 = (2620:0:861:104::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-b-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV4 = (10.64.21.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV6 = (2620:0:861:105::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV4 = (10.64.36.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV6 = (2620:0:861:106::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV4 = (10.64.137.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV6 = (2620:0:861:110::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV4 = (10.64.145.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV6 = (2620:0:861:117::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c4-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV4 = (10.64.170.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV6 = (2620:0:861:11a::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c5-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV4 = (10.64.172.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV6 = (2620:0:861:132::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV4 = (10.64.174.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV6 = (2620:0:861:134::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV4 = (10.64.176.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV6 = (2620:0:861:136::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV4 = (10.64.53.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV6 = (2620:0:861:108::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d1-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV4 = (10.64.178.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV6 = (2620:0:861:138::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV4 = (10.64.180.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV6 = (2620:0:861:13a::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV4 = (10.64.182.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV6 = (2620:0:861:13c::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d4-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV4 = (10.64.184.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV6 = (2620:0:861:13e::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV4 = (10.64.186.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV6 = (2620:0:861:141::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV4 = (10.64.188.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV6 = (2620:0:861:143::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d8-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV4 = (10.64.190.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV6 = (2620:0:861:145::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e1-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV4 = (10.64.138.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV6 = (2620:0:861:100::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV4 = (10.64.139.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV6 = (2620:0:861:111::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV4 = (10.64.140.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV6 = (2620:0:861:112::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e5-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV4 = (10.64.153.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV6 = (2620:0:861:121::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV4 = (10.64.155.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV6 = (2620:0:861:123::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV4 = (10.64.157.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV6 = (2620:0:861:125::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e8-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV4 = (10.64.159.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV6 = (2620:0:861:127::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f1-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV4 = (10.64.142.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV6 = (2620:0:861:114::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV4 = (10.64.143.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV6 = (2620:0:861:115::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV4 = (10.64.144.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV6 = (2620:0:861:116::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f5-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV4 = (10.64.161.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV6 = (2620:0:861:129::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV4 = (10.64.163.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV6 = (2620:0:861:12b::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV4 = (10.64.165.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV6 = (2620:0:861:12d::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f8-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV4 = (10.64.167.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV6 = (2620:0:861:12f::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-c8-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV4 = (10.64.151.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV6 = (2620:0:861:11f::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-d5-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV4 = (10.64.150.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV6 = (2620:0:861:11e::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-e4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV4 = (10.64.148.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV6 = (2620:0:861:11c::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV4 = (10.64.20.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV6 = (2620:0:861:118::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-f4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV4 = (10.64.149.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV6 = (2620:0:861:11d::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-a-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV4 = (10.64.0.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV6 = (2620:0:861:101::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_A_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-aux-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV4 = (10.67.80.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV6 = (2620:0:861:305::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-aux-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV4 = (10.67.64.0/20);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV6 = (2620:0:861:304::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-b-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV4 = (10.64.16.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV6 = (2620:0:861:102::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_B_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV4 = (10.64.32.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV6 = (2620:0:861:103::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV4 = (10.64.133.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV6 = (2620:0:861:10c::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV4 = (10.64.141.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV6 = (2620:0:861:113::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c4-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV4 = (10.64.169.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV6 = (2620:0:861:119::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c5-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV4 = (10.64.171.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV6 = (2620:0:861:131::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV4 = (10.64.173.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV6 = (2620:0:861:133::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV4 = (10.64.175.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV6 = (2620:0:861:135::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV4 = (10.64.48.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV6 = (2620:0:861:107::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d1-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV4 = (10.64.177.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV6 = (2620:0:861:137::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV4 = (10.64.179.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV6 = (2620:0:861:139::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV4 = (10.64.181.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV6 = (2620:0:861:13b::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d4-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV4 = (10.64.183.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV6 = (2620:0:861:13d::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV4 = (10.64.185.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV6 = (2620:0:861:13f::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV4 = (10.64.187.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV6 = (2620:0:861:142::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d8-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV4 = (10.64.189.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV6 = (2620:0:861:144::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-dse-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV4 = (10.67.24.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV6 = (2620:0:861:302::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-dse-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV4 = (10.67.32.0/20);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV6 = (2620:0:861:303::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e1-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV4 = (10.64.130.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV6 = (2620:0:861:109::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV4 = (10.64.131.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV6 = (2620:0:861:10a::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV4 = (10.64.132.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV6 = (2620:0:861:10b::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e5-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV4 = (10.64.152.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV6 = (2620:0:861:120::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV4 = (10.64.154.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV6 = (2620:0:861:122::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV4 = (10.64.156.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV6 = (2620:0:861:124::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e8-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV4 = (10.64.158.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV6 = (2620:0:861:126::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f1-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV4 = (10.64.134.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV6 = (2620:0:861:10d::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV4 = (10.64.135.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV6 = (2620:0:861:10e::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV4 = (10.64.136.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV6 = (2620:0:861:10f::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f5-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV4 = (10.64.160.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV6 = (2620:0:861:128::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV4 = (10.64.162.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV6 = (2620:0:861:12a::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV4 = (10.64.164.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV6 = (2620:0:861:12c::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f8-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV4 = (10.64.166.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV6 = (2620:0:861:12e::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-lvs-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_LVS_EQIAD_IPV4 = (10.2.2.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_LVS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_LVS_EQIAD_IPV4 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-mlserve-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV4 = (10.67.16.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV6 = (2620:0:861:300::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-mlserve-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV4 = (10.67.0.0/20);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV6 = (2620:0:861:301::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-services-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV4 = (10.67.128.0/17);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV6 = (2620:0:861:cabe::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-services-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV4 = (10.64.72.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV6 = (2620:0:861:cabf::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-staging-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV4 = (10.64.64.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV6 = (2620:0:861:babe::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-staging-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV4 = (10.64.76.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV6 = (2620:0:861:babf::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-virtual-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV4 = (10.64.24.0/23);\n@def $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV6 = (2620:0:861:140::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-a-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV4 = (208.80.154.0/26);\n@def $EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV6 = (2620:0:861:1::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_A_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-b-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV4 = (208.80.154.128/26);\n@def $EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV6 = (2620:0:861:2::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_B_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-c-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV4 = (208.80.154.64/26);\n@def $EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV6 = (2620:0:861:3::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_C_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-d-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV4 = (208.80.155.96/27);\n@def $EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV6 = (2620:0:861:4::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_D_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-lvs-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV4 = (208.80.154.224/27);\n@def $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV6 = (2620:0:861:ed1a::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: private, # Network: private1-eqsin\n@def $EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV4 = (10.132.0.0/24);\n@def $EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV6 = (2001:df2:e500:101::/64);\n@def $EQSIN_PRIVATE_PRIVATE1_EQSIN = ($EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV4 $EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: private, # Network: private1-lvs-eqsin\n@def $EQSIN_PRIVATE_PRIVATE1_LVS_EQSIN_IPV4 = (10.2.5.0/24);\n@def $EQSIN_PRIVATE_PRIVATE1_LVS_EQSIN = ($EQSIN_PRIVATE_PRIVATE1_LVS_EQSIN_IPV4 );\n\n# Realm: production, # Site: eqsin, # Sphere: private, # Network: private1-virtual-eqsin\n@def $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV4 = (10.132.2.0/24);\n@def $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV6 = (2001:df2:e500:103::/64);\n@def $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN = ($EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV4 $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: public, # Network: public1-eqsin\n@def $EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV4 = (103.102.166.0/28);\n@def $EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV6 = (2001:df2:e500:1::/64);\n@def $EQSIN_PUBLIC_PUBLIC1_EQSIN = ($EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV4 $EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: public, # Network: public1-lvs-eqsin\n@def $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV4 = (103.102.166.224/27);\n@def $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV6 = (2001:df2:e500:ed1a::/64);\n@def $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN = ($EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV4 $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: public, # Network: public1-virtual-eqsin\n@def $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV4 = (103.102.166.96/27);\n@def $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV6 = (2001:df2:e500:3::/64);\n@def $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN = ($EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV4 $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-bw27-esams\n@def $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV4 = (10.80.0.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV6 = (2a02:ec80:300:101::/64);\n@def $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV4 $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-by27-esams\n@def $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV4 = (10.80.1.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV6 = (2a02:ec80:300:102::/64);\n@def $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV4 $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-lvs-esams\n@def $ESAMS_PRIVATE_PRIVATE1_LVS_ESAMS_IPV4 = (10.2.3.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_LVS_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_LVS_ESAMS_IPV4 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-virtual-esams\n@def $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV4 = (10.80.2.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV6 = (2a02:ec80:300:103::/64);\n@def $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV4 $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-bw27-esams\n@def $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV4 = (185.15.59.0/27);\n@def $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV6 = (2a02:ec80:300:1::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-by27-esams\n@def $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV4 = (185.15.59.32/27);\n@def $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV6 = (2a02:ec80:300:2::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-lvs-esams\n@def $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV4 = (185.15.59.224/27);\n@def $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV6 = (2a02:ec80:300:ed1a::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-virtual-esams\n@def $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV4 = (185.15.59.96/27);\n@def $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV6 = (2a02:ec80:300:3::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-b3-magru\n@def $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV4 = (10.140.0.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV6 = (2a02:ec80:700:101::/64);\n@def $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV4 $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-b4-magru\n@def $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV4 = (10.140.1.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV6 = (2a02:ec80:700:102::/64);\n@def $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV4 $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-lvs-magru\n@def $MAGRU_PRIVATE_PRIVATE1_LVS_MAGRU_IPV4 = (10.2.7.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_LVS_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_LVS_MAGRU_IPV4 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-virtual-magru\n@def $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV4 = (10.140.2.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV6 = (2a02:ec80:700:103::/64);\n@def $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV4 $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-b3-magru\n@def $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV4 = (195.200.68.0/27);\n@def $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV6 = (2a02:ec80:700:1::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-b4-magru\n@def $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV4 = (195.200.68.32/27);\n@def $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV6 = (2a02:ec80:700:2::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-lvs-magru\n@def $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV4 = (195.200.68.224/27);\n@def $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV6 = (2a02:ec80:700:ed1a::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-virtual-magru\n@def $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV4 = (195.200.68.96/27);\n@def $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV6 = (2a02:ec80:700:3::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-22-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV4 = (10.128.0.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV6 = (2620:0:863:101::/64);\n@def $ULSFO_PRIVATE_PRIVATE1_22_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV4 $ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-23-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV4 = (10.128.1.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV6 = (2620:0:863:102::/64);\n@def $ULSFO_PRIVATE_PRIVATE1_23_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV4 $ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-lvs-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_LVS_ULSFO_IPV4 = (10.2.4.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_LVS_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_LVS_ULSFO_IPV4 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-virtual-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV4 = (10.128.2.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV6 = (2620:0:863:103::/64);\n@def $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV4 $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-22-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV4 = (198.35.26.0/27);\n@def $ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV6 = (2620:0:863:1::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_22_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-23-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV4 = (198.35.26.32/27);\n@def $ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV6 = (2620:0:863:2::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_23_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-lvs-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV4 = (198.35.26.96/27);\n@def $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV6 = (2620:0:863:ed1a::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-virtual-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV4 = (198.35.26.96/27);\n@def $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV6 = (2620:0:863:3::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV6 );\n\n# Realm: sandbox, # Site: codfw, # Sphere: public, # Network: sandbox1-a-codfw\n@def $CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV4 = (208.80.152.240/28);\n@def $CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV6 = (2620:0:860:201::/64);\n@def $CODFW_PUBLIC_SANDBOX1_A_CODFW = ($CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV4 $CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV6 );\n\n# Realm: sandbox, # Site: eqiad, # Sphere: public, # Network: sandbox1-b-eqiad\n@def $EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV4 = (208.80.155.64/28);\n@def $EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV6 = (2620:0:861:202::/64);\n@def $EQIAD_PUBLIC_SANDBOX1_B_EQIAD = ($EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV4 $EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV6 );\n\n# Realm: sandbox, # Site: eqsin, # Sphere: public, # Network: sandbox1-virtual-eqsin\n@def $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV4 = (103.102.166.72/29);\n@def $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV6 = (2001:df2:e500:202::/64);\n@def $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN = ($EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV4 $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV6 );\n\n# Realm: sandbox, # Site: esams, # Sphere: public, # Network: sandbox1-virtual-esams\n@def $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV4 = (185.15.59.72/29);\n@def $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV6 = (2a02:ec80:300:202::/64);\n@def $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS = ($ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV4 $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV6 );\n\n# Realm: sandbox, # Site: magru, # Sphere: public, # Network: sandbox1-virtual-magru\n@def $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV4 = (195.200.68.64/29);\n@def $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV6 = (2a02:ec80:700:201::/64);\n@def $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU = ($MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV4 $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV6 );\n\n# Realm: sandbox, # Site: ulsfo, # Sphere: public, # Network: sandbox1-ulsfo\n@def $ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV4 = (198.35.26.240/28);\n@def $ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV6 = (2620:0:863:201::/64);\n@def $ULSFO_PUBLIC_SANDBOX1_ULSFO = ($ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV4 $ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV6 );\n","ensure":"present"}},{"type":"Nrpe::Plugin","title":"check_ferm","tags":["nrpe::plugin","nrpe","plugin","check_ferm","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":135,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/base/firewall/check_ferm","ensure":"present"}},{"type":"Nrpe::Monitor_service","title":"ferm_active","tags":["nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/firewall.pp","line":139,"exported":false,"kind":"defined_type","parameters":{"description":"Check whether ferm is active by checking the default input chain","nrpe_command":"/usr/local/lib/nagios/plugins/check_ferm","sudo_user":"root","contact_group":"admins","notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/check_ferm","check_interval":30,"retry_interval":1,"migration_task":"T350694","enable_nrpe2nodexp":true,"ensure":"present","retries":3,"timeout":10,"critical":false,"enable_icinga_check":true,"nrpe2nodexp_parse_perf_data":false,"alertmanager_team":"observability"}},{"type":"Class","title":"Profile::Toolforge::Base","tags":["class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"exported":false,"kind":"unknown","parameters":{"active_mail_relay":"tools-mail-4.tools.eqiad1.wikimedia.cloud","is_mail_relay":false,"mail_domain":"toolforge.org"}},{"type":"Class","title":"Sslcert::Ca_deselect_dstx3","tags":["class","sslcert::ca_deselect_dstx3","sslcert","ca_deselect_dstx3","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":8,"exported":false,"kind":"class"},{"type":"File_line","title":"deselect_dst_root_ca_x3","tags":["file_line","deselect_dst_root_ca_x3","class","sslcert::ca_deselect_dstx3","sslcert","ca_deselect_dstx3","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca_deselect_dstx3.pp","line":9,"exported":false,"kind":"compilable_type","parameters":{"path":"/etc/ca-certificates.conf","match":"^!?mozilla/DST_Root_CA_X3\\.crt$","line":"!mozilla/DST_Root_CA_X3.crt","append_on_no_match":false,"notify":"Exec[update-ca-certificates]","require":"Package[ca-certificates]"}},{"type":"Package","title":"nano","tags":["package","nano","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":10,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"cron","tags":["package","cron","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":10,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Alternatives::Select","title":"editor","tags":["alternatives::select","alternatives","select","editor","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":12,"exported":false,"kind":"defined_type","parameters":{"path":"/bin/nano"}},{"type":"File","title":"/root/.bashrc","tags":["file","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":16,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","source":"puppet:///modules/profile/toolforge/rootrc","owner":"root","group":"root","mode":"0750"}},{"type":"Mailalias","title":"admin","tags":["mailalias","admin","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":32,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","recipient":"root"}},{"type":"Mailalias","title":"administrator","tags":["mailalias","administrator","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":32,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","recipient":"root"}},{"type":"Class","title":"Exim4","tags":["class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":38,"exported":false,"kind":"class","parameters":{"queuerunner":"combined","config":"## Managed by puppet\n\nlog_selector = +address_rewrite +all_parents +delivery_size +deliver_time +incoming_interface +incoming_port +smtp_confirmation +smtp_protocol_error +smtp_syntax_error +tls_cipher +tls_peerdn\n\nlocal_interfaces = <; 127.0.0.1; ::1\nqualify_domain = toolforge.org\n\n# allow localhost to send mail via smtp without sender/recipient domain parts\nsender_unqualified_hosts = 127.0.0.1\nrecipient_unqualified_hosts = 127.0.0.1\n\n# allow localhost to relay via smtp (used by acl_check_rcpt below)\nhostlist   relay_from_hosts = localhost\nacl_smtp_rcpt = acl_check_rcpt\n\nadd_environment = <; PATH=/bin:/usr/bin\nkeep_environment =\n\nbegin routers\n\n# Catch unqualified e-mail addresses from MediaWiki\n\nsmart_route:\n\tdriver = manualroute\n\ttransport = remote_smtp\n\troute_list = *\ttools-mail-4.tools.eqiad1.wikimedia.cloud\n\nbegin transports\n\n# Generic remote SMTP transport\n\nremote_smtp:\n\tdriver = smtp\n\nbegin acl\n\nacl_check_rcpt:\n\taccept  hosts = +relay_from_hosts\n\nbegin retry\n\n*\t*\tF,2h,5m; F,1d,15m\n\n","variant":"light","config_dir":"/etc/exim4"}},{"type":"Package","title":"exim4-config","tags":["package","exim4-config","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"exim4-daemon-light","tags":["package","exim4-daemon-light","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"installed","provider":"apt"}},{"type":"Service","title":"exim4","tags":["service","exim4","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":53,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","hasstatus":true,"require":"Package[exim4-daemon-light]"}},{"type":"File","title":"/etc/exim4/update-exim4.conf.conf","tags":["file","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":100,"exported":false,"kind":"compilable_type","parameters":{"owner":"root","group":"root","mode":"0444","content":"dc_eximconfig_configtype=none\n","require":"Package[exim4-config]"}},{"type":"File","title":"/etc/default/exim4","tags":["file","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":108,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# /etc/default/exim4\n# THIS FILE IS MANAGED BY PUPPET\n\nEX4DEF_VERSION=''\n\n# 'combined' -\t one daemon running queue and listening on SMTP port\n# 'no'       -\t no daemon running the queue\n# 'separate' -\t two separate daemons\n# 'ppp'      -   only run queue with /etc/ppp/ip-up.d/exim4.\n# 'nodaemon' - no daemon is started at all.\n# 'queueonly' - only a queue running daemon is started, no SMTP listener.\n# setting this to 'no' will also disable queueruns from /etc/ppp/ip-up.d/exim4\nQUEUERUNNER='combined'\n# how often should we run the queue\nQUEUEINTERVAL='1m'\n# options common to quez-runner and listening daemon\nCOMMONOPTIONS=''\n# more options for the daemon/process running the queue (applies to the one\n# started in /etc/ppp/ip-up.d/exim4, too.\nQUEUERUNNEROPTIONS=''\n# special flags given to exim directly after the -q. See exim(8)\nQFLAGS=''\n# options for daemon listening on port 25\nSMTPLISTENEROPTIONS=''\n","require":"Package[exim4-config]"}},{"type":"File","title":"/etc/exim4/aliases","tags":["file","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":117,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"Debian-exim","mode":"0755","require":"Package[exim4-config]"}},{"type":"File","title":"/etc/exim4/dkim","tags":["file","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":125,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","purge":true,"owner":"root","group":"Debian-exim","mode":"0750","require":"Package[exim4-config]"}},{"type":"File","title":"/etc/exim4/system_filter","tags":["file","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":139,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"Debian-exim","mode":"0444","require":"Package[exim4-config]"}},{"type":"File","title":"/etc/exim4/exim4.conf","tags":["file","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":148,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"Debian-exim","mode":"0440","content":"## Managed by puppet\n\nlog_selector = +address_rewrite +all_parents +delivery_size +deliver_time +incoming_interface +incoming_port +smtp_confirmation +smtp_protocol_error +smtp_syntax_error +tls_cipher +tls_peerdn\n\nlocal_interfaces = <; 127.0.0.1; ::1\nqualify_domain = toolforge.org\n\n# allow localhost to send mail via smtp without sender/recipient domain parts\nsender_unqualified_hosts = 127.0.0.1\nrecipient_unqualified_hosts = 127.0.0.1\n\n# allow localhost to relay via smtp (used by acl_check_rcpt below)\nhostlist   relay_from_hosts = localhost\nacl_smtp_rcpt = acl_check_rcpt\n\nadd_environment = <; PATH=/bin:/usr/bin\nkeep_environment =\n\nbegin routers\n\n# Catch unqualified e-mail addresses from MediaWiki\n\nsmart_route:\n\tdriver = manualroute\n\ttransport = remote_smtp\n\troute_list = *\ttools-mail-4.tools.eqiad1.wikimedia.cloud\n\nbegin transports\n\n# Generic remote SMTP transport\n\nremote_smtp:\n\tdriver = smtp\n\nbegin acl\n\nacl_check_rcpt:\n\taccept  hosts = +relay_from_hosts\n\nbegin retry\n\n*\t*\tF,2h,5m; F,1d,15m\n\n","require":"Package[exim4-config]","notify":"Service[exim4]"}},{"type":"Logrotate::Conf","title":"exim4-paniclog","tags":["logrotate::conf","logrotate","conf","exim4-paniclog","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/exim4/manifests/init.pp","line":159,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","source":"puppet:///modules/exim4/logrotate/exim4-paniclog"}},{"type":"File","title":"/etc/sudoers.d/40-tools-sudoers-no-warning","tags":["file","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":46,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0440","owner":"root","group":"root","source":"puppet:///modules/profile/toolforge/40-tools-sudoers-no-warning"}},{"type":"File","title":"/etc/security/limits.d/50-no-bigfiles.conf","tags":["file","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":54,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","mode":"0444","owner":"root","group":"root","source":"puppet:///modules/profile/toolforge/50-no-bigfiles.conf"}},{"type":"File","title":"/usr/local/bin/log-command-invocation","tags":["file","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/base.pp","line":62,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Class","title":"Profile::Toolforge::Legacy_redirector","tags":["class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"exported":false,"kind":"unknown","parameters":{"ssl_certificate_name":"tools-legacy"}},{"type":"Class","title":"Sslcert::Dhparam","tags":["class","sslcert::dhparam","sslcert","dhparam","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":6,"exported":false,"kind":"class"},{"type":"File","title":"/etc/ssl/dhparam.pem","tags":["file","class","sslcert::dhparam","sslcert","dhparam","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/dhparam.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/sslcert/dhparam.pem"}},{"type":"Acme_chief::Cert","title":"tools-legacy","tags":["acme_chief::cert","acme_chief","cert","tools-legacy","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":7,"exported":false,"kind":"defined_type","parameters":{"puppet_svc":"apache2","ensure":"present","key_group":"root","certs_path":"/etc/acmecerts","require":["Class[Acme_chief]"]}},{"type":"Class","title":"Httpd","tags":["class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":12,"exported":false,"kind":"class","parameters":{"modules":["alias","headers","rewrite","ssl","mpm_event"],"legacy_compat":"present","period":"daily","rotate":30,"enable_forensic_log":false,"extra_pkgs":[],"purge_manual_config":true,"remove_default_ports":false,"http_only":false,"wait_network_online":false}},{"type":"Package","title":"apache2","tags":["package","apache2","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":30,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"links","tags":["package","links","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":30,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/etc/apache2/ports.conf","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"ensure":"file","source":"puppet:///modules/httpd/default-ports.conf","notify":"Service[apache2]","require":"Package[apache2]","owner":"root","group":"root"}},{"type":"File","title":"/etc/apache2/conf-available","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":60,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","require":"Package[apache2]"}},{"type":"File","title":"/etc/apache2/conf-enabled","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":67,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","recurse":true,"purge":true,"require":"Package[apache2]","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/env-available","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":60,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","require":"Package[apache2]"}},{"type":"File","title":"/etc/apache2/env-enabled","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":67,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","recurse":true,"purge":true,"require":"Package[apache2]","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/sites-available","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":60,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","require":"Package[apache2]"}},{"type":"File","title":"/etc/apache2/sites-enabled","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":67,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","recurse":true,"purge":true,"require":"Package[apache2]","notify":"Service[apache2]"}},{"type":"File_line","title":"load_env_enabled","tags":["file_line","load_env_enabled","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":79,"exported":false,"kind":"compilable_type","parameters":{"line":"for f in /etc/apache2/env-enabled/*.sh; do [ -r \"$f\" ] && . \"$f\" >&2; done || true","match":"env-enabled","path":"/etc/apache2/envvars","require":"Package[apache2]"}},{"type":"Httpd::Conf","title":"defaults","tags":["httpd::conf","httpd","conf","defaults","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":87,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/httpd/defaults.conf","priority":0,"ensure":"present","conf_type":"conf"}},{"type":"Httpd::Site","title":"dummy","tags":["httpd::site","httpd","site","dummy","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":92,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/httpd/dummy.conf","priority":0,"ensure":"present"}},{"type":"Httpd::Mod_conf","title":"filter","tags":["httpd::mod_conf","httpd","mod_conf","filter","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":98,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"filter","loadfile":"filter.load"}},{"type":"Httpd::Mod_conf","title":"access_compat","tags":["httpd::mod_conf","httpd","mod_conf","access_compat","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":98,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"access_compat","loadfile":"access_compat.load"}},{"type":"Httpd::Mod_conf","title":"status","tags":["httpd::mod_conf","httpd","mod_conf","status","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":103,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"status","loadfile":"status.load"}},{"type":"Httpd::Mod_conf","title":"alias","tags":["httpd::mod_conf","httpd","mod_conf","alias","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":103,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"alias","loadfile":"alias.load"}},{"type":"Httpd::Mod_conf","title":"headers","tags":["httpd::mod_conf","httpd","mod_conf","headers","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":103,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"headers","loadfile":"headers.load"}},{"type":"Httpd::Mod_conf","title":"rewrite","tags":["httpd::mod_conf","httpd","mod_conf","rewrite","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":103,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"rewrite","loadfile":"rewrite.load"}},{"type":"Httpd::Mod_conf","title":"ssl","tags":["httpd::mod_conf","httpd","mod_conf","ssl","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":103,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"ssl","loadfile":"ssl.load"}},{"type":"Httpd::Mod_conf","title":"mpm_event","tags":["httpd::mod_conf","httpd","mod_conf","mpm_event","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":103,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","mod":"mpm_event","loadfile":"mpm_event.load"}},{"type":"File","title":"/etc/apache2/mods-available/status.conf","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":116,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","before":"Httpd::Mod_conf[status]","require":"Package[apache2]","owner":"root","group":"root"}},{"type":"File","title":"/etc/apache2/mods-enabled/status.conf","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":116,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","before":"Httpd::Mod_conf[status]","require":"Package[apache2]","owner":"root","group":"root"}},{"type":"Httpd::Conf","title":"server-status","tags":["httpd::conf","httpd","conf","server-status","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":127,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/httpd/status.conf","priority":50,"require":"Httpd::Mod_conf[status]","ensure":"present","conf_type":"conf"}},{"type":"File","title":"/usr/local/bin/apache-status","tags":["file","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":134,"exported":false,"kind":"compilable_type","parameters":{"source":"puppet:///modules/httpd/apache-status","owner":"root","group":"root","mode":"0555"}},{"type":"Augeas","title":"Apache2 logs","tags":["augeas","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":175,"exported":false,"kind":"compilable_type","parameters":{"lens":"Logrotate.lns","incl":"/etc/logrotate.d/apache2","changes":["set rule/schedule daily","set rule/rotate 30"],"require":"Package[apache2]"}},{"type":"Exec","title":"apache2_test_config_and_restart","tags":["exec","apache2_test_config_and_restart","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":187,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/service apache2 restart","onlyif":"/usr/sbin/apache2ctl configtest","before":"Service[apache2]","refreshonly":true}},{"type":"Systemd::Override","title":"apache2-after-network-online-target","tags":["systemd::override","systemd","override","apache2-after-network-online-target","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":197,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","unit":"apache2","content":"[Unit]\nAfter=network-online.target\nWants=network-online.target\n","restart":false}},{"type":"Service","title":"apache2","tags":["service","apache2","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":204,"exported":false,"kind":"compilable_type","parameters":{"ensure":"running","enable":true,"hasrestart":true,"restart":"systemctl reload apache2","require":"Package[apache2]","before":["Exec[systemd daemon-reload for apache2.service (apache2-apache2-after-network-online-target)]"]}},{"type":"Profile::Auto_restarts::Service","title":"apache-htcacheclean","tags":["profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":213,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent"}},{"type":"Service","title":"apache-htcacheclean","tags":["service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/init.pp","line":216,"exported":false,"kind":"compilable_type","parameters":{"ensure":"stopped","enable":false}},{"type":"Httpd::Conf","title":"mpm_event_override","tags":["httpd::conf","httpd","conf","mpm_event_override","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":17,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","conf_type":"conf","source":"puppet:///modules/profile/toolforge/legacy_redirector/mpm_event.conf","replaces":"mods-enabled/mpm_event.conf","priority":50}},{"type":"Httpd::Site","title":"tools.wmflabs.org","tags":["httpd::site","httpd","site","tools.wmflabs.org","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":24,"exported":false,"kind":"defined_type","parameters":{"content":"# SPDX-License-Identifier: Apache-2.0\n# THIS FILE IS MANAGED BY PUPPET\n# vim: filetype=apache\n\n<VirtualHost *:80>\n    ServerAdmin root@toolforge.org\n    ServerName tools.wmflabs.org\n\n    # duplicated here and in the https section so it does only one request to our server\n    Redirect gone /a\n    Redirect gone /aaaaaa\n    Redirect 308 /aaabot https://aaabot.toolforge.org\n    Redirect 308 /abbe98tools https://abbe98tools.toolforge.org\n    Redirect 308 /abbreviso https://abbreviso.toolforge.org\n    Redirect 308 /abcgames https://abcgames.toolforge.org\n    Redirect 308 /abdumubot https://abdumubot.toolforge.org\n    Redirect 308 /abibot https://abibot.toolforge.org\n    Redirect 308 /abigor https://abigor.toolforge.org\n    Redirect 308 /abohadi https://abohadi.toolforge.org\n    Redirect 308 /abohadi1 https://abohadi1.toolforge.org\n    Redirect 308 /abot https://abot.toolforge.org\n    Redirect 308 /abricot https://abricot.toolforge.org\n    Redirect 308 /abshir https://abshir.toolforge.org\n    Redirect gone /abusereport\n    Redirect gone /account\n    Redirect 308 /account-creator https://account-creator.toolforge.org\n    Redirect gone /acc-utilities\n    Redirect 308 /ace2018 https://ace2018.toolforge.org\n    Redirect gone /acoustid\n    Redirect gone /activity\n    Redirect gone /actrial\n    Redirect gone /adas\n    Redirect 308 /add https://add.toolforge.org\n    Redirect gone /addbot\n    Redirect 308 /add-information https://add-information.toolforge.org\n    Redirect 308 /addscholartopics https://addscholartopics.toolforge.org\n    Redirect gone /addshore\n    Redirect gone /addshore-dev\n    Redirect 308 /add-text https://add-text.toolforge.org\n    Redirect 308 /admin https://admin.toolforge.org\n    Redirect 308 /admin-beta https://admin-beta.toolforge.org\n    Redirect 308 /adminstats https://adminstats.toolforge.org\n    Redirect 308 /admin-test https://admin-test.toolforge.org\n    Redirect 308 /advertisedetector https://advertisedetector.toolforge.org\n    Redirect 308 /aemisinfo https://aemisinfo.toolforge.org\n    Redirect 308 /afcbot https://afcbot.toolforge.org\n    Redirect 308 /afch https://afch.toolforge.org\n    Redirect 308 /afch-updater https://afch-updater.toolforge.org\n    Redirect gone /afc-research\n    Redirect 308 /afdstats https://afdstats.toolforge.org\n    Redirect 308 /afrobot https://afrobot.toolforge.org\n    Redirect gone /aftabbot\n    Redirect 308 /aftabbotbnwiki https://aftabbotbnwiki.toolforge.org\n    Redirect 308 /aharonitelegrambot002 https://aharonitelegrambot002.toolforge.org\n    Redirect 308 /ahechtbot https://ahechtbot.toolforge.org\n    Redirect 308 /aiko-citationhunt https://aiko-citationhunt.toolforge.org\n    Redirect 308 /air7538tools https://air7538tools.toolforge.org\n    Redirect 308 /aivanalysis https://aivanalysis.toolforge.org\n    Redirect 308 /aivhelperbot https://aivhelperbot.toolforge.org\n    Redirect 308 /ajapaik2commons https://ajapaik2commons.toolforge.org\n    Redirect 308 /akkakkbot https://akkakkbot.toolforge.org\n    Redirect 308 /alaabot https://alaabot.toolforge.org\n    Redirect gone /alan\n    Redirect 308 /alanajjar https://alanajjar.toolforge.org\n    Redirect 308 /alberobot https://alberobot.toolforge.org\n    Redirect 308 /alchimista https://alchimista.toolforge.org\n    Redirect 308 /aleph https://aleph.toolforge.org\n    Redirect 308 /alessiobot https://alessiobot.toolforge.org\n    Redirect 308 /alex https://alex.toolforge.org\n    Redirect 308 /alfa80 https://alfa80.toolforge.org\n    Redirect gone /algo-news\n    Redirect 308 /alkamidbot https://alkamidbot.toolforge.org\n    Redirect 308 /alphatest https://alphatest.toolforge.org\n    Redirect 308 /alphawakt https://alphawakt.toolforge.org\n    Redirect 308 /altobot https://altobot.toolforge.org\n    Redirect 308 /altostratus https://altostratus.toolforge.org\n    Redirect 308 /alvaro https://alvaro.toolforge.org\n    Redirect 308 /am https://am.toolforge.org\n    Redirect gone /amarbot\n    Redirect 308 /amdb https://amdb.toolforge.org\n    Redirect 308 /ameen https://ameen.toolforge.org\n    Redirect 308 /ameisenbot https://ameisenbot.toolforge.org\n    Redirect 308 /amorybot https://amorybot.toolforge.org\n    Redirect 308 /amstats https://amstats.toolforge.org\n    Redirect 308 /anagrimes https://anagrimes.toolforge.org\n    Redirect 308 /analytalks https://analytalks.toolforge.org\n    Redirect 308 /analytics https://analytics.toolforge.org\n    Redirect 308 /ananthrk-test https://ananthrk-test.toolforge.org\n    Redirect 308 /ancestors2 https://ancestors2.toolforge.org\n    Redirect gone /andrewtesttool\n    Redirect gone /android-maven-repo\n    Redirect 308 /android-sdk-builds https://android-sdk-builds.toolforge.org\n    Redirect 308 /andxor https://andxor.toolforge.org\n    Redirect 308 /aneun-sandbox https://aneun-sandbox.toolforge.org\n    Redirect gone /ankitbot\n    Redirect 308 /anni-me https://anni-me.toolforge.org\n    Redirect 308 /anno https://anno.toolforge.org\n    Redirect 308 /anomiebot https://anomiebot.toolforge.org\n    Redirect 308 /anon https://anon.toolforge.org\n    Redirect gone /anorange\n    Redirect 308 /anticompositebot https://anticompositebot.toolforge.org\n    Redirect 308 /anticompositetest https://anticompositetest.toolforge.org\n    Redirect 308 /anticompositetools https://anticompositetools.toolforge.org\n    Redirect gone /antigng\n    Redirect 308 /antigng-bot https://antigng-bot.toolforge.org\n    Redirect 308 /aobo https://aobo.toolforge.org\n    Redirect 308 /apersonbot https://apersonbot.toolforge.org\n    Redirect gone /api-citations\n    Redirect 308 /apps-gallery https://apps-gallery.toolforge.org\n    Redirect 308 /apt-browser https://apt-browser.toolforge.org\n    Redirect 308 /arambot https://arambot.toolforge.org\n    Redirect 308 /arbclerkbot https://arbclerkbot.toolforge.org\n    Redirect 308 /arcanist https://arcanist.toolforge.org\n    Redirect gone /archaeo\n    Redirect 308 /archiveleaf https://archiveleaf.toolforge.org\n    Redirect 308 /archivesearch https://archivesearch.toolforge.org\n    Redirect 308 /archive-things https://archive-things.toolforge.org\n    Redirect 308 /archive-things-1 https://archive-things-1.toolforge.org\n    Redirect 308 /archive-things-2 https://archive-things-2.toolforge.org\n    Redirect 308 /archive-things-3 https://archive-things-3.toolforge.org\n    Redirect 308 /archive-things-4 https://archive-things-4.toolforge.org\n    Redirect 308 /archiving https://archiving.toolforge.org\n    Redirect 308 /arelph https://arelph.toolforge.org\n    Redirect 308 /arkivbot https://arkivbot.toolforge.org\n    Redirect 308 /arnaubot https://arnaubot.toolforge.org\n    Redirect 308 /arowf https://arowf.toolforge.org\n    Redirect 308 /artemisia https://artemisia.toolforge.org\n    Redirect gone /article\n    Redirect gone /article2\n    Redirect 308 /article-creation-mapper https://article-creation-mapper.toolforge.org\n    Redirect 308 /article-ideas-generator https://article-ideas-generator.toolforge.org\n    Redirect 308 /article-interactions https://article-interactions.toolforge.org\n    Redirect gone /article-locations\n    Redirect 308 /articleplaceholderwiki https://articleplaceholderwiki.toolforge.org\n    Redirect 308 /articlerequest https://articlerequest.toolforge.org\n    Redirect 308 /articlerequest-dev https://articlerequest-dev.toolforge.org\n    Redirect 308 /articles-by-lat-lon-without-images https://articles-by-lat-lon-without-images.toolforge.org\n    Redirect 308 /articles-needing-links https://articles-needing-links.toolforge.org\n    Redirect 308 /articles-recommender https://articles-recommender.toolforge.org\n    Redirect gone /article-suggestion\n    Redirect 308 /artlist https://artlist.toolforge.org\n    Redirect 308 /artuploader https://artuploader.toolforge.org\n    Redirect gone /arturo-test-tool\n    Redirect 308 /asaifmbot https://asaifmbot.toolforge.org\n    Redirect 308 /ascal https://ascal.toolforge.org\n    Redirect gone /asdf\n    Redirect 308 /ashbot https://ashbot.toolforge.org\n    Redirect gone /ash-dev\n    Redirect 308 /ash-django https://ash-django.toolforge.org\n    Redirect 308 /ashotbot https://ashotbot.toolforge.org\n    Redirect 308 /ashottools https://ashottools.toolforge.org\n    Redirect 308 /as-info https://as-info.toolforge.org\n    Redirect 308 /as-info-dev https://as-info-dev.toolforge.org\n    Redirect gone /askbot-01\n    Redirect 308 /assamesecalendar https://assamesecalendar.toolforge.org\n    Redirect 308 /assamesetool https://assamesetool.toolforge.org\n    Redirect 308 /assessor https://assessor.toolforge.org\n    Redirect 308 /asurabot https://asurabot.toolforge.org\n    Redirect 308 /aswnbot https://aswnbot.toolforge.org\n    Redirect 308 /atiro https://atiro.toolforge.org\n    Redirect 308 /ato https://ato.toolforge.org\n    Redirect 308 /atriskwiki https://atriskwiki.toolforge.org\n    Redirect 308 /attribution https://attribution.toolforge.org\n    Redirect 308 /aude https://aude.toolforge.org\n    Redirect 308 /audetools https://audetools.toolforge.org\n    Redirect 308 /auth https://auth.toolforge.org\n    Redirect 308 /author-disambiguator https://author-disambiguator.toolforge.org\n    Redirect 308 /authorlang-game https://authorlang-game.toolforge.org\n    Redirect 308 /authors https://authors.toolforge.org\n    Redirect 308 /autodesc https://autodesc.toolforge.org\n    Redirect 308 /autolist https://autolist.toolforge.org\n    Redirect 308 /autometrics https://autometrics.toolforge.org\n    Redirect 308 /autopromote-status https://autopromote-status.toolforge.org\n    Redirect 308 /avicbot https://avicbot.toolforge.org\n    Redirect 308 /awb https://awb.toolforge.org\n    Redirect 308 /awmd-stats https://awmd-stats.toolforge.org\n    Redirect 308 /awstats https://awstats.toolforge.org\n    Redirect gone /axel\n    Redirect gone /a-z-p\n    Redirect gone /a-z-p-0-9-z\n    Redirect 308 /badges https://badges.toolforge.org\n    Redirect 308 /bajo https://bajo.toolforge.org\n    Redirect 308 /balasankarc https://balasankarc.toolforge.org\n    Redirect 308 /baljeetdhaliwal https://baljeetdhaliwal.toolforge.org\n    Redirect 308 /baljeetsingh https://baljeetsingh.toolforge.org\n    Redirect 308 /bambots https://bambots.toolforge.org\n    Redirect 308 /basebot https://basebot.toolforge.org\n    Redirect gone /base-encode\n    Redirect 308 /base-php-cli https://base-php-cli.toolforge.org\n    Redirect gone /basetool\n    Redirect 308 /bash https://bash.toolforge.org\n    Redirect gone /basyounybot\n    Redirect 308 /batchrevert https://batchrevert.toolforge.org\n    Redirect 308 /bawolff https://bawolff.toolforge.org\n    Redirect 308 /bays https://bays.toolforge.org\n    Redirect 308 /bbc-tv-cite https://bbc-tv-cite.toolforge.org\n    Redirect 308 /bcxfu75kbot https://bcxfu75kbot.toolforge.org\n    Redirect gone /bd808-k8smigrate\n    Redirect 308 /bd808-pywikibot https://bd808-pywikibot.toolforge.org\n    Redirect 308 /bd808-ruby https://bd808-ruby.toolforge.org\n    Redirect 308 /bd808-test https://bd808-test.toolforge.org\n    Redirect 308 /bd808-test2 https://bd808-test2.toolforge.org\n    Redirect gone /bd808-test3\n    Redirect gone /bd808-test4\n    Redirect 308 /beastiebot https://beastiebot.toolforge.org\n    Redirect 308 /become https://become.toolforge.org\n    Redirect 308 /beleg-tally https://beleg-tally.toolforge.org\n    Redirect gone /beleg-test-14568913402\n    Redirect 308 /bene https://bene.toolforge.org\n    Redirect 308 /benin1 https://benin1.toolforge.org\n    Redirect 308 /bennofsplay https://bennofsplay.toolforge.org\n    Redirect 308 /best-image https://best-image.toolforge.org\n    Redirect 308 /betabot https://betabot.toolforge.org\n    Redirect 308 /betacommand-dev https://betacommand-dev.toolforge.org\n    Redirect 308 /betaweb https://betaweb.toolforge.org\n    Redirect 308 /bibleversefinder https://bibleversefinder.toolforge.org\n    Redirect 308 /bibleversefinder2 https://bibleversefinder2.toolforge.org\n    Redirect 308 /bibliodata https://bibliodata.toolforge.org\n    Redirect 308 /bikeshed https://bikeshed.toolforge.org\n    Redirect 308 /bingle https://bingle.toolforge.org\n    Redirect 308 /bing-maps https://bing-maps.toolforge.org\n    Redirect 308 /bingo https://bingo.toolforge.org\n    Redirect 308 /bkllc https://bkllc.toolforge.org\n    Redirect 308 /bkstats-test https://bkstats-test.toolforge.org\n    Redirect 308 /blablabla https://blablabla.toolforge.org\n    Redirect 308 /blahma https://blahma.toolforge.org\n    Redirect 308 /blankpages https://blankpages.toolforge.org\n    Redirect 308 /bl-assist https://bl-assist.toolforge.org\n    Redirect 308 /bldrwnsch https://bldrwnsch.toolforge.org\n    Redirect 308 /blockcalc https://blockcalc.toolforge.org\n    Redirect 308 /blocklog https://blocklog.toolforge.org\n    Redirect 308 /blocksearch https://blocksearch.toolforge.org\n    Redirect 308 /blockyquery https://blockyquery.toolforge.org\n    Redirect 308 /blog https://blog.toolforge.org\n    Redirect gone /blogconverter\n    Redirect gone /blubber\n    Redirect 308 /bn-googleocr https://bn-googleocr.toolforge.org\n    Redirect 308 /bnwiki8 https://bnwiki8.toolforge.org\n    Redirect 308 /bomwiki https://bomwiki.toolforge.org\n    Redirect 308 /book2scroll https://book2scroll.toolforge.org\n    Redirect 308 /bookmanagerv2 https://bookmanagerv2.toolforge.org\n    Redirect 308 /bookreader https://bookreader.toolforge.org\n    Redirect 308 /books-for-binding https://books-for-binding.toolforge.org\n    Redirect 308 /booksplitter https://booksplitter.toolforge.org\n    Redirect 308 /bookworm https://bookworm.toolforge.org\n    Redirect 308 /booster https://booster.toolforge.org\n    Redirect 308 /borracho https://borracho.toolforge.org\n    Redirect 308 /bot24 https://bot24.toolforge.org\n    Redirect 308 /bot873 https://bot873.toolforge.org\n    Redirect 308 /botadventures https://botadventures.toolforge.org\n    Redirect 308 /bot-ash-nazg https://bot-ash-nazg.toolforge.org\n    Redirect 308 /boteas https://boteas.toolforge.org\n    Redirect 308 /bothasava https://bothasava.toolforge.org\n    Redirect 308 /botleo https://botleo.toolforge.org\n    Redirect 308 /botomatik https://botomatik.toolforge.org\n    Redirect 308 /botorder https://botorder.toolforge.org\n    Redirect 308 /botqa https://botqa.toolforge.org\n    Redirect 308 /botriconferme https://botriconferme.toolforge.org\n    Redirect 308 /botsister https://botsister.toolforge.org\n    Redirect 308 /botundo https://botundo.toolforge.org\n    Redirect 308 /botvegas https://botvegas.toolforge.org\n    Redirect 308 /botwatch https://botwatch.toolforge.org\n    Redirect 308 /botwikiawk https://botwikiawk.toolforge.org\n    Redirect 308 /boty https://boty.toolforge.org\n    Redirect 308 /bovlbbot https://bovlbbot.toolforge.org\n    Redirect 308 /bowleerin https://bowleerin.toolforge.org\n    Redirect gone /bracketbot\n    Redirect gone /brandonstools\n    Redirect 308 /brgroup https://brgroup.toolforge.org\n    Redirect 308 /bridgebot https://bridgebot.toolforge.org\n    Redirect 308 /bsaut https://bsaut.toolforge.org\n    Redirect gone /bstorm-tool\n    Redirect gone /bstorm-tool2\n    Redirect gone /bub\n    Redirect 308 /bub2 https://bub2.toolforge.org\n    Redirect 308 /bugello https://bugello.toolforge.org\n    Redirect 308 /bunykbot https://bunykbot.toolforge.org\n    Redirect 308 /bytesadded https://bytesadded.toolforge.org\n    Redirect 308 /calakbot https://calakbot.toolforge.org\n    Redirect 308 /calak-dev https://calak-dev.toolforge.org\n    Redirect 308 /calling-card https://calling-card.toolforge.org\n    Redirect 308 /camelbot https://camelbot.toolforge.org\n    Redirect gone /canary\n    Redirect 308 /canarybot https://canarybot.toolforge.org\n    Redirect 308 /captcha https://captcha.toolforge.org\n    Redirect 308 /captcha-dev https://captcha-dev.toolforge.org\n    Redirect 308 /cargo-hierarchy https://cargo-hierarchy.toolforge.org\n    Redirect 308 /catbot https://catbot.toolforge.org\n    Redirect 308 /catcompare https://catcompare.toolforge.org\n    Redirect 308 /categorie https://categorie.toolforge.org\n    Redirect 308 /category-by-uploaders https://category-by-uploaders.toolforge.org\n    Redirect 308 /catfood https://catfood.toolforge.org\n    Redirect gone /catgraph\n    Redirect gone /catgraph-jsonp\n    Redirect 308 /catimages https://catimages.toolforge.org\n    Redirect gone /catlive\n    Redirect gone /catmonitor\n    Redirect 308 /catnap https://catnap.toolforge.org\n    Redirect 308 /catrename https://catrename.toolforge.org\n    Redirect 308 /catscan2 https://catscan2.toolforge.org\n    Redirect 308 /catscan3 https://catscan3.toolforge.org\n    Redirect 308 /catscan-pop https://catscan-pop.toolforge.org\n    Redirect 308 /catscore https://catscore.toolforge.org\n    Redirect gone /catsize\n    Redirect 308 /cats-php https://cats-php.toolforge.org\n    Redirect 308 /catwatchbot https://catwatchbot.toolforge.org\n    Redirect 308 /cauchy https://cauchy.toolforge.org\n    Redirect 308 /cauchy7 https://cauchy7.toolforge.org\n    Redirect gone /cbench\n    Redirect gone /cbench2\n    Redirect gone /cbng-sql-1\n    Redirect gone /cbng-sql-2\n    Redirect gone /cbng-sql-3\n    Redirect gone /cbng-sql-4\n    Redirect gone /cbng-sql-5\n    Redirect gone /cbng-sql-6\n    Redirect 308 /ccm https://ccm.toolforge.org\n    Redirect 308 /cdnjs https://cdnjs.toolforge.org\n    Redirect 308 /cdnjs-beta https://cdnjs-beta.toolforge.org\n    Redirect 308 /cdrini-dev https://cdrini-dev.toolforge.org\n    Redirect 308 /centralnotice-bannergenerator https://centralnotice-bannergenerator.toolforge.org\n    Redirect 308 /cerabot https://cerabot.toolforge.org\n    Redirect 308 /cewbot https://cewbot.toolforge.org\n    Redirect gone /cgstat\n    Redirect 308 /chaoyueltry https://chaoyueltry.toolforge.org\n    Redirect 308 /charttableconverter https://charttableconverter.toolforge.org\n    Redirect gone /chat\n    Redirect gone /checkdictation-fa\n    Redirect 308 /checker https://checker.toolforge.org\n    Redirect gone /checklinks\n    Redirect 308 /checkpersondata https://checkpersondata.toolforge.org\n    Redirect 308 /checkwiki https://checkwiki.toolforge.org\n    Redirect 308 /chemobot https://chemobot.toolforge.org\n    Redirect 308 /chie-bot https://chie-bot.toolforge.org\n    Redirect 308 /chobot https://chobot.toolforge.org\n    Redirect 308 /chocobot https://chocobot.toolforge.org\n    Redirect 308 /churches https://churches.toolforge.org\n    Redirect 308 /ci https://ci.toolforge.org\n    Redirect 308 /cil2 https://cil2.toolforge.org\n    Redirect 308 /cipherbot https://cipherbot.toolforge.org\n    Redirect gone /citationbase\n    Redirect gone /citation-bot\n    Redirect 308 /citationdetective https://citationdetective.toolforge.org\n    Redirect gone /citationgraph\n    Redirect 308 /citationhunt https://citationhunt.toolforge.org\n    Redirect 308 /citations https://citations.toolforge.org\n    Redirect 308 /citations-dev https://citations-dev.toolforge.org\n    Redirect 308 /citation-template-filling https://citation-template-filling.toolforge.org\n    Redirect 308 /citeimage https://citeimage.toolforge.org\n    Redirect 308 /cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 308 /citeplato https://citeplato.toolforge.org\n    Redirect 308 /citer https://citer.toolforge.org\n    Redirect 308 /cite-web-helper https://cite-web-helper.toolforge.org\n    Redirect 308 /citing-bot https://citing-bot.toolforge.org\n    Redirect 308 /citytime https://citytime.toolforge.org\n    Redirect 308 /cleanup https://cleanup.toolforge.org\n    Redirect 308 /clickstream-api https://clickstream-api.toolforge.org\n    Redirect 308 /cloudvps https://cloudvps.toolforge.org\n    Redirect 308 /clpo13-flask https://clpo13-flask.toolforge.org\n    Redirect 308 /cluebot https://cluebot.toolforge.org\n    Redirect 308 /cluebot3 https://cluebot3.toolforge.org\n    Redirect 308 /cluebotng https://cluebotng.toolforge.org\n    Redirect 308 /cluebotng-staging https://cluebotng-staging.toolforge.org\n    Redirect gone /cluestuff\n    Redirect gone /clunk\n    Redirect 308 /cobain https://cobain.toolforge.org\n    Redirect 308 /cobot https://cobot.toolforge.org\n    Redirect 308 /cocubot https://cocubot.toolforge.org\n    Redirect 308 /cocytus https://cocytus.toolforge.org\n    Redirect 308 /code-essay https://code-essay.toolforge.org\n    Redirect 308 /codelookup https://codelookup.toolforge.org\n    Redirect 308 /codeqc https://codeqc.toolforge.org\n    Redirect 308 /codexbot https://codexbot.toolforge.org\n    Redirect 308 /coh https://coh.toolforge.org\n    Redirect gone /coi\n    Redirect 308 /coibot https://coibot.toolforge.org\n    Redirect gone /comidentgen\n    Redirect 308 /common-interests https://common-interests.toolforge.org\n    Redirect gone /commons\n    Redirect 308 /commons-aiuser https://commons-aiuser.toolforge.org\n    Redirect 308 /commons-android-app https://commons-android-app.toolforge.org\n    Redirect 308 /commons-app-stats https://commons-app-stats.toolforge.org\n    Redirect 308 /commons-app-web https://commons-app-web.toolforge.org\n    Redirect 308 /commonsarchive https://commonsarchive.toolforge.org\n    Redirect 308 /commons-campaign-commander https://commons-campaign-commander.toolforge.org\n    Redirect 308 /commonscategorycount https://commonscategorycount.toolforge.org\n    Redirect 308 /commons-coverage https://commons-coverage.toolforge.org\n    Redirect 308 /commons-delinquent https://commons-delinquent.toolforge.org\n    Redirect gone /commons_describer\n    Redirect 308 /commonsedge https://commonsedge.toolforge.org\n    Redirect 308 /commonsfairuseupload https://commonsfairuseupload.toolforge.org\n    Redirect 308 /commonshelper https://commonshelper.toolforge.org\n    Redirect gone /commonshelper2\n    Redirect gone /commonsinterwiki\n    Redirect 308 /commons-maintenance-bot https://commons-maintenance-bot.toolforge.org\n    Redirect 308 /commons-mass-description https://commons-mass-description.toolforge.org\n    Redirect 308 /commons-mass-description-test https://commons-mass-description-test.toolforge.org\n    Redirect gone /commons-mass-upload\n    Redirect 308 /commonsnotificationbot https://commonsnotificationbot.toolforge.org\n    Redirect 308 /commons-poty https://commons-poty.toolforge.org\n    Redirect gone /commonsuploadsum\n    Redirect gone /commons-video-clicks\n    Redirect 308 /commtech-commons https://commtech-commons.toolforge.org\n    Redirect gone /communityguidelines\n    Redirect 308 /community-tech-tools https://community-tech-tools.toolforge.org\n    Redirect 308 /compare-accounts https://compare-accounts.toolforge.org\n    Redirect 308 /completer https://completer.toolforge.org\n    Redirect 308 /comprende https://comprende.toolforge.org\n    Redirect 308 /congressedits https://congressedits.toolforge.org\n    Redirect 308 /connectivity https://connectivity.toolforge.org\n    Redirect 308 /contact https://contact.toolforge.org\n    Redirect 308 /contentcontributor https://contentcontributor.toolforge.org\n    Redirect 308 /content-gap https://content-gap.toolforge.org\n    Redirect 308 /continuitybot https://continuitybot.toolforge.org\n    Redirect 308 /contraband https://contraband.toolforge.org\n    Redirect 308 /contrabandapp https://contrabandapp.toolforge.org\n    Redirect 308 /contribgraph https://contribgraph.toolforge.org\n    Redirect 308 /contribstats https://contribstats.toolforge.org\n    Redirect gone /contributions-summary\n    Redirect 308 /contributionsurveyor https://contributionsurveyor.toolforge.org\n    Redirect 308 /contropedia https://contropedia.toolforge.org\n    Redirect 308 /convenient-discussions https://convenient-discussions.toolforge.org\n    Redirect 308 /convert https://convert.toolforge.org\n    Redirect 308 /coord https://coord.toolforge.org\n    Redirect 308 /copyclear https://copyclear.toolforge.org\n    Redirect 308 /copypatrol https://copypatrol.toolforge.org\n    Redirect 308 /copyvios https://copyvios.toolforge.org\n    Redirect gone /copywhat\n    Redirect gone /corenlp\n    Redirect gone /corhist\n    Redirect 308 /costar https://costar.toolforge.org\n    Redirect 308 /countcountbot https://countcountbot.toolforge.org\n    Redirect 308 /countcounttest https://countcounttest.toolforge.org\n    Redirect 308 /countryip https://countryip.toolforge.org\n    Redirect 308 /coursestats https://coursestats.toolforge.org\n    Redirect 308 /coverage https://coverage.toolforge.org\n    Redirect 308 /coverme https://coverme.toolforge.org\n    Redirect 308 /covid https://covid.toolforge.org\n    Redirect 308 /covid-obit https://covid-obit.toolforge.org\n    Redirect 308 /cp https://cp.toolforge.org\n    Redirect 308 /cpb https://cpb.toolforge.org\n    Redirect 308 /cradle https://cradle.toolforge.org\n    Redirect gone /crazyometer\n    Redirect gone /creatorlinks\n    Redirect 308 /crisis-response https://crisis-response.toolforge.org\n    Redirect gone /crocodylia\n    Redirect 308 /cropbot https://cropbot.toolforge.org\n    Redirect 308 /cropcrop https://cropcrop.toolforge.org\n    Redirect 308 /croptool https://croptool.toolforge.org\n    Redirect 308 /crossactivity https://crossactivity.toolforge.org\n    Redirect gone /crosswatch\n    Redirect 308 /crosswatch2019 https://crosswatch2019.toolforge.org\n    Redirect gone /crosswatch-monitoring\n    Redirect 308 /csbot https://csbot.toolforge.org\n    Redirect 308 /csfd https://csfd.toolforge.org\n    Redirect 308 /csp-report https://csp-report.toolforge.org\n    Redirect 308 /cssk https://cssk.toolforge.org\n    Redirect 308 /cuddle https://cuddle.toolforge.org\n    Redirect 308 /currentevents https://currentevents.toolforge.org\n    Redirect 308 /custom-utils https://custom-utils.toolforge.org\n    Redirect 308 /cvn https://cvn.toolforge.org\n    Redirect 308 /cvrminer https://cvrminer.toolforge.org\n    Redirect 308 /cyberbot https://cyberbot.toolforge.org\n    Redirect gone /cybertools\n    Redirect 308 /cyberworm https://cyberworm.toolforge.org\n    Redirect 308 /cydebot https://cydebot.toolforge.org\n    Redirect 308 /daahbot https://daahbot.toolforge.org\n    Redirect gone /dabsolver\n    Redirect 308 /dal https://dal.toolforge.org\n    Redirect 308 /danilo https://danilo.toolforge.org\n    Redirect 308 /danmicholobot https://danmicholobot.toolforge.org\n    Redirect 308 /dannys712-bot https://dannys712-bot.toolforge.org\n    Redirect 308 /danorton-dev https://danorton-dev.toolforge.org\n    Redirect 308 /dapete-dev https://dapete-dev.toolforge.org\n    Redirect 308 /dashboard https://dashboard.toolforge.org\n    Redirect 308 /database-reports https://database-reports.toolforge.org\n    Redirect 308 /datacon-schedule-app https://datacon-schedule-app.toolforge.org\n    Redirect gone /data-design-demo\n    Redirect 308 /datasets https://datasets.toolforge.org\n    Redirect 308 /dataviz https://dataviz.toolforge.org\n    Redirect 308 /datbot https://datbot.toolforge.org\n    Redirect gone /datbotcommons\n    Redirect 308 /dateien https://dateien.toolforge.org\n    Redirect 308 /david-tool https://david-tool.toolforge.org\n    Redirect 308 /davod https://davod.toolforge.org\n    Redirect gone /dawiki\n    Redirect 308 /dawikibot https://dawikibot.toolforge.org\n    Redirect 308 /dawikitool https://dawikitool.toolforge.org\n    Redirect gone /db\n    Redirect 308 /dbbot https://dbbot.toolforge.org\n    Redirect 308 /dbreps https://dbreps.toolforge.org\n    Redirect 308 /dbreps-uk https://dbreps-uk.toolforge.org\n    Redirect gone /ddescriptions\n    Redirect 308 /deadlinkfinder https://deadlinkfinder.toolforge.org\n    Redirect 308 /deadlinks https://deadlinks.toolforge.org\n    Redirect 308 /death-anomalies https://death-anomalies.toolforge.org\n    Redirect gone /declare\n    Redirect gone /deep-learning-services\n    Redirect 308 /defconbot https://defconbot.toolforge.org\n    Redirect gone /dekel\n    Redirect 308 /delinker https://delinker.toolforge.org\n    Redirect 308 /dellie https://dellie.toolforge.org\n    Redirect 308 /deltabot https://deltabot.toolforge.org\n    Redirect 308 /deltaquad-bots https://deltaquad-bots.toolforge.org\n    Redirect 308 /demibot https://demibot.toolforge.org\n    Redirect 308 /demo-unicorn https://demo-unicorn.toolforge.org\n    Redirect 308 /denisa https://denisa.toolforge.org\n    Redirect 308 /denkmalbot https://denkmalbot.toolforge.org\n    Redirect 308 /denkmalliste https://denkmalliste.toolforge.org\n    Redirect 308 /depiction-game https://depiction-game.toolforge.org\n    Redirect 308 /depictions https://depictions.toolforge.org\n    Redirect 308 /depicts https://depicts.toolforge.org\n    Redirect 308 /deprecated-fixer-bot https://deprecated-fixer-bot.toolforge.org\n    Redirect 308 /derivative https://derivative.toolforge.org\n    Redirect 308 /desh https://desh.toolforge.org\n    Redirect gone /design-research-methods\n    Redirect gone /deskana\n    Redirect gone /deskana2\n    Redirect 308 /detox https://detox.toolforge.org\n    Redirect gone /detoxresearch\n    Redirect gone /devlibrarycard\n    Redirect 308 /devyasha https://devyasha.toolforge.org\n    Redirect 308 /devys https://devys.toolforge.org\n    Redirect 308 /dewikigreetbot https://dewikigreetbot.toolforge.org\n    Redirect 308 /dewikinews-rss https://dewikinews-rss.toolforge.org\n    Redirect 308 /dewikivpncheck https://dewikivpncheck.toolforge.org\n    Redirect 308 /dewkin https://dewkin.toolforge.org\n    Redirect gone /dewpmonobookupdater\n    Redirect 308 /dexbot https://dexbot.toolforge.org\n    Redirect gone /dexibotnet\n    Redirect gone /dibot\n    Redirect 308 /dibyadutta https://dibyadutta.toolforge.org\n    Redirect 308 /dicompte https://dicompte.toolforge.org\n    Redirect 308 /digero https://digero.toolforge.org\n    Redirect gone /digitaltmuseum\n    Redirect 308 /dijkstrasproject https://dijkstrasproject.toolforge.org\n    Redirect 308 /dimastbkbot https://dimastbkbot.toolforge.org\n    Redirect 308 /dimensioner https://dimensioner.toolforge.org\n    Redirect 308 /dioceses https://dioceses.toolforge.org\n    Redirect 308 /directory https://directory.toolforge.org\n    Redirect 308 /disambinator https://disambinator.toolforge.org\n    Redirect 308 /disclaim https://disclaim.toolforge.org\n    Redirect gone /discogs2pistes\n    Redirect gone /discord-irc\n    Redirect gone /discordwiki\n    Redirect 308 /dispatcher https://dispatcher.toolforge.org\n    Redirect 308 /dispenser https://dispenser.toolforge.org\n    Redirect 308 /dixondbot https://dixondbot.toolforge.org\n    Redirect 308 /dixtosa https://dixtosa.toolforge.org\n    Redirect 308 /dluxbot https://dluxbot.toolforge.org\n    Redirect 308 /dna https://dna.toolforge.org\n    Redirect 308 /dnbtools https://dnbtools.toolforge.org\n    Redirect 308 /dockerregistry https://dockerregistry.toolforge.org\n    Redirect 308 /docker-registry https://docker-registry.toolforge.org\n    Redirect 308 /doi-bot https://doi-bot.toolforge.org\n    Redirect gone /douglasbot\n    Redirect 308 /dow https://dow.toolforge.org\n    Redirect 308 /dpkg https://dpkg.toolforge.org\n    Redirect 308 /dplbot https://dplbot.toolforge.org\n    Redirect 308 /draftifyhistory https://draftifyhistory.toolforge.org\n    Redirect gone /draft-uncategorize-script\n    Redirect gone /dramaboard\n    Redirect 308 /drawshield https://drawshield.toolforge.org\n    Redirect 308 /drbot https://drbot.toolforge.org\n    Redirect 308 /dreamyjazzbot https://dreamyjazzbot.toolforge.org\n    Redirect 308 /drewbot https://drewbot.toolforge.org\n    Redirect 308 /dribper https://dribper.toolforge.org\n    Redirect 308 /drini https://drini.toolforge.org\n    Redirect 308 /droog https://droog.toolforge.org\n    Redirect gone /drtrigonbot\n    Redirect 308 /drvstats https://drvstats.toolforge.org\n    Redirect 308 /dschwenbot https://dschwenbot.toolforge.org\n    Redirect gone /dspull\n    Redirect 308 /dtz https://dtz.toolforge.org\n    Redirect 308 /dumpcattree https://dumpcattree.toolforge.org\n    Redirect gone /dumpscan\n    Redirect gone /dump-torrents\n    Redirect 308 /dupdet https://dupdet.toolforge.org\n    Redirect 308 /duplicate-coords https://duplicate-coords.toolforge.org\n    Redirect 308 /duplicatehunter https://duplicatehunter.toolforge.org\n    Redirect gone /durl-shortener\n    Redirect 308 /dutchbot https://dutchbot.toolforge.org\n    Redirect 308 /dvorapabot https://dvorapabot.toolforge.org\n    Redirect 308 /dvtbot https://dvtbot.toolforge.org\n    Redirect 308 /dykautobot https://dykautobot.toolforge.org\n    Redirect 308 /dykbot https://dykbot.toolforge.org\n    Redirect 308 /dykfeed https://dykfeed.toolforge.org\n    Redirect 308 /dykmoverbot https://dykmoverbot.toolforge.org\n    Redirect 308 /dykstats https://dykstats.toolforge.org\n    Redirect 308 /dynamicbot https://dynamicbot.toolforge.org\n    Redirect 308 /dynbot-srv1 https://dynbot-srv1.toolforge.org\n    Redirect 308 /dynbot-srv2 https://dynbot-srv2.toolforge.org\n    Redirect 308 /eagerbot https://eagerbot.toolforge.org\n    Redirect 308 /eagleeye https://eagleeye.toolforge.org\n    Redirect 308 /earwigbot https://earwigbot.toolforge.org\n    Redirect 308 /earwig-dev https://earwig-dev.toolforge.org\n    Redirect 308 /eatchabot https://eatchabot.toolforge.org\n    Redirect 308 /eathom https://eathom.toolforge.org\n    Redirect gone /ebrahim-dev\n    Redirect gone /ebraminio-dev\n    Redirect 308 /ecmabot https://ecmabot.toolforge.org\n    Redirect 308 /edcounter https://edcounter.toolforge.org\n    Redirect 308 /edgars https://edgars.toolforge.org\n    Redirect 308 /edgarsdev https://edgarsdev.toolforge.org\n    Redirect gone /edin\n    Redirect 308 /edinbot https://edinbot.toolforge.org\n    Redirect gone /edinc\n    Redirect 308 /editathonstat https://editathonstat.toolforge.org\n    Redirect 308 /editcompare https://editcompare.toolforge.org\n    Redirect gone /edit-counter\n    Redirect 308 /editcount-fr https://editcount-fr.toolforge.org\n    Redirect gone /editcountitis\n    Redirect gone /editful\n    Redirect 308 /editgroups https://editgroups.toolforge.org\n    Redirect 308 /editor-retention-dashboard https://editor-retention-dashboard.toolforge.org\n    Redirect gone /edits\n    Redirect gone /editsynergy\n    Redirect 308 /efenbot https://efenbot.toolforge.org\n    Redirect gone /elasticdash\n    Redirect 308 /elobot https://elobot.toolforge.org\n    Redirect gone /elph\n    Redirect 308 /elvisor https://elvisor.toolforge.org\n    Redirect 308 /emausbot https://emausbot.toolforge.org\n    Redirect 308 /embeddeddata https://embeddeddata.toolforge.org\n    Redirect 308 /embeddedincount https://embeddedincount.toolforge.org\n    Redirect 308 /emijrpbot https://emijrpbot.toolforge.org\n    Redirect 308 /emoociev https://emoociev.toolforge.org\n    Redirect 308 /enbbsb https://enbbsb.toolforge.org\n    Redirect 308 /enboten https://enboten.toolforge.org\n    Redirect 308 /endumen https://endumen.toolforge.org\n    Redirect 308 /energybot https://energybot.toolforge.org\n    Redirect 308 /enet https://enet.toolforge.org\n    Redirect gone /enett\n    Redirect 308 /enhourly https://enhourly.toolforge.org\n    Redirect 308 /enterpriseybot-rs https://enterpriseybot-rs.toolforge.org\n    Redirect 308 /entsuggest https://entsuggest.toolforge.org\n    Redirect 308 /enwiki-user-edits https://enwiki-user-edits.toolforge.org\n    Redirect 308 /enwiktdefns https://enwiktdefns.toolforge.org\n    Redirect 308 /enwnbot https://enwnbot.toolforge.org\n    Redirect 308 /enwp10 https://enwp10.toolforge.org\n    Redirect 308 /eranbot https://eranbot.toolforge.org\n    Redirect 308 /erex-yomi https://erex-yomi.toolforge.org\n    Redirect 308 /erwin85 https://erwin85.toolforge.org\n    Redirect 308 /esbackup https://esbackup.toolforge.org\n    Redirect 308 /esfichataxon https://esfichataxon.toolforge.org\n    Redirect 308 /etools https://etools.toolforge.org\n    Redirect 308 /etwelvetest https://etwelvetest.toolforge.org\n    Redirect 308 /etwikibots https://etwikibots.toolforge.org\n    Redirect gone /etwikt\n    Redirect 308 /etytree https://etytree.toolforge.org\n    Redirect 308 /eulenwiki https://eulenwiki.toolforge.org\n    Redirect 308 /eulenwiki2 https://eulenwiki2.toolforge.org\n    Redirect 308 /eulenwiki3 https://eulenwiki3.toolforge.org\n    Redirect 308 /event-live-session https://event-live-session.toolforge.org\n    Redirect 308 /event-streams https://event-streams.toolforge.org\n    Redirect 308 /every https://every.toolforge.org\n    Redirect gone /every-other-wiki-has\n    Redirect gone /everythingisconnected\n    Redirect gone /exambot\n    Redirect 308 /excel2wiki https://excel2wiki.toolforge.org\n    Redirect gone /experimental-embeddings\n    Redirect gone /exportpdf\n    Redirect 308 /expose-data https://expose-data.toolforge.org\n    Redirect gone /extdist\n    Redirect gone /extensionservice\n    Redirect gone /externalitemsuggester\n    Redirect 308 /extjsonuploader https://extjsonuploader.toolforge.org\n    Redirect 308 /ext-lnk-discover https://ext-lnk-discover.toolforge.org\n    Redirect 308 /extreg-wos https://extreg-wos.toolforge.org\n    Redirect 308 /extreme https://extreme.toolforge.org\n    Redirect 308 /fab https://fab.toolforge.org\n    Redirect gone /fab-proxy\n    Redirect 308 /facebook-messenger-chatbot https://facebook-messenger-chatbot.toolforge.org\n    Redirect 308 /faces https://faces.toolforge.org\n    Redirect 308 /fa-checkwiki https://fa-checkwiki.toolforge.org\n    Redirect 308 /faebot https://faebot.toolforge.org\n    Redirect 308 /fajrbot https://fajrbot.toolforge.org\n    Redirect 308 /family https://family.toolforge.org\n    Redirect 308 /farhangestan https://farhangestan.toolforge.org\n    Redirect 308 /farotbot https://farotbot.toolforge.org\n    Redirect gone /farticle\n    Redirect gone /fastilybot\n    Redirect gone /fastilybot-reports\n    Redirect 308 /fatameh https://fatameh.toolforge.org\n    Redirect 308 /fatemi https://fatemi.toolforge.org\n    Redirect 308 /fatg https://fatg.toolforge.org\n    Redirect 308 /fawikiauto https://fawikiauto.toolforge.org\n    Redirect 308 /fawiki-editathon https://fawiki-editathon.toolforge.org\n    Redirect 308 /fb-translate-bot https://fb-translate-bot.toolforge.org\n    Redirect gone /fc-importer\n    Redirect gone /featured-article\n    Redirect 308 /femiwiki https://femiwiki.toolforge.org\n    Redirect 308 /fengtools https://fengtools.toolforge.org\n    Redirect 308 /ferdibot https://ferdibot.toolforge.org\n    Redirect 308 /ffbot https://ffbot.toolforge.org\n    Redirect gone /fikarummet\n    Redirect 308 /filedupes https://filedupes.toolforge.org\n    Redirect 308 /file-reuse https://file-reuse.toolforge.org\n    Redirect 308 /file-reuse-piwik https://file-reuse-piwik.toolforge.org\n    Redirect gone /file-reuse-review\n    Redirect 308 /file-reuse-test https://file-reuse-test.toolforge.org\n    Redirect gone /filesearch\n    Redirect 308 /file-siblings https://file-siblings.toolforge.org\n    Redirect 308 /find-and-replace https://find-and-replace.toolforge.org\n    Redirect 308 /findit https://findit.toolforge.org\n    Redirect 308 /fingerprint https://fingerprint.toolforge.org\n    Redirect 308 /fireflydev https://fireflydev.toolforge.org\n    Redirect 308 /firefly-maintainer1 https://firefly-maintainer1.toolforge.org\n    Redirect 308 /fireflytools https://fireflytools.toolforge.org\n    Redirect 308 /firmenbuch https://firmenbuch.toolforge.org\n    Redirect 308 /first-paragraph-readability https://first-paragraph-readability.toolforge.org\n    Redirect 308 /fischbot https://fischbot.toolforge.org\n    Redirect 308 /fist https://fist.toolforge.org\n    Redirect gone /five-million\n    Redirect 308 /fiwiki-tools https://fiwiki-tools.toolforge.org\n    Redirect gone /fixdatebot\n    Redirect gone /flaggedrevspromotioncheck\n    Redirect gone /flaky-ci\n    Redirect 308 /flickr https://flickr.toolforge.org\n    Redirect 308 /flickr2commons https://flickr2commons.toolforge.org\n    Redirect 308 /flickrdash https://flickrdash.toolforge.org\n    Redirect 308 /flickr-rss https://flickr-rss.toolforge.org\n    Redirect 308 /flossbrowser https://flossbrowser.toolforge.org\n    Redirect 308 /fn https://fn.toolforge.org\n    Redirect 308 /fontcdn https://fontcdn.toolforge.org\n    Redirect gone /footygen\n    Redirect 308 /forrestbot https://forrestbot.toolforge.org\n    Redirect gone /foundation\n    Redirect 308 /fountain https://fountain.toolforge.org\n    Redirect 308 /fountain-test https://fountain-test.toolforge.org\n    Redirect 308 /fourohfour https://fourohfour.toolforge.org\n    Redirect 308 /fpbot https://fpbot.toolforge.org\n    Redirect 308 /fpcbot https://fpcbot.toolforge.org\n    Redirect 308 /fpcstats https://fpcstats.toolforge.org\n    Redirect 308 /framabot https://framabot.toolforge.org\n    Redirect 308 /freddy2001 https://freddy2001.toolforge.org\n    Redirect 308 /freebase https://freebase.toolforge.org\n    Redirect 308 /freefiles https://freefiles.toolforge.org\n    Redirect 308 /fretties https://fretties.toolforge.org\n    Redirect 308 /friskobot https://friskobot.toolforge.org\n    Redirect 308 /friybot https://friybot.toolforge.org\n    Redirect 308 /fronds https://fronds.toolforge.org\n    Redirect gone /fr-wikiversity\n    Redirect 308 /fr-wikiversity-ns https://fr-wikiversity-ns.toolforge.org\n    Redirect 308 /fscbot https://fscbot.toolforge.org\n    Redirect 308 /fshbibbot https://fshbibbot.toolforge.org\n    Redirect 308 /ft https://ft.toolforge.org\n    Redirect 308 /ftl https://ftl.toolforge.org\n    Redirect 308 /ftools https://ftools.toolforge.org\n    Redirect gone /fubar\n    Redirect gone /fun\n    Redirect 308 /fundraising-tools https://fundraising-tools.toolforge.org\n    Redirect 308 /furutani https://furutani.toolforge.org\n    Redirect 308 /fvcbot https://fvcbot.toolforge.org\n    Redirect 308 /g13bot https://g13bot.toolforge.org\n    Redirect 308 /gabrielchihonglee-bot https://gabrielchihonglee-bot.toolforge.org\n    Redirect 308 /gaelan-bot https://gaelan-bot.toolforge.org\n    Redirect 308 /gallery https://gallery.toolforge.org\n    Redirect 308 /gallica https://gallica.toolforge.org\n    Redirect 308 /galobot https://galobot.toolforge.org\n    Redirect 308 /ganreportbot https://ganreportbot.toolforge.org\n    Redirect gone /gblrenamemon\n    Redirect gone /gdk-artists-research\n    Redirect 308 /geekbot https://geekbot.toolforge.org\n    Redirect 308 /gendergapdashboard https://gendergapdashboard.toolforge.org\n    Redirect 308 /genealogy https://genealogy.toolforge.org\n    Redirect 308 /genedb https://genedb.toolforge.org\n    Redirect gone /gennfs\n    Redirect 308 /geocommons https://geocommons.toolforge.org\n    Redirect gone /geodata\n    Redirect 308 /geograph2commons https://geograph2commons.toolforge.org\n    Redirect 308 /geohack https://geohack.toolforge.org\n    Redirect gone /geoloc\n    Redirect 308 /geonotice https://geonotice.toolforge.org\n    Redirect 308 /geophotoreq https://geophotoreq.toolforge.org\n    Redirect 308 /geoplotter https://geoplotter.toolforge.org\n    Redirect 308 /gerakibot https://gerakibot.toolforge.org\n    Redirect 308 /gerakitools https://gerakitools.toolforge.org\n    Redirect 308 /germancon-mobile https://germancon-mobile.toolforge.org\n    Redirect 308 /germancontributioncounts https://germancontributioncounts.toolforge.org\n    Redirect 308 /gerrit-avatar-uploader https://gerrit-avatar-uploader.toolforge.org\n    Redirect 308 /gerrit-newcomer-bot https://gerrit-newcomer-bot.toolforge.org\n    Redirect 308 /gerrit-patch-uploader https://gerrit-patch-uploader.toolforge.org\n    Redirect 308 /gerrit-reports https://gerrit-reports.toolforge.org\n    Redirect 308 /gerrit-reviewer-bot https://gerrit-reviewer-bot.toolforge.org\n    Redirect gone /gerrit-to-redis\n    Redirect gone /getsentry\n    Redirect 308 /ggu https://ggu.toolforge.org\n    Redirect 308 /giftbot https://giftbot.toolforge.org\n    Redirect 308 /giftpast https://giftpast.toolforge.org\n    Redirect 308 /giovannitool https://giovannitool.toolforge.org\n    Redirect 308 /gir https://gir.toolforge.org\n    Redirect 308 /giraffe https://giraffe.toolforge.org\n    Redirect 308 /github https://github.toolforge.org\n    Redirect 308 /github-notif-bot https://github-notif-bot.toolforge.org\n    Redirect 308 /github-pr-closer https://github-pr-closer.toolforge.org\n    Redirect 308 /githubstats https://githubstats.toolforge.org\n    Redirect 308 /glaisher https://glaisher.toolforge.org\n    Redirect 308 /glam2commons https://glam2commons.toolforge.org\n    Redirect 308 /glamalign https://glamalign.toolforge.org\n    Redirect 308 /glamify https://glamify.toolforge.org\n    Redirect 308 /glamingest https://glamingest.toolforge.org\n    Redirect 308 /glamorous-maintenance https://glamorous-maintenance.toolforge.org\n    Redirect 308 /glamtools https://glamtools.toolforge.org\n    Redirect 308 /globalcsd https://globalcsd.toolforge.org\n    Redirect 308 /globaleditcounter https://globaleditcounter.toolforge.org\n    Redirect 308 /global-pandas https://global-pandas.toolforge.org\n    Redirect gone /globalprefs\n    Redirect 308 /globalsearch https://globalsearch.toolforge.org\n    Redirect 308 /global-search https://global-search.toolforge.org\n    Redirect 308 /global-search-test https://global-search-test.toolforge.org\n    Redirect 308 /globalusagecount https://globalusagecount.toolforge.org\n    Redirect 308 /global-wiki-tools https://global-wiki-tools.toolforge.org\n    Redirect 308 /gmt https://gmt.toolforge.org\n    Redirect gone /gns\n    Redirect 308 /gnubotmarcoo https://gnubotmarcoo.toolforge.org\n    Redirect 308 /goatid https://goatid.toolforge.org\n    Redirect gone /goblinbot4\n    Redirect gone /goodarticle\n    Redirect 308 /goodarticlebot https://goodarticlebot.toolforge.org\n    Redirect 308 /goodbot https://goodbot.toolforge.org\n    Redirect gone /google-drive-photos-to-commons\n    Redirect 308 /goransmtool https://goransmtool.toolforge.org\n    Redirect 308 /gorlingor https://gorlingor.toolforge.org\n    Redirect gone /governance-timeline\n    Redirect 308 /gpsexif https://gpsexif.toolforge.org\n    Redirect 308 /gpy https://gpy.toolforge.org\n    Redirect 308 /grafana https://grafana.toolforge.org\n    Redirect gone /grafana-json-datasource\n    Redirect 308 /graham87 https://graham87.toolforge.org\n    Redirect 308 /graminbot https://graminbot.toolforge.org\n    Redirect 308 /granitstein https://granitstein.toolforge.org\n    Redirect 308 /grantmaking https://grantmaking.toolforge.org\n    Redirect 308 /grantmetrics https://grantmetrics.toolforge.org\n    Redirect 308 /grantmetrics-test https://grantmetrics-test.toolforge.org\n    Redirect 308 /grantsbot https://grantsbot.toolforge.org\n    Redirect 308 /grapedog https://grapedog.toolforge.org\n    Redirect 308 /graphql https://graphql.toolforge.org\n    Redirect 308 /gratitude https://gratitude.toolforge.org\n    Redirect 308 /grep https://grep.toolforge.org\n    Redirect gone /gridengine-status\n    Redirect gone /grid-jobs\n    Redirect 308 /grillitus https://grillitus.toolforge.org\n    Redirect 308 /grouplens https://grouplens.toolforge.org\n    Redirect 308 /gsoc https://gsoc.toolforge.org\n    Redirect gone /gsoc-dev\n    Redirect gone /gsociftttdev\n    Redirect 308 /gsoc-ifttt-dev https://gsoc-ifttt-dev.toolforge.org\n    Redirect 308 /gsoc-petscan-query-articles https://gsoc-petscan-query-articles.toolforge.org\n    Redirect 308 /gsoc-worklist-tool https://gsoc-worklist-tool.toolforge.org\n    Redirect gone /gtirloni-sandbox\n    Redirect 308 /guc https://guc.toolforge.org\n    Redirect 308 /gulp https://gulp.toolforge.org\n    Redirect 308 /gun-wd https://gun-wd.toolforge.org\n    Redirect 308 /gurmukhispell https://gurmukhispell.toolforge.org\n    Redirect gone /gutrs\n    Redirect 308 /gyan https://gyan.toolforge.org\n    Redirect 308 /h2bot https://h2bot.toolforge.org\n    Redirect gone /hackmd\n    Redirect 308 /hackprowiki https://hackprowiki.toolforge.org\n    Redirect 308 /hall-of-fame https://hall-of-fame.toolforge.org\n    Redirect 308 /hamishbot https://hamishbot.toolforge.org\n    Redirect gone /harejtest\n    Redirect 308 /hartman https://hartman.toolforge.org\n    Redirect gone /harvesting-data-rafinery\n    Redirect 308 /harvesting-data-refinery https://harvesting-data-refinery.toolforge.org\n    Redirect 308 /hashtags https://hashtags.toolforge.org\n    Redirect 308 /hashtags-hub https://hashtags-hub.toolforge.org\n    Redirect 308 /hashtags-test https://hashtags-test.toolforge.org\n    Redirect 308 /hashtagwatcher https://hashtagwatcher.toolforge.org\n    Redirect gone /hassen\n    Redirect gone /hastagwatcher\n    Redirect 308 /hasteurbot https://hasteurbot.toolforge.org\n    Redirect 308 /hat-collector https://hat-collector.toolforge.org\n    Redirect 308 /hatjitsu https://hatjitsu.toolforge.org\n    Redirect 308 /hauki https://hauki.toolforge.org\n    Redirect 308 /hawk-eye-bot https://hawk-eye-bot.toolforge.org\n    Redirect 308 /hay https://hay.toolforge.org\n    Redirect 308 /hazard-bot https://hazard-bot.toolforge.org\n    Redirect 308 /hcclab https://hcclab.toolforge.org\n    Redirect 308 /hd https://hd.toolforge.org\n    Redirect 308 /hebbot https://hebbot.toolforge.org\n    Redirect 308 /heimdall https://heimdall.toolforge.org\n    Redirect 308 /heinterwiki https://heinterwiki.toolforge.org\n    Redirect 308 /hello-play https://hello-play.toolforge.org\n    Redirect 308 /help https://help.toolforge.org\n    Redirect 308 /helpearwigbot https://helpearwigbot.toolforge.org\n    Redirect 308 /helperbot https://helperbot.toolforge.org\n    Redirect 308 /helperpad https://helperpad.toolforge.org\n    Redirect 308 /hennalabs https://hennalabs.toolforge.org\n    Redirect 308 /herculebot https://herculebot.toolforge.org\n    Redirect 308 /heritage https://heritage.toolforge.org\n    Redirect gone /hermes\n    Redirect 308 /hersfold-hacb https://hersfold-hacb.toolforge.org\n    Redirect 308 /hersfold-irc https://hersfold-irc.toolforge.org\n    Redirect 308 /hersfold-web https://hersfold-web.toolforge.org\n    Redirect 308 /hewiki-tools https://hewiki-tools.toolforge.org\n    Redirect gone /he-wiktionary-rule-checker\n    Redirect gone /hexacore\n    Redirect 308 /hgztools https://hgztools.toolforge.org\n    Redirect 308 /himo https://himo.toolforge.org\n    Redirect 308 /hinotetools https://hinotetools.toolforge.org\n    Redirect gone /hippietest\n    Redirect 308 /hirise https://hirise.toolforge.org\n    Redirect 308 /historicmaps https://historicmaps.toolforge.org\n    Redirect gone /historyview\n    Redirect 308 /histsearch https://histsearch.toolforge.org\n    Redirect 308 /hiw-bot https://hiw-bot.toolforge.org\n    Redirect 308 /hiwiki https://hiwiki.toolforge.org\n    Redirect 308 /hjhhg https://hjhhg.toolforge.org\n    Redirect gone /hkjacksonhk-bot\n    Redirect gone /hll\n    Redirect 308 /holidays-viewer https://holidays-viewer.toolforge.org\n    Redirect 308 /honeypot95 https://honeypot95.toolforge.org\n    Redirect 308 /hoo https://hoo.toolforge.org\n    Redirect gone /hoo-propertysuggester-test\n    Redirect gone /hostbot\n    Redirect 308 /hotarticles https://hotarticles.toolforge.org\n    Redirect 308 /hroest https://hroest.toolforge.org\n    Redirect 308 /hroest2 https://hroest2.toolforge.org\n    Redirect 308 /hroest3 https://hroest3.toolforge.org\n    Redirect 308 /hrwiki https://hrwiki.toolforge.org\n    Redirect 308 /hsfbot https://hsfbot.toolforge.org\n    Redirect 308 /hss https://hss.toolforge.org\n    Redirect 308 /htools https://htools.toolforge.org\n    Redirect 308 /hub https://hub.toolforge.org\n    Redirect 308 /huggle https://huggle.toolforge.org\n    Redirect 308 /huji https://huji.toolforge.org\n    Redirect gone /hujibot\n    Redirect 308 /huntleybots https://huntleybots.toolforge.org\n    Redirect 308 /huwiki https://huwiki.toolforge.org\n    Redirect 308 /hylabels https://hylabels.toolforge.org\n    Redirect 308 /hypobot https://hypobot.toolforge.org\n    Redirect 308 /iabot https://iabot.toolforge.org\n    Redirect 308 /iacrop https://iacrop.toolforge.org\n    Redirect 308 /iamnetx-test https://iamnetx-test.toolforge.org\n    Redirect 308 /ia-upload https://ia-upload.toolforge.org\n    Redirect 308 /ib2test https://ib2test.toolforge.org\n    Redirect 308 /ibrahim https://ibrahim.toolforge.org\n    Redirect gone /ibrahimid\n    Redirect 308 /icalendar https://icalendar.toolforge.org\n    Redirect 308 /icelab https://icelab.toolforge.org\n    Redirect 308 /ichijo https://ichijo.toolforge.org\n    Redirect 308 /icommons https://icommons.toolforge.org\n    Redirect 308 /icu-transliterate https://icu-transliterate.toolforge.org\n    Redirect 308 /ideasbot https://ideasbot.toolforge.org\n    Redirect 308 /ideedarticles https://ideedarticles.toolforge.org\n    Redirect 308 /idsgen https://idsgen.toolforge.org\n    Redirect gone /idwiki-gpu\n    Redirect 308 /idwiki-marathon https://idwiki-marathon.toolforge.org\n    Redirect 308 /iepcbm-bot1 https://iepcbm-bot1.toolforge.org\n    Redirect 308 /iepcbm-bot-2 https://iepcbm-bot-2.toolforge.org\n    Redirect 308 /ifttt https://ifttt.toolforge.org\n    Redirect 308 /ifttt-dev https://ifttt-dev.toolforge.org\n    Redirect gone /ifttt-testing\n    Redirect 308 /igl https://igl.toolforge.org\n    Redirect 308 /igloo https://igloo.toolforge.org\n    Redirect 308 /ignator https://ignator.toolforge.org\n    Redirect 308 /iluvatarbot https://iluvatarbot.toolforge.org\n    Redirect 308 /imagechecker https://imagechecker.toolforge.org\n    Redirect 308 /imagemapedit https://imagemapedit.toolforge.org\n    Redirect gone /image-metadata-viewer\n    Redirect 308 /image-resize-calc https://image-resize-calc.toolforge.org\n    Redirect 308 /imagery https://imagery.toolforge.org\n    Redirect gone /images\n    Redirect 308 /imagetracer https://imagetracer.toolforge.org\n    Redirect gone /img-usage\n    Redirect 308 /import-500px https://import-500px.toolforge.org\n    Redirect 308 /import-freemind https://import-freemind.toolforge.org\n    Redirect 308 /inactiveadmins https://inactiveadmins.toolforge.org\n    Redirect gone /inactive-admins\n    Redirect gone /inactive-bureaucrats\n    Redirect 308 /inaturalistreviewer https://inaturalistreviewer.toolforge.org\n    Redirect 308 /incolabot https://incolabot.toolforge.org\n    Redirect 308 /index-page-mover https://index-page-mover.toolforge.org\n    Redirect 308 /indic-ocr https://indic-ocr.toolforge.org\n    Redirect 308 /indic-techcom https://indic-techcom.toolforge.org\n    Redirect 308 /indic-techcom-wiki https://indic-techcom-wiki.toolforge.org\n    Redirect 308 /indic-wd https://indic-wd.toolforge.org\n    Redirect 308 /indicwiki https://indicwiki.toolforge.org\n    Redirect 308 /indic-wscontest https://indic-wscontest.toolforge.org\n    Redirect 308 /indic-wsstats https://indic-wsstats.toolforge.org\n    Redirect 308 /info-farmer https://info-farmer.toolforge.org\n    Redirect 308 /infogeo https://infogeo.toolforge.org\n    Redirect 308 /inforobbot https://inforobbot.toolforge.org\n    Redirect 308 /inkobot https://inkobot.toolforge.org\n    Redirect gone /inkowik\n    Redirect 308 /inkpen https://inkpen.toolforge.org\n    Redirect 308 /integraality https://integraality.toolforge.org\n    Redirect 308 /intelibot https://intelibot.toolforge.org\n    Redirect 308 /intelirc https://intelirc.toolforge.org\n    Redirect 308 /interaction-timeline https://interaction-timeline.toolforge.org\n    Redirect 308 /interactoa https://interactoa.toolforge.org\n    Redirect 308 /interact-oa https://interact-oa.toolforge.org\n    Redirect 308 /interbot https://interbot.toolforge.org\n    Redirect 308 /interlang https://interlang.toolforge.org\n    Redirect 308 /interpagelinker https://interpagelinker.toolforge.org\n    Redirect 308 /intersect-contribs https://intersect-contribs.toolforge.org\n    Redirect 308 /intuition https://intuition.toolforge.org\n    Redirect 308 /invadibot https://invadibot.toolforge.org\n    Redirect 308 /ios-crashes https://ios-crashes.toolforge.org\n    Redirect 308 /ipa-speaker https://ipa-speaker.toolforge.org\n    Redirect gone /ipchanges\n    Redirect 308 /ipcheck https://ipcheck.toolforge.org\n    Redirect 308 /ipcheck-dev https://ipcheck-dev.toolforge.org\n    Redirect 308 /ipinfo https://ipinfo.toolforge.org\n    Redirect gone /iplookup\n    Redirect 308 /ipp https://ipp.toolforge.org\n    Redirect gone /ip-range-calc\n    Redirect 308 /ipwatcher https://ipwatcher.toolforge.org\n    Redirect 308 /ipython https://ipython.toolforge.org\n    Redirect gone /irc\n    Redirect gone /ircclient\n    Redirect 308 /irc-cloaks https://irc-cloaks.toolforge.org\n    Redirect 308 /irc-cloudbot https://irc-cloudbot.toolforge.org\n    Redirect 308 /irclogbot https://irclogbot.toolforge.org\n    Redirect 308 /irclogs https://irclogs.toolforge.org\n    Redirect 308 /ircredirect https://ircredirect.toolforge.org\n    Redirect 308 /ircredirector https://ircredirector.toolforge.org\n    Redirect 308 /irc-wmt https://irc-wmt.toolforge.org\n    Redirect 308 /ireas https://ireas.toolforge.org\n    Redirect 308 /irfan https://irfan.toolforge.org\n    Redirect 308 /irishbot https://irishbot.toolforge.org\n    Redirect 308 /isa https://isa.toolforge.org\n    Redirect 308 /isbn https://isbn.toolforge.org\n    Redirect 308 /isbn2tpl https://isbn2tpl.toolforge.org\n    Redirect 308 /isbn2wiki https://isbn2wiki.toolforge.org\n    Redirect 308 /isbn-tmptest https://isbn-tmptest.toolforge.org\n    Redirect 308 /isbn-usage https://isbn-usage.toolforge.org\n    Redirect 308 /is-deployed https://is-deployed.toolforge.org\n    Redirect 308 /isin https://isin.toolforge.org\n    Redirect gone /isitdeployed\n    Redirect 308 /isprangefinder https://isprangefinder.toolforge.org\n    Redirect gone /italian-wikipedia-bar\n    Redirect 308 /itemfinder https://itemfinder.toolforge.org\n    Redirect 308 /itemlister https://itemlister.toolforge.org\n    Redirect 308 /itsource https://itsource.toolforge.org\n    Redirect 308 /itwiki https://itwiki.toolforge.org\n    Redirect 308 /itwikiarticlebot https://itwikiarticlebot.toolforge.org\n    Redirect 308 /itwikinews-rss https://itwikinews-rss.toolforge.org\n    Redirect gone /it-wiki-users-leaflet\n    Redirect 308 /itwp-deletions https://itwp-deletions.toolforge.org\n    Redirect 308 /iw https://iw.toolforge.org\n    Redirect 308 /jackbot https://jackbot.toolforge.org\n    Redirect gone /james\n    Redirect 308 /jamesur-usergroupsearch https://jamesur-usergroupsearch.toolforge.org\n    Redirect 308 /janet https://janet.toolforge.org\n    Redirect gone /jarallah\n    Redirect gone /jarallah-ii\n    Redirect gone /jarbot\n    Redirect gone /jarbot-ii\n    Redirect gone /jarbot-iii\n    Redirect 308 /jarry-common https://jarry-common.toolforge.org\n    Redirect 308 /jata https://jata.toolforge.org\n    Redirect 308 /javatest https://javatest.toolforge.org\n    Redirect 308 /jawi https://jawi.toolforge.org\n    Redirect 308 /jayprakashbot https://jayprakashbot.toolforge.org\n    Redirect 308 /jbbot https://jbbot.toolforge.org\n    Redirect 308 /jbbot2 https://jbbot2.toolforge.org\n    Redirect 308 /jeh-dev https://jeh-dev.toolforge.org\n    Redirect 308 /jeltebot https://jeltebot.toolforge.org\n    Redirect 308 /jembot https://jembot.toolforge.org\n    Redirect 308 /jeremy https://jeremy.toolforge.org\n    Redirect 308 /jeremyb https://jeremyb.toolforge.org\n    Redirect 308 /jimmy https://jimmy.toolforge.org\n    Redirect 308 /jira-bugimport https://jira-bugimport.toolforge.org\n    Redirect 308 /jitrixis-test https://jitrixis-test.toolforge.org\n    Redirect 308 /jitse-bot https://jitse-bot.toolforge.org\n    Redirect 308 /jjmc89-bot https://jjmc89-bot.toolforge.org\n    Redirect 308 /jjmc89-bot-dev https://jjmc89-bot-dev.toolforge.org\n    Redirect 308 /joanjoc https://joanjoc.toolforge.org\n    Redirect gone /joaquinito01\n    Redirect gone /jogobot\n    Redirect 308 /jogotools https://jogotools.toolforge.org\n    Redirect gone /johnlewis\n    Redirect 308 /joinedventure https://joinedventure.toolforge.org\n    Redirect 308 /jorobot https://jorobot.toolforge.org\n    Redirect 308 /josve05a-test https://josve05a-test.toolforge.org\n    Redirect 308 /jouncebot https://jouncebot.toolforge.org\n    Redirect 308 /jshint https://jshint.toolforge.org\n    Redirect 308 /jtools https://jtools.toolforge.org\n    Redirect 308 /jurgennl https://jurgennl.toolforge.org\n    Redirect 308 /jury https://jury.toolforge.org\n    Redirect 308 /justincbot https://justincbot.toolforge.org\n    Redirect 308 /k8s-status https://k8s-status.toolforge.org\n    Redirect 308 /kaare https://kaare.toolforge.org\n    Redirect 308 /kaleem-bot https://kaleem-bot.toolforge.org\n    Redirect gone /kaleem-bot-i\n    Redirect 308 /kanjybot https://kanjybot.toolforge.org\n    Redirect gone /kanzatgroup\n    Redirect 308 /karsilayici https://karsilayici.toolforge.org\n    Redirect 308 /kaspar2commons https://kaspar2commons.toolforge.org\n    Redirect 308 /kasparbot https://kasparbot.toolforge.org\n    Redirect 308 /kasper-data-translator https://kasper-data-translator.toolforge.org\n    Redirect 308 /kdb https://kdb.toolforge.org\n    Redirect 308 /kenrick95bot https://kenrick95bot.toolforge.org\n    Redirect 308 /ket-bot https://ket-bot.toolforge.org\n    Redirect 308 /keystone-browser https://keystone-browser.toolforge.org\n    Redirect 308 /khanamalumat https://khanamalumat.toolforge.org\n    Redirect gone /khanomalumat\n    Redirect 308 /kharbot https://kharbot.toolforge.org\n    Redirect 308 /khebi https://khebi.toolforge.org\n    Redirect 308 /kian https://kian.toolforge.org\n    Redirect gone /kirstentest\n    Redirect 308 /klossebot https://klossebot.toolforge.org\n    Redirect 308 /kmlexport https://kmlexport.toolforge.org\n    Redirect gone /kmlexport-cswiki\n    Redirect 308 /knowledgegrapher https://knowledgegrapher.toolforge.org\n    Redirect 308 /kokolores https://kokolores.toolforge.org\n    Redirect 308 /kolbert https://kolbert.toolforge.org\n    Redirect gone /kolega\n    Redirect gone /kolega2357\n    Redirect 308 /kotools https://kotools.toolforge.org\n    Redirect 308 /kowikitools https://kowikitools.toolforge.org\n    Redirect 308 /krdbot https://krdbot.toolforge.org\n    Redirect 308 /krinklebot https://krinklebot.toolforge.org\n    Redirect 308 /krinkle-redirect https://krinkle-redirect.toolforge.org\n    Redirect 308 /ksamsok-rest https://ksamsok-rest.toolforge.org\n    Redirect 308 /ktc https://ktc.toolforge.org\n    Redirect 308 /kuwaity-tool https://kuwaity-tool.toolforge.org\n    Redirect 308 /l235-bot https://l235-bot.toolforge.org\n    Redirect 308 /l235-irc https://l235-irc.toolforge.org\n    Redirect 308 /laaknortools https://laaknortools.toolforge.org\n    Redirect 308 /labelimgohs https://labelimgohs.toolforge.org\n    Redirect gone /labstore-profiling\n    Redirect gone /lahitools\n    Redirect 308 /lalm https://lalm.toolforge.org\n    Redirect 308 /lambdabot https://lambdabot.toolforge.org\n    Redirect 308 /languagebar-ui https://languagebar-ui.toolforge.org\n    Redirect 308 /languageproofing https://languageproofing.toolforge.org\n    Redirect 308 /languageproofing-ui https://languageproofing-ui.toolforge.org\n    Redirect gone /languagetool\n    Redirect 308 /langviews https://langviews.toolforge.org\n    Redirect gone /langviews-test\n    Redirect 308 /largedatasetbot https://largedatasetbot.toolforge.org\n    Redirect gone /lastactiveadms\n    Redirect 308 /lastpics https://lastpics.toolforge.org\n    Redirect 308 /lbenedix https://lbenedix.toolforge.org\n    Redirect 308 /lcm-dashboard https://lcm-dashboard.toolforge.org\n    Redirect 308 /ldap https://ldap.toolforge.org\n    Redirect gone /ldap-beta\n    Redirect 308 /lebot https://lebot.toolforge.org\n    Redirect 308 /legobot https://legobot.toolforge.org\n    Redirect 308 /legobot-2 https://legobot-2.toolforge.org\n    Redirect gone /legoktm-adminbots\n    Redirect 308 /leptibot https://leptibot.toolforge.org\n    Redirect 308 /lestaty https://lestaty.toolforge.org\n    Redirect gone /lets-translate\n    Redirect 308 /lexeme-forms https://lexeme-forms.toolforge.org\n    Redirect 308 /lexeme-senses https://lexeme-senses.toolforge.org\n    Redirect 308 /liangent https://liangent.toolforge.org\n    Redirect 308 /liangent-django https://liangent-django.toolforge.org\n    Redirect 308 /liangent-migration-test https://liangent-migration-test.toolforge.org\n    Redirect 308 /liangent-misc https://liangent-misc.toolforge.org\n    Redirect 308 /liangent-php https://liangent-php.toolforge.org\n    Redirect 308 /liangent-py https://liangent-py.toolforge.org\n    Redirect 308 /liangent-shared https://liangent-shared.toolforge.org\n    Redirect 308 /liangent-toolserver https://liangent-toolserver.toolforge.org\n    Redirect gone /lib\n    Redirect gone /librarybase-db\n    Redirect 308 /librarybase-updater https://librarybase-updater.toolforge.org\n    Redirect 308 /libraryupgrader https://libraryupgrader.toolforge.org\n    Redirect 308 /librewiki https://librewiki.toolforge.org\n    Redirect 308 /liepp https://liepp.toolforge.org\n    Redirect 308 /lifeweb https://lifeweb.toolforge.org\n    Redirect 308 /lighttpd-test https://lighttpd-test.toolforge.org\n    Redirect 308 /lijebot https://lijebot.toolforge.org\n    Redirect gone /lilbit\n    Redirect 308 /lil-cvn https://lil-cvn.toolforge.org\n    Redirect 308 /limesmap https://limesmap.toolforge.org\n    Redirect 308 /lincolnbot https://lincolnbot.toolforge.org\n    Redirect 308 /linedwell https://linedwell.toolforge.org\n    Redirect 308 /lingua-libre https://lingua-libre.toolforge.org\n    Redirect 308 /linkedpageviews https://linkedpageviews.toolforge.org\n    Redirect 308 /linkscount https://linkscount.toolforge.org\n    Redirect 308 /linksearch https://linksearch.toolforge.org\n    Redirect gone /linkspam\n    Redirect 308 /linkstranslator https://linkstranslator.toolforge.org\n    Redirect 308 /linkwatcher https://linkwatcher.toolforge.org\n    Redirect 308 /linkybot https://linkybot.toolforge.org\n    Redirect 308 /linkypedia https://linkypedia.toolforge.org\n    Redirect 308 /list https://list.toolforge.org\n    Redirect 308 /listeria https://listeria.toolforge.org\n    Redirect 308 /listpages https://listpages.toolforge.org\n    Redirect 308 /lists https://lists.toolforge.org\n    Redirect gone /listunpatrolledpages\n    Redirect gone /livingstyleguide-prototype\n    Redirect 308 /lkftools https://lkftools.toolforge.org\n    Redirect gone /local-awb\n    Redirect gone /local-library-fulltext\n    Redirect gone /local-maps\n    Redirect gone /local-oclc-reference\n    Redirect 308 /local-reference-api https://local-reference-api.toolforge.org\n    Redirect 308 /local-root https://local-root.toolforge.org\n    Redirect 308 /local-southparkfan https://local-southparkfan.toolforge.org\n    Redirect gone /local-wikipedia-library-reference\n    Redirect 308 /locator https://locator.toolforge.org\n    Redirect 308 /locatorbot https://locatorbot.toolforge.org\n    Redirect 308 /locator-tool https://locator-tool.toolforge.org\n    Redirect gone /locktool\n    Redirect gone /logger\n    Redirect 308 /logojudge https://logojudge.toolforge.org\n    Redirect 308 /logoscope https://logoscope.toolforge.org\n    Redirect 308 /logs https://logs.toolforge.org\n    Redirect 308 /lolrrit-wm https://lolrrit-wm.toolforge.org\n    Redirect 308 /loltools https://loltools.toolforge.org\n    Redirect 308 /loltools-testing https://loltools-testing.toolforge.org\n    Redirect gone /loltrs\n    Redirect 308 /lonelylinks https://lonelylinks.toolforge.org\n    Redirect gone /low\n    Redirect 308 /lp-tools https://lp-tools.toolforge.org\n    Redirect 308 /lrbot https://lrbot.toolforge.org\n    Redirect 308 /lrtools https://lrtools.toolforge.org\n    Redirect 308 /lst-guard https://lst-guard.toolforge.org\n    Redirect gone /lta\n    Redirect 308 /ltfeedchecker https://ltfeedchecker.toolforge.org\n    Redirect 308 /lua-catscan2 https://lua-catscan2.toolforge.org\n    Redirect 308 /luke081515bot https://luke081515bot.toolforge.org\n    Redirect 308 /luke081515bot-beta https://luke081515bot-beta.toolforge.org\n    Redirect 308 /luke081515bot-dev https://luke081515bot-dev.toolforge.org\n    Redirect 308 /lyan https://lyan.toolforge.org\n    Redirect 308 /lynxbot https://lynxbot.toolforge.org\n    Redirect 308 /lziad https://lziad.toolforge.org\n    Redirect 308 /lziad-cvnbot https://lziad-cvnbot.toolforge.org\n    Redirect 308 /mabot https://mabot.toolforge.org\n    Redirect 308 /macfanbot https://macfanbot.toolforge.org\n    Redirect 308 /macfanlogbot https://macfanlogbot.toolforge.org\n    Redirect 308 /machtsinn https://machtsinn.toolforge.org\n    Redirect 308 /machtsinn-dev https://machtsinn-dev.toolforge.org\n    Redirect 308 /macommune https://macommune.toolforge.org\n    Redirect 308 /magnustools https://magnustools.toolforge.org\n    Redirect 308 /magnus-toolserver https://magnus-toolserver.toolforge.org\n    Redirect 308 /magog https://magog.toolforge.org\n    Redirect 308 /mahdiz https://mahdiz.toolforge.org\n    Redirect gone /maintainers\n    Redirect 308 /maintenance-bot https://maintenance-bot.toolforge.org\n    Redirect 308 /maintgraph https://maintgraph.toolforge.org\n    Redirect gone /maintun\n    Redirect 308 /maiwiki-editathon https://maiwiki-editathon.toolforge.org\n    Redirect 308 /majavah-bot https://majavah-bot.toolforge.org\n    Redirect 308 /makeref https://makeref.toolforge.org\n    Redirect 308 /manishearth https://manishearth.toolforge.org\n    Redirect 308 /manypedia https://manypedia.toolforge.org\n    Redirect 308 /map https://map.toolforge.org\n    Redirect 308 /mapillary-commons https://mapillary-commons.toolforge.org\n    Redirect 308 /maplayers-demo https://maplayers-demo.toolforge.org\n    Redirect gone /maplink-generator\n    Redirect 308 /map-of-monuments https://map-of-monuments.toolforge.org\n    Redirect 308 /maps https://maps.toolforge.org\n    Redirect 308 /map-search https://map-search.toolforge.org\n    Redirect 308 /mapycz https://mapycz.toolforge.org\n    Redirect gone /mardetanha-dev\n    Redirect 308 /maria https://maria.toolforge.org\n    Redirect 308 /masscamps https://masscamps.toolforge.org\n    Redirect 308 /massmailer https://massmailer.toolforge.org\n    Redirect 308 /masssly-test-tool https://masssly-test-tool.toolforge.org\n    Redirect 308 /massviews https://massviews.toolforge.org\n    Redirect gone /massviews-test\n    Redirect gone /math\n    Redirect 308 /mathbot https://mathbot.toolforge.org\n    Redirect 308 /mathqa https://mathqa.toolforge.org\n    Redirect gone /matilda\n    Redirect 308 /matsubot https://matsubot.toolforge.org\n    Redirect 308 /matthewrbot https://matthewrbot.toolforge.org\n    Redirect 308 /matthewrbot-dev https://matthewrbot-dev.toolforge.org\n    Redirect 308 /matthewrbowker https://matthewrbowker.toolforge.org\n    Redirect gone /matthewrbowker-dev\n    Redirect 308 /matthobot https://matthobot.toolforge.org\n    Redirect 308 /matvaretabellen https://matvaretabellen.toolforge.org\n    Redirect 308 /maurelio https://maurelio.toolforge.org\n    Redirect 308 /mavrikant https://mavrikant.toolforge.org\n    Redirect 308 /mbh https://mbh.toolforge.org\n    Redirect 308 /mbrt1 https://mbrt1.toolforge.org\n    Redirect 308 /mc8 https://mc8.toolforge.org\n    Redirect gone /mdaniels-acc-dev\n    Redirect 308 /mdanielsbot https://mdanielsbot.toolforge.org\n    Redirect gone /mdaniels-licencehelper\n    Redirect 308 /mdaniels-ogrebot https://mdaniels-ogrebot.toolforge.org\n    Redirect gone /mdaniels-refill-ng\n    Redirect gone /mdaniels-refill-ng-api\n    Redirect 308 /mdann52bot https://mdann52bot.toolforge.org\n    Redirect 308 /mdvt https://mdvt.toolforge.org\n    Redirect 308 /mediacounts https://mediacounts.toolforge.org\n    Redirect 308 /media-dubiety https://media-dubiety.toolforge.org\n    Redirect gone /mediaplaycounts\n    Redirect 308 /media-reports https://media-reports.toolforge.org\n    Redirect 308 /mediaviews https://mediaviews.toolforge.org\n    Redirect 308 /mediaviews-api https://mediaviews-api.toolforge.org\n    Redirect gone /mediawiki2latex\n    Redirect 308 /mediawiki-feeds https://mediawiki-feeds.toolforge.org\n    Redirect gone /mediawiki-mc\n    Redirect gone /mediawiki-mirror\n    Redirect 308 /medusatest https://medusatest.toolforge.org\n    Redirect 308 /meetbot https://meetbot.toolforge.org\n    Redirect 308 /meetingtimes https://meetingtimes.toolforge.org\n    Redirect 308 /megacron https://megacron.toolforge.org\n    Redirect 308 /mehrdadbot https://mehrdadbot.toolforge.org\n    Redirect 308 /memberbot https://memberbot.toolforge.org\n    Redirect 308 /menobot https://menobot.toolforge.org\n    Redirect 308 /merge2pdf https://merge2pdf.toolforge.org\n    Redirect 308 /merlbot https://merlbot.toolforge.org\n    Redirect 308 /merlbot2 https://merlbot2.toolforge.org\n    Redirect 308 /merlbot-read https://merlbot-read.toolforge.org\n    Redirect 308 /merlbot-web https://merlbot-web.toolforge.org\n    Redirect 308 /merl-dev https://merl-dev.toolforge.org\n    Redirect gone /merliwbot\n    Redirect gone /messenger-chatbot\n    Redirect 308 /meta https://meta.toolforge.org\n    Redirect 308 /meta2 https://meta2.toolforge.org\n    Redirect 308 /meta-dev https://meta-dev.toolforge.org\n    Redirect 308 /metamine https://metamine.toolforge.org\n    Redirect 308 /metaviews https://metaviews.toolforge.org\n    Redirect 308 /metmuseum https://metmuseum.toolforge.org\n    Redirect 308 /metricslibrary https://metricslibrary.toolforge.org\n    Redirect 308 /metricslibrary-dev https://metricslibrary-dev.toolforge.org\n    Redirect 308 /mfnf-export https://mfnf-export.toolforge.org\n    Redirect 308 /mfw-bww https://mfw-bww.toolforge.org\n    Redirect 308 /mg-bot https://mg-bot.toolforge.org\n    Redirect gone /mh-signbot\n    Redirect gone /mhwikibot\n    Redirect gone /mide\n    Redirect gone /mide-dev\n    Redirect 308 /mifterbot https://mifterbot.toolforge.org\n    Redirect 308 /mifterbot-en https://mifterbot-en.toolforge.org\n    Redirect 308 /milhistbot https://milhistbot.toolforge.org\n    Redirect 308 /mirador https://mirador.toolforge.org\n    Redirect gone /miraheze-discord-irc\n    Redirect gone /miraheze-notifico\n    Redirect 308 /mirusbot https://mirusbot.toolforge.org\n    Redirect 308 /misc2svg https://misc2svg.toolforge.org\n    Redirect 308 /missing-from-wikipedia https://missing-from-wikipedia.toolforge.org\n    Redirect 308 /missingpages https://missingpages.toolforge.org\n    Redirect 308 /missingtopics https://missingtopics.toolforge.org\n    Redirect 308 /missing-value https://missing-value.toolforge.org\n    Redirect 308 /mitmachen https://mitmachen.toolforge.org\n    Redirect 308 /mix-n-match https://mix-n-match.toolforge.org\n    Redirect 308 /mjbmr https://mjbmr.toolforge.org\n    Redirect 308 /mjbmrbot https://mjbmrbot.toolforge.org\n    Redirect 308 /mjbmr-tools https://mjbmr-tools.toolforge.org\n    Redirect 308 /mjlbot https://mjlbot.toolforge.org\n    Redirect 308 /mlbt https://mlbt.toolforge.org\n    Redirect 308 /mlwikidbupdate https://mlwikidbupdate.toolforge.org\n    Redirect 308 /mlwikisource https://mlwikisource.toolforge.org\n    Redirect 308 /mmt https://mmt.toolforge.org\n    Redirect gone /mobile\n    Redirect 308 /moedata https://moedata.toolforge.org\n    Redirect 308 /mohammedbot https://mohammedbot.toolforge.org\n    Redirect 308 /mohib https://mohib.toolforge.org\n    Redirect 308 /mohiburdu https://mohiburdu.toolforge.org\n    Redirect gone /monaco\n    Redirect 308 /mono https://mono.toolforge.org\n    Redirect 308 /montage https://montage.toolforge.org\n    Redirect 308 /montage-beta https://montage-beta.toolforge.org\n    Redirect 308 /montage-dev https://montage-dev.toolforge.org\n    Redirect 308 /monumental https://monumental.toolforge.org\n    Redirect 308 /monumental-glam https://monumental-glam.toolforge.org\n    Redirect gone /morebots\n    Redirect gone /morfeusz\n    Redirect 308 /mormegil https://mormegil.toolforge.org\n    Redirect 308 /morph https://morph.toolforge.org\n    Redirect 308 /morphtool https://morphtool.toolforge.org\n    Redirect 308 /mortar https://mortar.toolforge.org\n    Redirect gone /mostlinkedmissing\n    Redirect 308 /most-readable-pages https://most-readable-pages.toolforge.org\n    Redirect 308 /most-wanted https://most-wanted.toolforge.org\n    Redirect gone /move\n    Redirect 308 /movecat https://movecat.toolforge.org\n    Redirect 308 /movestats https://movestats.toolforge.org\n    Redirect 308 /mp https://mp.toolforge.org\n    Redirect 308 /mpaatools https://mpaatools.toolforge.org\n    Redirect 308 /mrakinsey https://mrakinsey.toolforge.org\n    Redirect 308 /mrbluebot https://mrbluebot.toolforge.org\n    Redirect gone /mrmetadata\n    Redirect 308 /msbits https://msbits.toolforge.org\n    Redirect 308 /mscbot https://mscbot.toolforge.org\n    Redirect 308 /mstools https://mstools.toolforge.org\n    Redirect 308 /msynbot https://msynbot.toolforge.org\n    Redirect gone /mtc-rest\n    Redirect gone /mu\n    Redirect 308 /multichill https://multichill.toolforge.org\n    Redirect 308 /multicompare https://multicompare.toolforge.org\n    Redirect 308 /multidesc https://multidesc.toolforge.org\n    Redirect 308 /muninnbot https://muninnbot.toolforge.org\n    Redirect 308 /murbot https://murbot.toolforge.org\n    Redirect 308 /musikanimal https://musikanimal.toolforge.org\n    Redirect gone /musikanimal-test\n    Redirect 308 /musikbot https://musikbot.toolforge.org\n    Redirect 308 /mw2sparql https://mw2sparql.toolforge.org\n    Redirect gone /mwcoreteam\n    Redirect gone /mwhook-bot\n    Redirect 308 /mwlint https://mwlint.toolforge.org\n    Redirect 308 /mwp https://mwp.toolforge.org\n    Redirect 308 /mwpackages https://mwpackages.toolforge.org\n    Redirect 308 /mwph-api https://mwph-api.toolforge.org\n    Redirect 308 /mwp-testing https://mwp-testing.toolforge.org\n    Redirect 308 /mwstew https://mwstew.toolforge.org\n    Redirect 308 /mwversion https://mwversion.toolforge.org\n    Redirect 308 /mybot https://mybot.toolforge.org\n    Redirect 308 /my-first-django-oauth-app https://my-first-django-oauth-app.toolforge.org\n    Redirect 308 /my-first-django-tool https://my-first-django-tool.toolforge.org\n    Redirect 308 /my-first-flask-oauth-tool https://my-first-flask-oauth-tool.toolforge.org\n    Redirect 308 /my-first-flask-tool https://my-first-flask-tool.toolforge.org\n    Redirect 308 /my-first-pywikibot-tool https://my-first-pywikibot-tool.toolforge.org\n    Redirect gone /my_first_tool\n    Redirect gone /myrcx\n    Redirect 308 /mysql-php-session-test https://mysql-php-session-test.toolforge.org\n    Redirect 308 /my-threads https://my-threads.toolforge.org\n    Redirect gone /mywikitool\n    Redirect gone /mzmcbride\n    Redirect 308 /nada https://nada.toolforge.org\n    Redirect 308 /nagf https://nagf.toolforge.org\n    Redirect 308 /nakon https://nakon.toolforge.org\n    Redirect 308 /namakemono https://namakemono.toolforge.org\n    Redirect 308 /napalmbot https://napalmbot.toolforge.org\n    Redirect 308 /napalmbot-sah https://napalmbot-sah.toolforge.org\n    Redirect gone /napalmtools\n    Redirect 308 /nara https://nara.toolforge.org\n    Redirect 308 /nasirkhanbot https://nasirkhanbot.toolforge.org\n    Redirect 308 /nasirkhantools https://nasirkhantools.toolforge.org\n    Redirect 308 /navlink-recommendation https://navlink-recommendation.toolforge.org\n    Redirect 308 /nearby-places-viewer https://nearby-places-viewer.toolforge.org\n    Redirect 308 /neechal https://neechal.toolforge.org\n    Redirect 308 /neechalbot https://neechalbot.toolforge.org\n    Redirect 308 /negative24-bottesting https://negative24-bottesting.toolforge.org\n    Redirect 308 /neuraltricity https://neuraltricity.toolforge.org\n    Redirect 308 /neuromat https://neuromat.toolforge.org\n    Redirect 308 /newbie-uploads https://newbie-uploads.toolforge.org\n    Redirect gone /newfiles\n    Redirect 308 /newiki-editathon https://newiki-editathon.toolforge.org\n    Redirect 308 /new-q5 https://new-q5.toolforge.org\n    Redirect 308 /new-uploads-refresher https://new-uploads-refresher.toolforge.org\n    Redirect 308 /newusers https://newusers.toolforge.org\n    Redirect 308 /newwebtest https://newwebtest.toolforge.org\n    Redirect gone /newyorkadam\n    Redirect 308 /nfcbot https://nfcbot.toolforge.org\n    Redirect 308 /nicepedia https://nicepedia.toolforge.org\n    Redirect gone /ninjastrikers\n    Redirect 308 /ninobot https://ninobot.toolforge.org\n    Redirect 308 /ninobott https://ninobott.toolforge.org\n    Redirect gone /ninthcircuit\n    Redirect gone /niosh\n    Redirect 308 /nitlow https://nitlow.toolforge.org\n    Redirect 308 /nitolw https://nitolw.toolforge.org\n    Redirect 308 /njsbot https://njsbot.toolforge.org\n    Redirect 308 /nli-wiki https://nli-wiki.toolforge.org\n    Redirect 308 /nlwikibots https://nlwikibots.toolforge.org\n    Redirect 308 /nlwikt-tools https://nlwikt-tools.toolforge.org\n    Redirect gone /nn1l2bot\n    Redirect 308 /noaabot https://noaabot.toolforge.org\n    Redirect 308 /noclaims https://noclaims.toolforge.org\n    Redirect 308 /nodejs-mw-oauth-tool https://nodejs-mw-oauth-tool.toolforge.org\n    Redirect 308 /nodetree https://nodetree.toolforge.org\n    Redirect 308 /nomad https://nomad.toolforge.org\n    Redirect 308 /nominatim https://nominatim.toolforge.org\n    Redirect 308 /nordic-museum-depicts https://nordic-museum-depicts.toolforge.org\n    Redirect gone /noref\n    Redirect 308 /notebooks https://notebooks.toolforge.org\n    Redirect 308 /notif-bot https://notif-bot.toolforge.org\n    Redirect 308 /not-in-the-other-language https://not-in-the-other-language.toolforge.org\n    Redirect 308 /npp https://npp.toolforge.org\n    Redirect 308 /nppbrowser https://nppbrowser.toolforge.org\n    Redirect 308 /nppdash https://nppdash.toolforge.org\n    Redirect 308 /npp-lv https://npp-lv.toolforge.org\n    Redirect 308 /nrhpservice https://nrhpservice.toolforge.org\n    Redirect 308 /nsfw https://nsfw.toolforge.org\n    Redirect 308 /nullbot https://nullbot.toolforge.org\n    Redirect 308 /nullzero https://nullzero.toolforge.org\n    Redirect 308 /nullzerobot https://nullzerobot.toolforge.org\n    Redirect 308 /nyandata https://nyandata.toolforge.org\n    Redirect 308 /oabot https://oabot.toolforge.org\n    Redirect 308 /oabot-wd-game https://oabot-wd-game.toolforge.org\n    Redirect gone /oar\n    Redirect 308 /oauth-hello-world https://oauth-hello-world.toolforge.org\n    Redirect 308 /oauthtest https://oauthtest.toolforge.org\n    Redirect 308 /obaid https://obaid.toolforge.org\n    Redirect 308 /ocgepub https://ocgepub.toolforge.org\n    Redirect 308 /ocounter https://ocounter.toolforge.org\n    Redirect 308 /ocr4wikisource https://ocr4wikisource.toolforge.org\n    Redirect 308 /ocrtoy https://ocrtoy.toolforge.org\n    Redirect 308 /octodata https://octodata.toolforge.org\n    Redirect 308 /octrabot https://octrabot.toolforge.org\n    Redirect gone /odder-dev\n    Redirect 308 /oddol https://oddol.toolforge.org\n    Redirect 308 /okmaps https://okmaps.toolforge.org\n    Redirect 308 /olsibot https://olsibot.toolforge.org\n    Redirect 308 /olympics https://olympics.toolforge.org\n    Redirect 308 /omarghridabot https://omarghridabot.toolforge.org\n    Redirect gone /oncall\n    Redirect gone /onetools\n    Redirect 308 /oojs-ui https://oojs-ui.toolforge.org\n    Redirect 308 /ooui-debug https://ooui-debug.toolforge.org\n    Redirect 308 /opendatasets https://opendatasets.toolforge.org\n    Redirect 308 /openhatch-wiki https://openhatch-wiki.toolforge.org\n    Redirect 308 /openipmap https://openipmap.toolforge.org\n    Redirect 308 /openrefine-wikidata https://openrefine-wikidata.toolforge.org\n    Redirect 308 /openstack-browser https://openstack-browser.toolforge.org\n    Redirect 308 /openstack-browser-dev https://openstack-browser-dev.toolforge.org\n    Redirect 308 /oqtools https://oqtools.toolforge.org\n    Redirect 308 /orator-matcher https://orator-matcher.toolforge.org\n    Redirect 308 /order-user-by-reg https://order-user-by-reg.toolforge.org\n    Redirect 308 /ordia https://ordia.toolforge.org\n    Redirect 308 /orejasbot https://orejasbot.toolforge.org\n    Redirect 308 /ores https://ores.toolforge.org\n    Redirect gone /ores-afc\n    Redirect 308 /ores-demos https://ores-demos.toolforge.org\n    Redirect 308 /ores-support-checklist https://ores-support-checklist.toolforge.org\n    Redirect 308 /orphan-groups https://orphan-groups.toolforge.org\n    Redirect 308 /orphantalk https://orphantalk.toolforge.org\n    Redirect 308 /orpheus https://orpheus.toolforge.org\n    Redirect 308 /orwell01 https://orwell01.toolforge.org\n    Redirect 308 /orwell02 https://orwell02.toolforge.org\n    Redirect 308 /os https://os.toolforge.org\n    Redirect 308 /oscoor https://oscoor.toolforge.org\n    Redirect 308 /os-deprecation https://os-deprecation.toolforge.org\n    Redirect 308 /osm https://osm.toolforge.org\n    Redirect 308 /osm4wiki https://osm4wiki.toolforge.org\n    Redirect 308 /osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 308 /osmbstat https://osmbstat.toolforge.org\n    Redirect 308 /osmcounts https://osmcounts.toolforge.org\n    Redirect 308 /osm-gadget https://osm-gadget.toolforge.org\n    Redirect 308 /osm-gadget-leaflet https://osm-gadget-leaflet.toolforge.org\n    Redirect 308 /osmkmlmap https://osmkmlmap.toolforge.org\n    Redirect 308 /osmlint https://osmlint.toolforge.org\n    Redirect 308 /otrs-helper https://otrs-helper.toolforge.org\n    Redirect 308 /otrsreports https://otrsreports.toolforge.org\n    Redirect 308 /oubli-signature-bot https://oubli-signature-bot.toolforge.org\n    Redirect gone /ouda\n    Redirect 308 /oudabot https://oudabot.toolforge.org\n    Redirect gone /outofband\n    Redirect 308 /outreachy-hiteshpr https://outreachy-hiteshpr.toolforge.org\n    Redirect 308 /outreachy-recent-edits-tool https://outreachy-recent-edits-tool.toolforge.org\n    Redirect 308 /outreachy-sagorika1996 https://outreachy-sagorika1996.toolforge.org\n    Redirect 308 /outreachy-sayani-tool https://outreachy-sayani-tool.toolforge.org\n    Redirect 308 /outreachy-shipra https://outreachy-shipra.toolforge.org\n    Redirect 308 /outreachy-user-contribution-tool https://outreachy-user-contribution-tool.toolforge.org\n    Redirect 308 /outreachy-useredits https://outreachy-useredits.toolforge.org\n    Redirect 308 /outreachy-userrank https://outreachy-userrank.toolforge.org\n    Redirect 308 /outreachy-user-ranking-tool https://outreachy-user-ranking-tool.toolforge.org\n    Redirect 308 /outreachy-wikicv https://outreachy-wikicv.toolforge.org\n    Redirect gone /outreacy-wikicv\n    Redirect 308 /owintes https://owintes.toolforge.org\n    Redirect 308 /p4-linkie https://p4-linkie.toolforge.org\n    Redirect 308 /pacetrack https://pacetrack.toolforge.org\n    Redirect 308 /pagecount https://pagecount.toolforge.org\n    Redirect 308 /pagecounts https://pagecounts.toolforge.org\n    Redirect 308 /pagepile https://pagepile.toolforge.org\n    Redirect 308 /pagepile-visual-filter https://pagepile-visual-filter.toolforge.org\n    Redirect 308 /pageshift https://pageshift.toolforge.org\n    Redirect 308 /pageviews https://pageviews.toolforge.org\n    Redirect 308 /pageviews-test https://pageviews-test.toolforge.org\n    Redirect gone /paid\n    Redirect gone /palmleaf-transcriber\n    Redirect 308 /pandata https://pandata.toolforge.org\n    Redirect 308 /panderine https://panderine.toolforge.org\n    Redirect 308 /panoviewer https://panoviewer.toolforge.org\n    Redirect 308 /para https://para.toolforge.org\n    Redirect 308 /parliamentdiagram https://parliamentdiagram.toolforge.org\n    Redirect 308 /parliament-diagram-generator https://parliament-diagram-generator.toolforge.org\n    Redirect gone /parsec\n    Redirect 308 /passlicense https://passlicense.toolforge.org\n    Redirect 308 /paste https://paste.toolforge.org\n    Redirect 308 /pastebin https://pastebin.toolforge.org\n    Redirect 308 /paste-test https://paste-test.toolforge.org\n    Redirect 308 /pathbot-test-1 https://pathbot-test-1.toolforge.org\n    Redirect 308 /pathoschild-contrib https://pathoschild-contrib.toolforge.org\n    Redirect 308 /pathway-viewer https://pathway-viewer.toolforge.org\n    Redirect 308 /patrall https://patrall.toolforge.org\n    Redirect 308 /patrollerinfo https://patrollerinfo.toolforge.org\n    Redirect 308 /patrolstats https://patrolstats.toolforge.org\n    Redirect gone /patrubot\n    Redirect 308 /pavlochembot https://pavlochembot.toolforge.org\n    Redirect 308 /paws https://paws.toolforge.org\n    Redirect 308 /paws-beta https://paws-beta.toolforge.org\n    Redirect 308 /paws-dev https://paws-dev.toolforge.org\n    Redirect 308 /paws-public https://paws-public.toolforge.org\n    Redirect 308 /paws-published https://paws-published.toolforge.org\n    Redirect 308 /paws-stats https://paws-stats.toolforge.org\n    Redirect 308 /paws-status https://paws-status.toolforge.org\n    Redirect 308 /paws-support https://paws-support.toolforge.org\n    Redirect 308 /payravi https://payravi.toolforge.org\n    Redirect 308 /pb https://pb.toolforge.org\n    Redirect 308 /pbbot https://pbbot.toolforge.org\n    Redirect 308 /peachy https://peachy.toolforge.org\n    Redirect 308 /peachy-docs https://peachy-docs.toolforge.org\n    Redirect 308 /pearbot https://pearbot.toolforge.org\n    Redirect 308 /pearbot2 https://pearbot2.toolforge.org\n    Redirect 308 /peek https://peek.toolforge.org\n    Redirect 308 /perebot https://perebot.toolforge.org\n    Redirect 308 /perfectbot https://perfectbot.toolforge.org\n    Redirect 308 /perfect-venn-diagram-generator https://perfect-venn-diagram-generator.toolforge.org\n    Redirect 308 /perflogbot https://perflogbot.toolforge.org\n    Redirect 308 /periodibot https://periodibot.toolforge.org\n    Redirect gone /periodssuck\n    Redirect gone /permission-denied-test\n    Redirect gone /perrybot\n    Redirect 308 /personabot https://personabot.toolforge.org\n    Redirect 308 /persondata https://persondata.toolforge.org\n    Redirect gone /petscan-md\n    Redirect 308 /pg2ws https://pg2ws.toolforge.org\n    Redirect gone /pgrmeval\n    Redirect 308 /phab-ban https://phab-ban.toolforge.org\n    Redirect 308 /phabbot https://phabbot.toolforge.org\n    Redirect 308 /phabricator-bug-status https://phabricator-bug-status.toolforge.org\n    Redirect 308 /phabricator-reporter https://phabricator-reporter.toolforge.org\n    Redirect gone /phab-search\n    Redirect 308 /phabsearchemail https://phabsearchemail.toolforge.org\n    Redirect 308 /phabulous https://phabulous.toolforge.org\n    Redirect gone /phamhi-tool\n    Redirect 308 /phantombot https://phantombot.toolforge.org\n    Redirect 308 /phetools https://phetools.toolforge.org\n    Redirect 308 /phoenix9 https://phoenix9.toolforge.org\n    Redirect 308 /phpcs https://phpcs.toolforge.org\n    Redirect 308 /phpinfo https://phpinfo.toolforge.org\n    Redirect gone /phragile\n    Redirect 308 /piagetbot https://piagetbot.toolforge.org\n    Redirect 308 /piagetenwiki https://piagetenwiki.toolforge.org\n    Redirect 308 /pibot https://pibot.toolforge.org\n    Redirect 308 /pib-upload https://pib-upload.toolforge.org\n    Redirect 308 /pileviews https://pileviews.toolforge.org\n    Redirect 308 /ping08bot https://ping08bot.toolforge.org\n    Redirect 308 /pinyin-wiki https://pinyin-wiki.toolforge.org\n    Redirect 308 /pipeng https://pipeng.toolforge.org\n    Redirect 308 /pirsquared https://pirsquared.toolforge.org\n    Redirect 308 /pisgbot https://pisgbot.toolforge.org\n    Redirect 308 /pitsilemu https://pitsilemu.toolforge.org\n    Redirect 308 /plagiabot https://plagiabot.toolforge.org\n    Redirect 308 /plaigsossbot https://plaigsossbot.toolforge.org\n    Redirect 308 /plaintexteditcounter https://plaintexteditcounter.toolforge.org\n    Redirect 308 /planettoearth https://planettoearth.toolforge.org\n    Redirect 308 /plantel2wiki https://plantel2wiki.toolforge.org\n    Redirect 308 /plasmahelp https://plasmahelp.toolforge.org\n    Redirect gone /platypus-qa\n    Redirect 308 /plnode https://plnode.toolforge.org\n    Redirect 308 /plstools https://plstools.toolforge.org\n    Redirect 308 /pltools https://pltools.toolforge.org\n    Redirect 308 /pmidtool https://pmidtool.toolforge.org\n    Redirect 308 /poiimport https://poiimport.toolforge.org\n    Redirect 308 /popularpages https://popularpages.toolforge.org\n    Redirect 308 /popularpages-dev https://popularpages-dev.toolforge.org\n    Redirect 308 /portal https://portal.toolforge.org\n    Redirect 308 /portalbox https://portalbox.toolforge.org\n    Redirect gone /portal-stats\n    Redirect 308 /position-holder-history https://position-holder-history.toolforge.org\n    Redirect 308 /potd https://potd.toolforge.org\n    Redirect 308 /potd-feed https://potd-feed.toolforge.org\n    Redirect 308 /potd-viewer https://potd-viewer.toolforge.org\n    Redirect 308 /potrace https://potrace.toolforge.org\n    Redirect 308 /poty https://poty.toolforge.org\n    Redirect 308 /povoconta https://povoconta.toolforge.org\n    Redirect 308 /powow https://powow.toolforge.org\n    Redirect gone /ppp-sparql\n    Redirect gone /precise-tools\n    Redirect 308 /prefbot https://prefbot.toolforge.org\n    Redirect gone /primary-sources-v2\n    Redirect 308 /primebot https://primebot.toolforge.org\n    Redirect 308 /prime-draftnocat https://prime-draftnocat.toolforge.org\n    Redirect 308 /primerpedia https://primerpedia.toolforge.org\n    Redirect gone /prism\n    Redirect gone /projanalysis\n    Redirect gone /project-fa\n    Redirect 308 /projector https://projector.toolforge.org\n    Redirect 308 /projektneuheiten-feed https://projektneuheiten-feed.toolforge.org\n    Redirect gone /projetpp\n    Redirect gone /prometheus\n    Redirect 308 /prompter https://prompter.toolforge.org\n    Redirect 308 /proneval https://proneval.toolforge.org\n    Redirect 308 /proneval-gsoc17 https://proneval-gsoc17.toolforge.org\n    Redirect gone /propertyuse\n    Redirect 308 /prop-explorer https://prop-explorer.toolforge.org\n    Redirect 308 /prosjektbot https://prosjektbot.toolforge.org\n    Redirect gone /proxies\n    Redirect 308 /prvnotifications https://prvnotifications.toolforge.org\n    Redirect 308 /ptable https://ptable.toolforge.org\n    Redirect 308 /ptbot https://ptbot.toolforge.org\n    Redirect 308 /ptbots https://ptbots.toolforge.org\n    Redirect 308 /ptools https://ptools.toolforge.org\n    Redirect 308 /ptwikis https://ptwikis.toolforge.org\n    Redirect 308 /pub https://pub.toolforge.org\n    Redirect 308 /pubchem-wikidata-updates https://pubchem-wikidata-updates.toolforge.org\n    Redirect 308 /purger https://purger.toolforge.org\n    Redirect gone /push-notifications-helper\n    Redirect 308 /pv https://pv.toolforge.org\n    Redirect 308 /pybot https://pybot.toolforge.org\n    Redirect 308 /pyshexy https://pyshexy.toolforge.org\n    Redirect 308 /pywikibot https://pywikibot.toolforge.org\n    Redirect 308 /pywikibot-grrtbt https://pywikibot-grrtbt.toolforge.org\n    Redirect 308 /pywikibot-test https://pywikibot-test.toolforge.org\n    Redirect 308 /pywikibot-testwiki https://pywikibot-testwiki.toolforge.org\n    Redirect 308 /pywikibot-tw https://pywikibot-tw.toolforge.org\n    Redirect 308 /pywikipedia https://pywikipedia.toolforge.org\n    Redirect 308 /pywowbot https://pywowbot.toolforge.org\n    Redirect 308 /qedkbot https://qedkbot.toolforge.org\n    Redirect 308 /qic https://qic.toolforge.org\n    Redirect 308 /qrcode-generator https://qrcode-generator.toolforge.org\n    Redirect gone /qsgenerator\n    Redirect 308 /quality-analyzer https://quality-analyzer.toolforge.org\n    Redirect 308 /quality-assisted-editor https://quality-assisted-editor.toolforge.org\n    Redirect 308 /quarry https://quarry.toolforge.org\n    Redirect 308 /quarrybot-enwiki https://quarrybot-enwiki.toolforge.org\n    Redirect 308 /quarry-dev https://quarry-dev.toolforge.org\n    Redirect 308 /quentintools https://quentintools.toolforge.org\n    Redirect 308 /quentinv57-bots https://quentinv57-bots.toolforge.org\n    Redirect 308 /quentinv57-common https://quentinv57-common.toolforge.org\n    Redirect 308 /query https://query.toolforge.org\n    Redirect 308 /query2map https://query2map.toolforge.org\n    Redirect 308 /query-universe https://query-universe.toolforge.org\n    Redirect 308 /quickcategories https://quickcategories.toolforge.org\n    Redirect 308 /quick-intersection https://quick-intersection.toolforge.org\n    Redirect 308 /quickpreset-migrate https://quickpreset-migrate.toolforge.org\n    Redirect gone /quickquery\n    Redirect 308 /quickstatements https://quickstatements.toolforge.org\n    Redirect 308 /quips https://quips.toolforge.org\n    Redirect gone /quotable\n    Redirect 308 /quotenbot https://quotenbot.toolforge.org\n    Redirect 308 /r96340-bot https://r96340-bot.toolforge.org\n    Redirect 308 /raehhamsang https://raehhamsang.toolforge.org\n    Redirect 308 /ragesossbot https://ragesossbot.toolforge.org\n    Redirect 308 /railways https://railways.toolforge.org\n    Redirect 308 /ralgisbot https://ralgisbot.toolforge.org\n    Redirect 308 /ramp https://ramp.toolforge.org\n    Redirect 308 /ramp2 https://ramp2.toolforge.org\n    Redirect 308 /random https://random.toolforge.org\n    Redirect 308 /random-featured https://random-featured.toolforge.org\n    Redirect 308 /randomincategory https://randomincategory.toolforge.org\n    Redirect 308 /rang https://rang.toolforge.org\n    Redirect 308 /rangeblockfinder https://rangeblockfinder.toolforge.org\n    Redirect 308 /rangecalc-improved https://rangecalc-improved.toolforge.org\n    Redirect 308 /rangecontrib https://rangecontrib.toolforge.org\n    Redirect gone /rank\n    Redirect gone /rank1\n    Redirect gone /rank4\n    Redirect 308 /raun https://raun.toolforge.org\n    Redirect 308 /raunbot https://raunbot.toolforge.org\n    Redirect 308 /raymond https://raymond.toolforge.org\n    Redirect 308 /raymondyee-test https://raymondyee-test.toolforge.org\n    Redirect 308 /rchv https://rchv.toolforge.org\n    Redirect gone /rcm\n    Redirect 308 /rcquery https://rcquery.toolforge.org\n    Redirect 308 /rc-vikidia https://rc-vikidia.toolforge.org\n    Redirect 308 /reader https://reader.toolforge.org\n    Redirect 308 /readmore https://readmore.toolforge.org\n    Redirect gone /reasomics\n    Redirect 308 /reasonator https://reasonator.toolforge.org\n    Redirect 308 /rebot https://rebot.toolforge.org\n    Redirect 308 /recitation-bot https://recitation-bot.toolforge.org\n    Redirect 308 /recoin https://recoin.toolforge.org\n    Redirect gone /recoin-sample\n    Redirect gone /recommendation\n    Redirect 308 /recom-tool https://recom-tool.toolforge.org\n    Redirect 308 /redirecter https://redirecter.toolforge.org\n    Redirect 308 /redirectviews https://redirectviews.toolforge.org\n    Redirect 308 /redirtest https://redirtest.toolforge.org\n    Redirect 308 /redpanda https://redpanda.toolforge.org\n    Redirect 308 /redwarn https://redwarn.toolforge.org\n    Redirect gone /refcreator\n    Redirect 308 /referee https://referee.toolforge.org\n    Redirect gone /referencebot\n    Redirect 308 /refill https://refill.toolforge.org\n    Redirect 308 /refill-api https://refill-api.toolforge.org\n    Redirect gone /reflinks\n    Redirect 308 /refswikipedia https://refswikipedia.toolforge.org\n    Redirect 308 /reftoolbar https://reftoolbar.toolforge.org\n    Redirect 308 /registro-cancellazioni https://registro-cancellazioni.toolforge.org\n    Redirect 308 /reise-reise https://reise-reise.toolforge.org\n    Redirect 308 /relgen https://relgen.toolforge.org\n    Redirect 308 /remarkup2wikitext https://remarkup2wikitext.toolforge.org\n    Redirect 308 /rembot https://rembot.toolforge.org\n    Redirect 308 /reminderbot https://reminderbot.toolforge.org\n    Redirect 308 /render https://render.toolforge.org\n    Redirect 308 /render-tests https://render-tests.toolforge.org\n    Redirect gone /repi\n    Redirect 308 /replacer https://replacer.toolforge.org\n    Redirect 308 /replag https://replag.toolforge.org\n    Redirect 308 /repo https://repo.toolforge.org\n    Redirect gone /reports\n    Redirect gone /reportsbot\n    Redirect 308 /reports-bot https://reports-bot.toolforge.org\n    Redirect 308 /request https://request.toolforge.org\n    Redirect 308 /retractionbot https://retractionbot.toolforge.org\n    Redirect 308 /revdiffsearch https://revdiffsearch.toolforge.org\n    Redirect 308 /revertstat https://revertstat.toolforge.org\n    Redirect 308 /revi https://revi.toolforge.org\n    Redirect 308 /revibot https://revibot.toolforge.org\n    Redirect 308 /revibot-i https://revibot-i.toolforge.org\n    Redirect 308 /revibot-ii https://revibot-ii.toolforge.org\n    Redirect 308 /revibot-iii https://revibot-iii.toolforge.org\n    Redirect gone /revibot-iv\n    Redirect 308 /reviewer https://reviewer.toolforge.org\n    Redirect 308 /reviewers https://reviewers.toolforge.org\n    Redirect 308 /review-stats https://review-stats.toolforge.org\n    Redirect 308 /reviewtools https://reviewtools.toolforge.org\n    Redirect 308 /revisions-blacklist https://revisions-blacklist.toolforge.org\n    Redirect 308 /revisionstats https://revisionstats.toolforge.org\n    Redirect 308 /revitalizebot https://revitalizebot.toolforge.org\n    Redirect 308 /rezabot https://rezabot.toolforge.org\n    Redirect 308 /reza-dev https://reza-dev.toolforge.org\n    Redirect 308 /rfahelper https://rfahelper.toolforge.org\n    Redirect 308 /rfastats https://rfastats.toolforge.org\n    Redirect 308 /rfa-tool https://rfa-tool.toolforge.org\n    Redirect 308 /rfc-analyzer https://rfc-analyzer.toolforge.org\n    Redirect 308 /rfx https://rfx.toolforge.org\n    Redirect 308 /rfx-dev https://rfx-dev.toolforge.org\n    Redirect gone /rhinosf1-afdclose\n    Redirect 308 /ricordisamoa https://ricordisamoa.toolforge.org\n    Redirect 308 /ri-diff-fixture-updater https://ri-diff-fixture-updater.toolforge.org\n    Redirect 308 /rightstool https://rightstool.toolforge.org\n    Redirect 308 /rileybot https://rileybot.toolforge.org\n    Redirect 308 /rillke https://rillke.toolforge.org\n    Redirect 308 /rillke-node https://rillke-node.toolforge.org\n    Redirect 308 /rluts https://rluts.toolforge.org\n    Redirect 308 /rmstats https://rmstats.toolforge.org\n    Redirect 308 /rm-stats https://rm-stats.toolforge.org\n    Redirect 308 /robin https://robin.toolforge.org\n    Redirect 308 /robokobot https://robokobot.toolforge.org\n    Redirect 308 /roccerbot https://roccerbot.toolforge.org\n    Redirect 308 /roccerbot-new https://roccerbot-new.toolforge.org\n    Redirect 308 /rotatebot https://rotatebot.toolforge.org\n    Redirect 308 /rotbot https://rotbot.toolforge.org\n    Redirect 308 /rotpunkt-bot https://rotpunkt-bot.toolforge.org\n    Redirect 308 /roundtripping https://roundtripping.toolforge.org\n    Redirect gone /roysmith-test\n    Redirect 308 /ruarbcom https://ruarbcom.toolforge.org\n    Redirect gone /ruarbcom-js\n    Redirect gone /rubinbot\n    Redirect gone /rubinbot2\n    Redirect gone /rubinbot3\n    Redirect 308 /ru_monuments https://ru_monuments.toolforge.org\n    Redirect gone /ruprecht\n    Redirect 308 /ruptho-interaction-classifier https://ruptho-interaction-classifier.toolforge.org\n    Redirect 308 /russbot https://russbot.toolforge.org\n    Redirect 308 /rust-hello-world https://rust-hello-world.toolforge.org\n    Redirect 308 /ru-unreliable-music-sources https://ru-unreliable-music-sources.toolforge.org\n    Redirect 308 /ruwikisource https://ruwikisource.toolforge.org\n    Redirect 308 /ruwn-misc https://ruwn-misc.toolforge.org\n    Redirect 308 /rxy https://rxy.toolforge.org\n    Redirect 308 /ryanbot https://ryanbot.toolforge.org\n    Redirect 308 /ryu https://ryu.toolforge.org\n    Redirect gone /saami\n    Redirect 308 /sal https://sal.toolforge.org\n    Redirect 308 /sammour https://sammour.toolforge.org\n    Redirect 308 /samoabot https://samoabot.toolforge.org\n    Redirect 308 /sanaa https://sanaa.toolforge.org\n    Redirect 308 /saper https://saper.toolforge.org\n    Redirect 308 /sau226test https://sau226test.toolforge.org\n    Redirect gone /sau226-wiki-bug-testing\n    Redirect gone /sbl\n    Redirect 308 /sbot https://sbot.toolforge.org\n    Redirect 308 /scaldingbot https://scaldingbot.toolforge.org\n    Redirect gone /scfc-test-can-be-deleted-anytime\n    Redirect 308 /schema2code https://schema2code.toolforge.org\n    Redirect 308 /scholia https://scholia.toolforge.org\n    Redirect 308 /scholiaanalytics https://scholiaanalytics.toolforge.org\n    Redirect 308 /scholia-analytics https://scholia-analytics.toolforge.org\n    Redirect 308 /scholia-dev https://scholia-dev.toolforge.org\n    Redirect 308 /schoolwiki https://schoolwiki.toolforge.org\n    Redirect 308 /schubota https://schubota.toolforge.org\n    Redirect 308 /scottytools https://scottytools.toolforge.org\n    Redirect 308 /scotus-recordings https://scotus-recordings.toolforge.org\n    Redirect gone /scratch\n    Redirect 308 /scribe https://scribe.toolforge.org\n    Redirect 308 /scrotbot https://scrotbot.toolforge.org\n    Redirect 308 /sdbot https://sdbot.toolforge.org\n    Redirect gone /sdm\n    Redirect 308 /sdzerobot https://sdzerobot.toolforge.org\n    Redirect 308 /search https://search.toolforge.org\n    Redirect 308 /searchdiff https://searchdiff.toolforge.org\n    Redirect 308 /searchsbl https://searchsbl.toolforge.org\n    Redirect 308 /section-links https://section-links.toolforge.org\n    Redirect 308 /section-redirect https://section-redirect.toolforge.org\n    Redirect 308 /section-watchlist https://section-watchlist.toolforge.org\n    Redirect 308 /security https://security.toolforge.org\n    Redirect 308 /secwatch https://secwatch.toolforge.org\n    Redirect 308 /seealsology https://seealsology.toolforge.org\n    Redirect 308 /seijabot https://seijabot.toolforge.org\n    Redirect 308 /sejmedits https://sejmedits.toolforge.org\n    Redirect 308 /selim https://selim.toolforge.org\n    Redirect 308 /sequencer https://sequencer.toolforge.org\n    Redirect 308 /sergobot-statistics https://sergobot-statistics.toolforge.org\n    Redirect 308 /serobot https://serobot.toolforge.org\n    Redirect 308 /service001 https://service001.toolforge.org\n    Redirect 308 /serviceawards https://serviceawards.toolforge.org\n    Redirect 308 /sficbot https://sficbot.toolforge.org\n    Redirect gone /sge-jobs\n    Redirect gone /sge-status\n    Redirect 308 /shbibbot https://shbibbot.toolforge.org\n    Redirect 308 /shbot https://shbot.toolforge.org\n    Redirect 308 /shex-author https://shex-author.toolforge.org\n    Redirect 308 /shexia https://shexia.toolforge.org\n    Redirect 308 /shex-simple https://shex-simple.toolforge.org\n    Redirect 308 /shexstatements https://shexstatements.toolforge.org\n    Redirect 308 /shextranslator https://shextranslator.toolforge.org\n    Redirect 308 /shfbot https://shfbot.toolforge.org\n    Redirect 308 /shields https://shields.toolforge.org\n    Redirect gone /shilad\n    Redirect 308 /shortnames https://shortnames.toolforge.org\n    Redirect 308 /shorturls https://shorturls.toolforge.org\n    Redirect 308 /shotbot https://shotbot.toolforge.org\n    Redirect gone /shri\n    Redirect 308 /shrinitools https://shrinitools.toolforge.org\n    Redirect 308 /shrugbot https://shrugbot.toolforge.org\n    Redirect gone /shtest\n    Redirect 308 /shuaib https://shuaib.toolforge.org\n    Redirect 308 /shuaib-bot https://shuaib-bot.toolforge.org\n    Redirect 308 /shumariyat https://shumariyat.toolforge.org\n    Redirect 308 /sibu https://sibu.toolforge.org\n    Redirect 308 /sibutest https://sibutest.toolforge.org\n    Redirect 308 /sighting https://sighting.toolforge.org\n    Redirect 308 /sigma https://sigma.toolforge.org\n    Redirect 308 /signature-checker https://signature-checker.toolforge.org\n    Redirect gone /signature-manquante-bot\n    Redirect 308 /signatures https://signatures.toolforge.org\n    Redirect 308 /sign-language-browser https://sign-language-browser.toolforge.org\n    Redirect 308 /signpost https://signpost.toolforge.org\n    Redirect 308 /signpostlab https://signpostlab.toolforge.org\n    Redirect 308 /similarity https://similarity.toolforge.org\n    Redirect 308 /simple https://simple.toolforge.org\n    Redirect 308 /simplecommonstransfer https://simplecommonstransfer.toolforge.org\n    Redirect gone /simplewd\n    Redirect 308 /simplewikt https://simplewikt.toolforge.org\n    Redirect 308 /sistercities https://sistercities.toolforge.org\n    Redirect 308 /sit https://sit.toolforge.org\n    Redirect 308 /sitematrix https://sitematrix.toolforge.org\n    Redirect 308 /sites https://sites.toolforge.org\n    Redirect 308 /siteviews https://siteviews.toolforge.org\n    Redirect gone /siwiki\n    Redirect 308 /sixdegrees https://sixdegrees.toolforge.org\n    Redirect 308 /slakrtools https://slakrtools.toolforge.org\n    Redirect 308 /sleepybot https://sleepybot.toolforge.org\n    Redirect 308 /slf https://slf.toolforge.org\n    Redirect gone /slipjack\n    Redirect gone /slow-parse\n    Redirect 308 /slumpartikel https://slumpartikel.toolforge.org\n    Redirect 308 /smv-description-translations https://smv-description-translations.toolforge.org\n    Redirect 308 /sn1pebot https://sn1pebot.toolforge.org\n    Redirect 308 /snaevar-bot https://snaevar-bot.toolforge.org\n    Redirect 308 /snapshots https://snapshots.toolforge.org\n    Redirect gone /snowolf\n    Redirect 308 /socksfinder https://socksfinder.toolforge.org\n    Redirect 308 /sonarqubebot https://sonarqubebot.toolforge.org\n    Redirect 308 /soni https://soni.toolforge.org\n    Redirect 308 /sonitool https://sonitool.toolforge.org\n    Redirect 308 /sourcemd https://sourcemd.toolforge.org\n    Redirect 308 /southparkfan https://southparkfan.toolforge.org\n    Redirect gone /soweego\n    Redirect 308 /sowhy https://sowhy.toolforge.org\n    Redirect 308 /sp1 https://sp1.toolforge.org\n    Redirect 308 /spacemedia https://spacemedia.toolforge.org\n    Redirect 308 /spamforbreakfast https://spamforbreakfast.toolforge.org\n    Redirect 308 /spamwatch https://spamwatch.toolforge.org\n    Redirect 308 /sparqlblocks https://sparqlblocks.toolforge.org\n    Redirect 308 /sparrow https://sparrow.toolforge.org\n    Redirect 308 /spbot https://spbot.toolforge.org\n    Redirect gone /spdx\n    Redirect 308 /speedpatrolling https://speedpatrolling.toolforge.org\n    Redirect gone /speed-patrolling\n    Redirect 308 /speedydeletionwikia https://speedydeletionwikia.toolforge.org\n    Redirect 308 /spellbot https://spellbot.toolforge.org\n    Redirect 308 /spellbot-dev https://spellbot-dev.toolforge.org\n    Redirect 308 /spellcheck https://spellcheck.toolforge.org\n    Redirect 308 /sphinxcapt-leaderboard https://sphinxcapt-leaderboard.toolforge.org\n    Redirect 308 /spiarticleanalyzer https://spiarticleanalyzer.toolforge.org\n    Redirect 308 /spi-tools https://spi-tools.toolforge.org\n    Redirect 308 /spi-tools-dev https://spi-tools-dev.toolforge.org\n    Redirect 308 /splinetools https://splinetools.toolforge.org\n    Redirect 308 /sqid https://sqid.toolforge.org\n    Redirect 308 /sql-optimizer https://sql-optimizer.toolforge.org\n    Redirect 308 /sqoop-tool https://sqoop-tool.toolforge.org\n    Redirect 308 /squirrelnestbot https://squirrelnestbot.toolforge.org\n    Redirect gone /squirrelnest-upf\n    Redirect 308 /srish https://srish.toolforge.org\n    Redirect gone /srr-sandbox\n    Redirect 308 /srwiki https://srwiki.toolforge.org\n    Redirect gone /srwiki-dev\n    Redirect 308 /stabilizerbot https://stabilizerbot.toolforge.org\n    Redirect gone /stang\n    Redirect 308 /stashbot https://stashbot.toolforge.org\n    Redirect 308 /static https://static.toolforge.org\n    Redirect 308 /static-browser https://static-browser.toolforge.org\n    Redirect gone /static-bz\n    Redirect 308 /statistics https://statistics.toolforge.org\n    Redirect gone /statistics-api\n    Redirect 308 /statisticsbot https://statisticsbot.toolforge.org\n    Redirect gone /stats\n    Redirect 308 /status https://status.toolforge.org\n    Redirect 308 /steinsplitter https://steinsplitter.toolforge.org\n    Redirect 308 /steinsplitter2 https://steinsplitter2.toolforge.org\n    Redirect 308 /stemmeberettigelse https://stemmeberettigelse.toolforge.org\n    Redirect 308 /stereoskopie https://stereoskopie.toolforge.org\n    Redirect 308 /stewardbots https://stewardbots.toolforge.org\n    Redirect gone /stewbots\n    Redirect 308 /stimmberechtigung https://stimmberechtigung.toolforge.org\n    Redirect 308 /stockholm-mania https://stockholm-mania.toolforge.org\n    Redirect 308 /stradbot https://stradbot.toolforge.org\n    Redirect 308 /strephit https://strephit.toolforge.org\n    Redirect gone /strikertest2017-08-23\n    Redirect gone /stub\n    Redirect 308 /studiesworld https://studiesworld.toolforge.org\n    Redirect 308 /stwalkerster https://stwalkerster.toolforge.org\n    Redirect gone /styleguide\n    Redirect 308 /stylize https://stylize.toolforge.org\n    Redirect 308 /submitter https://submitter.toolforge.org\n    Redirect gone /suchaserver\n    Redirect 308 /suggestbot https://suggestbot.toolforge.org\n    Redirect 308 /suggestor https://suggestor.toolforge.org\n    Redirect 308 /suha https://suha.toolforge.org\n    Redirect 308 /sulinfo https://sulinfo.toolforge.org\n    Redirect 308 /summary-generator https://summary-generator.toolforge.org\n    Redirect 308 /super-admin-bot https://super-admin-bot.toolforge.org\n    Redirect 308 /supercount https://supercount.toolforge.org\n    Redirect 308 /superyetkin https://superyetkin.toolforge.org\n    Redirect 308 /superzerocool https://superzerocool.toolforge.org\n    Redirect 308 /suyash-sandarbh https://suyash-sandarbh.toolforge.org\n    Redirect 308 /svenbot https://svenbot.toolforge.org\n    Redirect 308 /svgcheck https://svgcheck.toolforge.org\n    Redirect 308 /svgedit https://svgedit.toolforge.org\n    Redirect gone /svgedit-dashboard\n    Redirect 308 /svg-map-maker https://svg-map-maker.toolforge.org\n    Redirect 308 /svgtranslate https://svgtranslate.toolforge.org\n    Redirect 308 /svgtranslate-test https://svgtranslate-test.toolforge.org\n    Redirect 308 /svgworkaroundbot https://svgworkaroundbot.toolforge.org\n    Redirect 308 /svwikihostbot https://svwikihostbot.toolforge.org\n    Redirect 308 /svwiktionary https://svwiktionary.toolforge.org\n    Redirect 308 /swedishforsamling https://swedishforsamling.toolforge.org\n    Redirect 308 /swviewer https://swviewer.toolforge.org\n    Redirect 308 /sybot51 https://sybot51.toolforge.org\n    Redirect 308 /symabot https://symabot.toolforge.org\n    Redirect 308 /symacbot https://symacbot.toolforge.org\n    Redirect gone /sync-badges\n    Redirect 308 /t13bot https://t13bot.toolforge.org\n    Redirect 308 /t187305-demo https://t187305-demo.toolforge.org\n    Redirect gone /t1943bot\n    Redirect 308 /tabernacle https://tabernacle.toolforge.org\n    Redirect 308 /tabletop https://tabletop.toolforge.org\n    Redirect 308 /tabular-wikidata https://tabular-wikidata.toolforge.org\n    Redirect 308 /tabulist https://tabulist.toolforge.org\n    Redirect 308 /tahir https://tahir.toolforge.org\n    Redirect gone /taim-bot\n    Redirect 308 /tamilwikitools https://tamilwikitools.toolforge.org\n    Redirect 308 /tantan-www https://tantan-www.toolforge.org\n    Redirect 308 /taqpol-test https://taqpol-test.toolforge.org\n    Redirect 308 /tarrow-dev https://tarrow-dev.toolforge.org\n    Redirect 308 /tasmania https://tasmania.toolforge.org\n    Redirect gone /taweetham\n    Redirect 308 /taxobot https://taxobot.toolforge.org\n    Redirect 308 /taxoboxalyzer https://taxoboxalyzer.toolforge.org\n    Redirect 308 /taxonbot https://taxonbot.toolforge.org\n    Redirect 308 /taxonbota https://taxonbota.toolforge.org\n    Redirect 308 /taxonkatbot https://taxonkatbot.toolforge.org\n    Redirect 308 /tb-dev https://tb-dev.toolforge.org\n    Redirect 308 /tbloemink https://tbloemink.toolforge.org\n    Redirect 308 /tc-rc https://tc-rc.toolforge.org\n    Redirect 308 /tedbot https://tedbot.toolforge.org\n    Redirect 308 /teg https://teg.toolforge.org\n    Redirect gone /tei2wikitext\n    Redirect gone /telefabot\n    Redirect 308 /telegrambot https://telegrambot.toolforge.org\n    Redirect 308 /telegram-wikilinksbot https://telegram-wikilinksbot.toolforge.org\n    Redirect gone /telnet\n    Redirect gone /templatecheck\n    Redirect 308 /templatecount https://templatecount.toolforge.org\n    Redirect gone /templatedata-filler\n    Redirect 308 /templatehoard https://templatehoard.toolforge.org\n    Redirect 308 /templatetiger https://templatetiger.toolforge.org\n    Redirect 308 /templatetransclusioncheck https://templatetransclusioncheck.toolforge.org\n    Redirect 308 /templator https://templator.toolforge.org\n    Redirect 308 /tenst https://tenst.toolforge.org\n    Redirect 308 /tessdata https://tessdata.toolforge.org\n    Redirect gone /tesseract-ocr-service\n    Redirect 308 /test https://test.toolforge.org\n    Redirect 308 /test0 https://test0.toolforge.org\n    Redirect gone /test001\n    Redirect gone /test2\n    Redirect gone /test3\n    Redirect 308 /test999 https://test999.toolforge.org\n    Redirect 308 /test-generic-webservice https://test-generic-webservice.toolforge.org\n    Redirect gone /testingtool\n    Redirect 308 /test-lighttpd-precise https://test-lighttpd-precise.toolforge.org\n    Redirect gone /test-lighttpd-trusty\n    Redirect 308 /test-music1201 https://test-music1201.toolforge.org\n    Redirect gone /test-stats\n    Redirect gone /test-t188680\n    Redirect 308 /test-tool https://test-tool.toolforge.org\n    Redirect 308 /testtool-101 https://testtool-101.toolforge.org\n    Redirect 308 /test-vvv https://test-vvv.toolforge.org\n    Redirect gone /test-webservice-generic\n    Redirect gone /testwiki\n    Redirect gone /testwikis\n    Redirect 308 /testwikistats https://testwikistats.toolforge.org\n    Redirect 308 /tewptrends https://tewptrends.toolforge.org\n    Redirect 308 /texbot https://texbot.toolforge.org\n    Redirect gone /text2hash\n    Redirect 308 /textcatdemo https://textcatdemo.toolforge.org\n    Redirect 308 /tfaprotbot https://tfaprotbot.toolforge.org\n    Redirect gone /tgwikibot\n    Redirect 308 /thanatos https://thanatos.toolforge.org\n    Redirect 308 /thankyou https://thankyou.toolforge.org\n    Redirect 308 /thebook https://thebook.toolforge.org\n    Redirect 308 /thedavetool https://thedavetool.toolforge.org\n    Redirect 308 /thedavetools https://thedavetools.toolforge.org\n    Redirect gone /thehelpfulbot\n    Redirect gone /themesquitobot\n    Redirect gone /theoslittlebot\n    Redirect 308 /thesandbot https://thesandbot.toolforge.org\n    Redirect 308 /thibaut120094 https://thibaut120094.toolforge.org\n    Redirect 308 /thibtools https://thibtools.toolforge.org\n    Redirect 308 /thparkthsql https://thparkthsql.toolforge.org\n    Redirect gone /threed2commons\n    Redirect gone /tichy\n    Redirect 308 /tilde https://tilde.toolforge.org\n    Redirect 308 /tilescraper https://tilescraper.toolforge.org\n    Redirect 308 /time-convertor https://time-convertor.toolforge.org\n    Redirect 308 /timerelengteam https://timerelengteam.toolforge.org\n    Redirect 308 /timescale https://timescale.toolforge.org\n    Redirect 308 /title-search https://title-search.toolforge.org\n    Redirect 308 /tivenbot https://tivenbot.toolforge.org\n    Redirect 308 /tmg https://tmg.toolforge.org\n    Redirect 308 /toc https://toc.toolforge.org\n    Redirect 308 /tom29739-testing https://tom29739-testing.toolforge.org\n    Redirect gone /tombot3\n    Redirect gone /tomthirteen\n    Redirect gone /tool\n    Redirect 308 /tool123 https://tool123.toolforge.org\n    Redirect 308 /tool-account https://tool-account.toolforge.org\n    Redirect 308 /tool-db-usage https://tool-db-usage.toolforge.org\n    Redirect 308 /toolflow https://toolflow.toolforge.org\n    Redirect 308 /toolforge https://toolforge.toolforge.org\n    Redirect 308 /toolforge-gallery https://toolforge-gallery.toolforge.org\n    Redirect 308 /tool-gallery https://tool-gallery.toolforge.org\n    Redirect 308 /toolhub https://toolhub.toolforge.org\n    Redirect 308 /tool-log-stats https://tool-log-stats.toolforge.org\n    Redirect 308 /toolpilot https://toolpilot.toolforge.org\n    Redirect gone /tools\n    Redirect 308 /toolschecker https://toolschecker.toolforge.org\n    Redirect gone /toolschecker-ge-ws\n    Redirect gone /toolschecker-k8s-ws\n    Redirect 308 /toolscript https://toolscript.toolforge.org\n    Redirect 308 /tools-dashboard https://tools-dashboard.toolforge.org\n    Redirect 308 /toolserver https://toolserver.toolforge.org\n    Redirect gone /toolserverdb\n    Redirect 308 /toolserver-home-archive https://toolserver-home-archive.toolforge.org\n    Redirect 308 /tools-gallery https://tools-gallery.toolforge.org\n    Redirect 308 /tools-info https://tools-info.toolforge.org\n    Redirect 308 /tooltranslate https://tooltranslate.toolforge.org\n    Redirect 308 /toolviews https://toolviews.toolforge.org\n    Redirect 308 /top500importer https://top500importer.toolforge.org\n    Redirect 308 /topic-finder https://topic-finder.toolforge.org\n    Redirect 308 /topicmatcher https://topicmatcher.toolforge.org\n    Redirect 308 /topviews https://topviews.toolforge.org\n    Redirect gone /topviews-test\n    Redirect gone /torintool\n    Redirect 308 /torproxy https://torproxy.toolforge.org\n    Redirect 308 /totoazero https://totoazero.toolforge.org\n    Redirect 308 /tour https://tour.toolforge.org\n    Redirect 308 /tpbot https://tpbot.toolforge.org\n    Redirect 308 /tptools https://tptools.toolforge.org\n    Redirect 308 /traffic-grapher https://traffic-grapher.toolforge.org\n    Redirect 308 /train-blockers https://train-blockers.toolforge.org\n    Redirect 308 /translate https://translate.toolforge.org\n    Redirect 308 /translate-bot https://translate-bot.toolforge.org\n    Redirect 308 /translate-category https://translate-category.toolforge.org\n    Redirect 308 /translatemplate https://translatemplate.toolforge.org\n    Redirect gone /translation-server\n    Redirect 308 /tree-of-life https://tree-of-life.toolforge.org\n    Redirect 308 /trend https://trend.toolforge.org\n    Redirect gone /tristessa\n    Redirect gone /tronbot\n    Redirect gone /trusty-deprecation\n    Redirect gone /trusty-tools\n    Redirect 308 /tsbot https://tsbot.toolforge.org\n    Redirect 308 /tsreports https://tsreports.toolforge.org\n    Redirect 308 /tsreports-dev https://tsreports-dev.toolforge.org\n    Redirect gone /tts\n    Redirect 308 /tts-comparison https://tts-comparison.toolforge.org\n    Redirect 308 /ttt https://ttt.toolforge.org\n    Redirect 308 /tulsibot https://tulsibot.toolforge.org\n    Redirect 308 /tusc https://tusc.toolforge.org\n    Redirect 308 /tweep https://tweep.toolforge.org\n    Redirect 308 /twinkle https://twinkle.toolforge.org\n    Redirect 308 /twitterbot https://twitterbot.toolforge.org\n    Redirect 308 /twitter-retweet-bot https://twitter-retweet-bot.toolforge.org\n    Redirect 308 /twitter-to-commons https://twitter-to-commons.toolforge.org\n    Redirect 308 /twl https://twl.toolforge.org\n    Redirect gone /twl17\n    Redirect 308 /twlbot https://twlbot.toolforge.org\n    Redirect 308 /twltools https://twltools.toolforge.org\n    Redirect gone /typo-categorizer\n    Redirect 308 /typos https://typos.toolforge.org\n    Redirect 308 /typoscan https://typoscan.toolforge.org\n    Redirect gone /uaachecker\n    Redirect 308 /ukbot https://ukbot.toolforge.org\n    Redirect 308 /ukwiki-analysis https://ukwiki-analysis.toolforge.org\n    Redirect 308 /unblock https://unblock.toolforge.org\n    Redirect 308 /unblockbot https://unblockbot.toolforge.org\n    Redirect gone /unique\n    Redirect 308 /universalviewer https://universalviewer.toolforge.org\n    Redirect 308 /un-ocha-maps https://un-ocha-maps.toolforge.org\n    Redirect gone /unpatrollededitstats\n    Redirect 308 /unpaywall-importer https://unpaywall-importer.toolforge.org\n    Redirect 308 /unpkg https://unpkg.toolforge.org\n    Redirect gone /uploadhelper-ir\n    Redirect 308 /upload-stats-bot https://upload-stats-bot.toolforge.org\n    Redirect 308 /urbanecmbot https://urbanecmbot.toolforge.org\n    Redirect 308 /urbanecm-test-1 https://urbanecm-test-1.toolforge.org\n    Redirect 308 /urdubot https://urdubot.toolforge.org\n    Redirect 308 /urdusign https://urdusign.toolforge.org\n    Redirect 308 /urduspellchecker https://urduspellchecker.toolforge.org\n    Redirect 308 /url2commons https://url2commons.toolforge.org\n    Redirect 308 /url-converter https://url-converter.toolforge.org\n    Redirect 308 /urlinktranslator https://urlinktranslator.toolforge.org\n    Redirect gone /us\n    Redirect 308 /usage https://usage.toolforge.org\n    Redirect 308 /user https://user.toolforge.org\n    Redirect gone /user-activity\n    Redirect 308 /user-contributions-feed https://user-contributions-feed.toolforge.org\n    Redirect gone /useredit\n    Redirect gone /useredit2\n    Redirect gone /useredits\n    Redirect gone /useredits1\n    Redirect 308 /usergraph https://usergraph.toolforge.org\n    Redirect gone /user-id\n    Redirect 308 /userimpact https://userimpact.toolforge.org\n    Redirect 308 /usernamesearch https://usernamesearch.toolforge.org\n    Redirect gone /userrank\n    Redirect 308 /usersearch https://usersearch.toolforge.org\n    Redirect 308 /user-stats https://user-stats.toolforge.org\n    Redirect 308 /userviews https://userviews.toolforge.org\n    Redirect gone /usrd-tools\n    Redirect 308 /usualsuspects https://usualsuspects.toolforge.org\n    Redirect gone /ut-bot\n    Redirect gone /ut-interwiki-bot\n    Redirect gone /ut-iw-bot\n    Redirect gone /vagrant2\n    Redirect gone /vagrant-test\n    Redirect 308 /valhallasw-testing-tool https://valhallasw-testing-tool.toolforge.org\n    Redirect 308 /validator https://validator.toolforge.org\n    Redirect 308 /valstat https://valstat.toolforge.org\n    Redirect 308 /valutabot https://valutabot.toolforge.org\n    Redirect 308 /vcat https://vcat.toolforge.org\n    Redirect 308 /veblenbot https://veblenbot.toolforge.org\n    Redirect 308 /vector-dark https://vector-dark.toolforge.org\n    Redirect 308 /vectorizer https://vectorizer.toolforge.org\n    Redirect 308 /veertje-tools https://veertje-tools.toolforge.org\n    Redirect gone /vendor\n    Redirect 308 /verb-import-game https://verb-import-game.toolforge.org\n    Redirect 308 /verification-pages https://verification-pages.toolforge.org\n    Redirect 308 /versions https://versions.toolforge.org\n    Redirect 308 /viafbot https://viafbot.toolforge.org\n    Redirect 308 /vic https://vic.toolforge.org\n    Redirect 308 /video2commons https://video2commons.toolforge.org\n    Redirect 308 /video2commons-socketio https://video2commons-socketio.toolforge.org\n    Redirect 308 /video2commons-test https://video2commons-test.toolforge.org\n    Redirect 308 /video-cat-bot https://video-cat-bot.toolforge.org\n    Redirect 308 /videoconvert https://videoconvert.toolforge.org\n    Redirect 308 /videoconvertion https://videoconvertion.toolforge.org\n    Redirect gone /video-cut-tool\n    Redirect gone /video-cut-tool-back-end\n    Redirect gone /video-cut-tool-front-end\n    Redirect 308 /videotutorials https://videotutorials.toolforge.org\n    Redirect gone /vipbot\n    Redirect gone /vip-space-media\n    Redirect 308 /vishwin https://vishwin.toolforge.org\n    Redirect 308 /visualcategories https://visualcategories.toolforge.org\n    Redirect 308 /visualeditor https://visualeditor.toolforge.org\n    Redirect 308 /vitalarticlesbot https://vitalarticlesbot.toolforge.org\n    Redirect 308 /vizbot https://vizbot.toolforge.org\n    Redirect 308 /vltools https://vltools.toolforge.org\n    Redirect 308 /vocabulary-index https://vocabulary-index.toolforge.org\n    Redirect 308 /voiceintro https://voiceintro.toolforge.org\n    Redirect 308 /volby2wiki https://volby2wiki.toolforge.org\n    Redirect 308 /voxelbot https://voxelbot.toolforge.org\n    Redirect 308 /vrb https://vrb.toolforge.org\n    Redirect 308 /vtwo https://vtwo.toolforge.org\n    Redirect 308 /vuln-checker https://vuln-checker.toolforge.org\n    Redirect 308 /vvoters https://vvoters.toolforge.org\n    Redirect 308 /v-wiki https://v-wiki.toolforge.org\n    Redirect 308 /wafaashohdy https://wafaashohdy.toolforge.org\n    Redirect 308 /wahldiagramm https://wahldiagramm.toolforge.org\n    Redirect 308 /wahrani https://wahrani.toolforge.org\n    Redirect 308 /wakt https://wakt.toolforge.org\n    Redirect 308 /wakt-beta https://wakt-beta.toolforge.org\n    Redirect 308 /wam https://wam.toolforge.org\n    Redirect 308 /wam-article-suggestions https://wam-article-suggestions.toolforge.org\n    Redirect 308 /wanderwiki https://wanderwiki.toolforge.org\n    Redirect gone /wantedpages\n    Redirect gone /warped-to-iframe\n    Redirect 308 /watchr https://watchr.toolforge.org\n    Redirect 308 /watch-translations https://watch-translations.toolforge.org\n    Redirect 308 /watroles https://watroles.toolforge.org\n    Redirect 308 /wawewewi https://wawewewi.toolforge.org\n    Redirect 308 /wb2rdf https://wb2rdf.toolforge.org\n    Redirect 308 /wbwcalculator https://wbwcalculator.toolforge.org\n    Redirect 308 /wcam-bot https://wcam-bot.toolforge.org\n    Redirect 308 /wcdo https://wcdo.toolforge.org\n    Redirect 308 /wcna-2018-registration https://wcna-2018-registration.toolforge.org\n    Redirect 308 /wd-analysis https://wd-analysis.toolforge.org\n    Redirect 308 /wd-analyst https://wd-analyst.toolforge.org\n    Redirect gone /wdapi\n    Redirect 308 /wd-art https://wd-art.toolforge.org\n    Redirect 308 /wdbeoupdate https://wdbeoupdate.toolforge.org\n    Redirect gone /wd-books-cleaner\n    Redirect 308 /wdcat https://wdcat.toolforge.org\n    Redirect 308 /wd-constraints-precheck https://wd-constraints-precheck.toolforge.org\n    Redirect 308 /wd-depicts https://wd-depicts.toolforge.org\n    Redirect 308 /wdgraph https://wdgraph.toolforge.org\n    Redirect 308 /wdic https://wdic.toolforge.org\n    Redirect 308 /wdimagecheck https://wdimagecheck.toolforge.org\n    Redirect 308 /wd-image-positions https://wd-image-positions.toolforge.org\n    Redirect 308 /wdmap https://wdmap.toolforge.org\n    Redirect 308 /wdml https://wdml.toolforge.org\n    Redirect 308 /wdmm https://wdmm.toolforge.org\n    Redirect 308 /wdprop https://wdprop.toolforge.org\n    Redirect 308 /wdpv https://wdpv.toolforge.org\n    Redirect 308 /wdq2sparql https://wdq2sparql.toolforge.org\n    Redirect gone /wdq_checker\n    Redirect 308 /wdq-checker https://wdq-checker.toolforge.org\n    Redirect 308 /wdqs-tutorial https://wdqs-tutorial.toolforge.org\n    Redirect gone /wdqs-wmil-tutorial\n    Redirect 308 /wd-query-builder https://wd-query-builder.toolforge.org\n    Redirect 308 /wd-rank https://wd-rank.toolforge.org\n    Redirect 308 /wdrdr https://wdrdr.toolforge.org\n    Redirect 308 /wdreconcile https://wdreconcile.toolforge.org\n    Redirect 308 /wd-ref-island https://wd-ref-island.toolforge.org\n    Redirect 308 /wd-shex-infer https://wd-shex-infer.toolforge.org\n    Redirect 308 /wdumps https://wdumps.toolforge.org\n    Redirect 308 /wdvaliditycheck https://wdvaliditycheck.toolforge.org\n    Redirect 308 /wdvd https://wdvd.toolforge.org\n    Redirect 308 /wd-word-cloud https://wd-word-cloud.toolforge.org\n    Redirect 308 /weapon-of-mass-description https://weapon-of-mass-description.toolforge.org\n    Redirect 308 /weapon-of-mass-description-test https://weapon-of-mass-description-test.toolforge.org\n    Redirect gone /weather\n    Redirect 308 /webarchivebot https://webarchivebot.toolforge.org\n    Redirect gone /webchat\n    Redirect 308 /weeklypedia https://weeklypedia.toolforge.org\n    Redirect 308 /welcomebot https://welcomebot.toolforge.org\n    Redirect 308 /welcomebots-bn https://welcomebots-bn.toolforge.org\n    Redirect 308 /wembedder https://wembedder.toolforge.org\n    Redirect 308 /wfind https://wfind.toolforge.org\n    Redirect 308 /whichsub https://whichsub.toolforge.org\n    Redirect 308 /whodunnit https://whodunnit.toolforge.org\n    Redirect 308 /whois https://whois.toolforge.org\n    Redirect 308 /whois-referral https://whois-referral.toolforge.org\n    Redirect 308 /whois-referral-dev https://whois-referral-dev.toolforge.org\n    Redirect 308 /whymbot https://whymbot.toolforge.org\n    Redirect 308 /widar https://widar.toolforge.org\n    Redirect 308 /wigi https://wigi.toolforge.org\n    Redirect gone /wiki\n    Redirect 308 /wiki13 https://wiki13.toolforge.org\n    Redirect 308 /wiki17an-watcher https://wiki17an-watcher.toolforge.org\n    Redirect 308 /wiki2email https://wiki2email.toolforge.org\n    Redirect 308 /wiki2html https://wiki2html.toolforge.org\n    Redirect 308 /wiki2prop https://wiki2prop.toolforge.org\n    Redirect 308 /wiki3d https://wiki3d.toolforge.org\n    Redirect gone /wiki-android-apps\n    Redirect 308 /wikiarthistory https://wikiarthistory.toolforge.org\n    Redirect 308 /wiki-as-git https://wiki-as-git.toolforge.org\n    Redirect 308 /wikiatlas2014 https://wikiatlas2014.toolforge.org\n    Redirect gone /wikibase-databridge-storybook\n    Redirect 308 /wikibase-nearest-neighbors https://wikibase-nearest-neighbors.toolforge.org\n    Redirect 308 /wikibase-preview https://wikibase-preview.toolforge.org\n    Redirect 308 /wikibase-termbox-storybook https://wikibase-termbox-storybook.toolforge.org\n    Redirect 308 /wikibattle https://wikibattle.toolforge.org\n    Redirect 308 /wikiblame https://wikiblame.toolforge.org\n    Redirect 308 /wikibookassamese https://wikibookassamese.toolforge.org\n    Redirect gone /wikibot\n    Redirect 308 /wikibugs https://wikibugs.toolforge.org\n    Redirect 308 /wikicaptcha https://wikicaptcha.toolforge.org\n    Redirect 308 /wikicite-dashboard https://wikicite-dashboard.toolforge.org\n    Redirect gone /wikicitevis\n    Redirect 308 /wikicontest https://wikicontest.toolforge.org\n    Redirect 308 /wikicontrib https://wikicontrib.toolforge.org\n    Redirect 308 /wikicup https://wikicup.toolforge.org\n    Redirect 308 /wikidata-analysis https://wikidata-analysis.toolforge.org\n    Redirect 308 /wikidata-annotation-tool https://wikidata-annotation-tool.toolforge.org\n    Redirect 308 /wikidata-compare https://wikidata-compare.toolforge.org\n    Redirect 308 /wikidata-delinker https://wikidata-delinker.toolforge.org\n    Redirect 308 /wikidata-edits https://wikidata-edits.toolforge.org\n    Redirect gone /wikidata-exports\n    Redirect 308 /wikidata-externalid-url https://wikidata-externalid-url.toolforge.org\n    Redirect 308 /wikidata-game https://wikidata-game.toolforge.org\n    Redirect 308 /wikidatagroup https://wikidatagroup.toolforge.org\n    Redirect 308 /wikidata-janitor https://wikidata-janitor.toolforge.org\n    Redirect 308 /wikidata-map https://wikidata-map.toolforge.org\n    Redirect 308 /wikidata-nolabels https://wikidata-nolabels.toolforge.org\n    Redirect 308 /wikidata-primary-sources https://wikidata-primary-sources.toolforge.org\n    Redirect 308 /wikidata-reconcile https://wikidata-reconcile.toolforge.org\n    Redirect 308 /wikidata-redirects-conflicts-reports https://wikidata-redirects-conflicts-reports.toolforge.org\n    Redirect 308 /wikidata-slicer https://wikidata-slicer.toolforge.org\n    Redirect 308 /wikidata-terminator https://wikidata-terminator.toolforge.org\n    Redirect 308 /wikidata-timeline https://wikidata-timeline.toolforge.org\n    Redirect 308 /wikidata-todo https://wikidata-todo.toolforge.org\n    Redirect 308 /wikidata-trends https://wikidata-trends.toolforge.org\n    Redirect gone /wikidiff2-dev-test\n    Redirect 308 /wikidipendenza https://wikidipendenza.toolforge.org\n    Redirect 308 /wikiedudashboard https://wikiedudashboard.toolforge.org\n    Redirect 308 /wikiedudashboard-test https://wikiedudashboard-test.toolforge.org\n    Redirect 308 /wikiemojibot https://wikiemojibot.toolforge.org\n    Redirect gone /wikifactmine-api\n    Redirect gone /wikifactmine-pipeline\n    Redirect 308 /wikifeeds https://wikifeeds.toolforge.org\n    Redirect 308 /wikifile-transfer https://wikifile-transfer.toolforge.org\n    Redirect 308 /wiki-geo https://wiki-geo.toolforge.org\n    Redirect 308 /wikigrade https://wikigrade.toolforge.org\n    Redirect 308 /wikigraph https://wikigraph.toolforge.org\n    Redirect 308 /wikigrok https://wikigrok.toolforge.org\n    Redirect 308 /wikihistory https://wikihistory.toolforge.org\n    Redirect 308 /wikihoaxbuster https://wikihoaxbuster.toolforge.org\n    Redirect 308 /wikiholic https://wikiholic.toolforge.org\n    Redirect 308 /wikiinfo https://wikiinfo.toolforge.org\n    Redirect 308 /wikiintent https://wikiintent.toolforge.org\n    Redirect gone /wiki-irc\n    Redirect 308 /wikijourney https://wikijourney.toolforge.org\n    Redirect 308 /wikilaeum https://wikilaeum.toolforge.org\n    Redirect 308 /wikilinkbot https://wikilinkbot.toolforge.org\n    Redirect 308 /wikilint https://wikilint.toolforge.org\n    Redirect 308 /wikilist https://wikilist.toolforge.org\n    Redirect 308 /wikilogos https://wikilogos.toolforge.org\n    Redirect 308 /wikiloop https://wikiloop.toolforge.org\n    Redirect 308 /wikiloop-testflight https://wikiloop-testflight.toolforge.org\n    Redirect 308 /wikiloves https://wikiloves.toolforge.org\n    Redirect 308 /wikilovesdownloads https://wikilovesdownloads.toolforge.org\n    Redirect gone /wiki-loves-earth-2019\n    Redirect 308 /wikiloveslove https://wikiloveslove.toolforge.org\n    Redirect 308 /wikimap https://wikimap.toolforge.org\n    Redirect gone /wikimediadc\n    Redirect 308 /wikimedia-france https://wikimedia-france.toolforge.org\n    Redirect 308 /wikimediaui-styleguide https://wikimediaui-styleguide.toolforge.org\n    Redirect 308 /wikiment https://wikiment.toolforge.org\n    Redirect 308 /wikimetrics https://wikimetrics.toolforge.org\n    Redirect 308 /wikimetrics-development https://wikimetrics-development.toolforge.org\n    Redirect 308 /wikimetrics-production https://wikimetrics-production.toolforge.org\n    Redirect 308 /wikimetrics-staging https://wikimetrics-staging.toolforge.org\n    Redirect 308 /wikiminiatlas https://wikiminiatlas.toolforge.org\n    Redirect 308 /wiki-needs-pictures https://wiki-needs-pictures.toolforge.org\n    Redirect 308 /wikinews https://wikinews.toolforge.org\n    Redirect 308 /wikinews-importer https://wikinews-importer.toolforge.org\n    Redirect 308 /wikinews-pagestats https://wikinews-pagestats.toolforge.org\n    Redirect 308 /wikinity https://wikinity.toolforge.org\n    Redirect 308 /wikinity-test https://wikinity-test.toolforge.org\n    Redirect 308 /wikintu https://wikintu.toolforge.org\n    Redirect 308 /wiki-osm-markers https://wiki-osm-markers.toolforge.org\n    Redirect 308 /wikioverdata https://wikioverdata.toolforge.org\n    Redirect gone /wikipagestats\n    Redirect gone /wikipathways2wiki\n    Redirect gone /wikipedia-android-builds\n    Redirect 308 /wikipedia-contributor-locations https://wikipedia-contributor-locations.toolforge.org\n    Redirect 308 /wikipedia-fetch-content https://wikipedia-fetch-content.toolforge.org\n    Redirect gone /wikipedia-library\n    Redirect gone /wikipedia-readability\n    Redirect 308 /wikipedia-zh-irc-query https://wikipedia-zh-irc-query.toolforge.org\n    Redirect 308 /wikipedia-zh-message-transport https://wikipedia-zh-message-transport.toolforge.org\n    Redirect 308 /wikipheme https://wikipheme.toolforge.org\n    Redirect 308 /wikiplayer https://wikiplayer.toolforge.org\n    Redirect 308 /wikiportretdev https://wikiportretdev.toolforge.org\n    Redirect 308 /wikiprovenance https://wikiprovenance.toolforge.org\n    Redirect gone /wikipulse\n    Redirect 308 /wikiradio https://wikiradio.toolforge.org\n    Redirect 308 /wikiresearch https://wikiresearch.toolforge.org\n    Redirect 308 /wiki-retweet-bot https://wiki-retweet-bot.toolforge.org\n    Redirect 308 /wikiscanner https://wikiscanner.toolforge.org\n    Redirect 308 /wikisense https://wikisense.toolforge.org\n    Redirect 308 /wikishield https://wikishield.toolforge.org\n    Redirect 308 /wikishootme https://wikishootme.toolforge.org\n    Redirect 308 /wikisoba https://wikisoba.toolforge.org\n    Redirect gone /wikisource-api\n    Redirect 308 /wikisource-bot https://wikisource-bot.toolforge.org\n    Redirect gone /wikisource-penguin-classics\n    Redirect 308 /wikisource-tweets https://wikisource-tweets.toolforge.org\n    Redirect 308 /wikistats https://wikistats.toolforge.org\n    Redirect 308 /wikistreak https://wikistreak.toolforge.org\n    Redirect 308 /wikistream https://wikistream.toolforge.org\n    Redirect 308 /wikistreams https://wikistreams.toolforge.org\n    Redirect 308 /wikitable https://wikitable.toolforge.org\n    Redirect 308 /wikitabs https://wikitabs.toolforge.org\n    Redirect gone /wiki-talk\n    Redirect gone /wiki-talk2\n    Redirect 308 /wikitanvirbot https://wikitanvirbot.toolforge.org\n    Redirect 308 /wiki-task-locator https://wiki-task-locator.toolforge.org\n    Redirect 308 /wikitasks https://wikitasks.toolforge.org\n    Redirect 308 /wikitei https://wikitei.toolforge.org\n    Redirect 308 /wiki-tennis https://wiki-tennis.toolforge.org\n    Redirect 308 /wikitest-rtl https://wikitest-rtl.toolforge.org\n    Redirect 308 /wikitext-deprecation https://wikitext-deprecation.toolforge.org\n    Redirect 308 /wikitime https://wikitime.toolforge.org\n    Redirect 308 /wiki-todo https://wiki-todo.toolforge.org\n    Redirect gone /wikitool\n    Redirect 308 /wikitools https://wikitools.toolforge.org\n    Redirect 308 /wiki-topic https://wiki-topic.toolforge.org\n    Redirect gone /wikitranslator\n    Redirect 308 /wikitree https://wikitree.toolforge.org\n    Redirect 308 /wikitrends https://wikitrends.toolforge.org\n    Redirect 308 /wikitrip https://wikitrip.toolforge.org\n    Redirect 308 /wikitweets https://wikitweets.toolforge.org\n    Redirect 308 /wikiviewstats https://wikiviewstats.toolforge.org\n    Redirect 308 /wikiviewstats2 https://wikiviewstats2.toolforge.org\n    Redirect 308 /wikivisualization https://wikivisualization.toolforge.org\n    Redirect 308 /wikiviz https://wikiviz.toolforge.org\n    Redirect 308 /wikivoyage https://wikivoyage.toolforge.org\n    Redirect 308 /wikiwatchdog https://wikiwatchdog.toolforge.org\n    Redirect 308 /wikiwhatsappbot https://wikiwhatsappbot.toolforge.org\n    Redirect 308 /wikiwho https://wikiwho.toolforge.org\n    Redirect 308 /wiki-zulip-bot https://wiki-zulip-bot.toolforge.org\n    Redirect 308 /wiktioutils https://wiktioutils.toolforge.org\n    Redirect 308 /wikt-mwtest https://wikt-mwtest.toolforge.org\n    Redirect 308 /wikyrillomat https://wikyrillomat.toolforge.org\n    Redirect 308 /william-avery-bot https://william-avery-bot.toolforge.org\n    Redirect 308 /winput https://winput.toolforge.org\n    Redirect 308 /winter https://winter.toolforge.org\n    Redirect 308 /wiper https://wiper.toolforge.org\n    Redirect 308 /wiper-languagetool https://wiper-languagetool.toolforge.org\n    Redirect 308 /withoutaname https://withoutaname.toolforge.org\n    Redirect 308 /wits https://wits.toolforge.org\n    Redirect 308 /wiwosm https://wiwosm.toolforge.org\n    Redirect 308 /wizarbot https://wizarbot.toolforge.org\n    Redirect 308 /wle https://wle.toolforge.org\n    Redirect 308 /wlm https://wlm.toolforge.org\n    Redirect 308 /wlm-analytics https://wlm-analytics.toolforge.org\n    Redirect gone /wlm-de-redirect\n    Redirect 308 /wlm-de-utils https://wlm-de-utils.toolforge.org\n    Redirect gone /wlmin\n    Redirect 308 /wlm-italy https://wlm-italy.toolforge.org\n    Redirect 308 /wlmitaly2019 https://wlmitaly2019.toolforge.org\n    Redirect 308 /wlmjudging https://wlmjudging.toolforge.org\n    Redirect gone /wlm-jury-at\n    Redirect gone /wlm-jury-yarl\n    Redirect 308 /wlm-maps https://wlm-maps.toolforge.org\n    Redirect 308 /wlm-nl-table-gen https://wlm-nl-table-gen.toolforge.org\n    Redirect 308 /wlmpacommonscat https://wlmpacommonscat.toolforge.org\n    Redirect 308 /wlm-stats https://wlm-stats.toolforge.org\n    Redirect 308 /wlmtrafo https://wlmtrafo.toolforge.org\n    Redirect 308 /wlmuk https://wlmuk.toolforge.org\n    Redirect gone /wlmus\n    Redirect 308 /wlm-us https://wlm-us.toolforge.org\n    Redirect 308 /wlxjury https://wlxjury.toolforge.org\n    Redirect 308 /wm-bot https://wm-bot.toolforge.org\n    Redirect 308 /wm-cee-spring https://wm-cee-spring.toolforge.org\n    Redirect 308 /wmcharts https://wmcharts.toolforge.org\n    Redirect 308 /wm-commons-emoji-bot https://wm-commons-emoji-bot.toolforge.org\n    Redirect 308 /wmcounter https://wmcounter.toolforge.org\n    Redirect gone /wmcsbot\n    Redirect 308 /wmcz https://wmcz.toolforge.org\n    Redirect 308 /wmde-access https://wmde-access.toolforge.org\n    Redirect gone /wmde-editconflict-test\n    Redirect gone /wmde-graphql-demo\n    Redirect gone /wmde-inline-movedparagraphs\n    Redirect gone /wmde-reference-previews\n    Redirect gone /wmde-uca-test\n    Redirect 308 /wmde-wd-team https://wmde-wd-team.toolforge.org\n    Redirect gone /wmfdbbot\n    Redirect gone /wmflabs-collection\n    Redirect 308 /wmf-sitematrix https://wmf-sitematrix.toolforge.org\n    Redirect gone /wmf-task-samtar\n    Redirect 308 /wmf-wiki-info https://wmf-wiki-info.toolforge.org\n    Redirect 308 /wmit https://wmit.toolforge.org\n    Redirect 308 /wmk-dev https://wmk-dev.toolforge.org\n    Redirect 308 /wmk-tools https://wmk-tools.toolforge.org\n    Redirect 308 /wm-metrics https://wm-metrics.toolforge.org\n    Redirect 308 /wmopbot https://wmopbot.toolforge.org\n    Redirect 308 /wmpt https://wmpt.toolforge.org\n    Redirect 308 /wmtran https://wmtran.toolforge.org\n    Redirect 308 /wmukevents https://wmukevents.toolforge.org\n    Redirect 308 /wmve https://wmve.toolforge.org\n    Redirect 308 /wmve-dev https://wmve-dev.toolforge.org\n    Redirect 308 /wm-ve-needcheck-reporter https://wm-ve-needcheck-reporter.toolforge.org\n    Redirect 308 /wnegar https://wnegar.toolforge.org\n    Redirect 308 /women-in-red https://women-in-red.toolforge.org\n    Redirect 308 /wordcount https://wordcount.toolforge.org\n    Redirect 308 /wordpile https://wordpile.toolforge.org\n    Redirect gone /wordtowiki\n    Redirect gone /wordtowiki-dev\n    Redirect 308 /worklist-tool https://worklist-tool.toolforge.org\n    Redirect gone /wpb\n    Redirect 308 /wpcleaner https://wpcleaner.toolforge.org\n    Redirect 308 /wpp https://wpp.toolforge.org\n    Redirect 308 /wprequests https://wprequests.toolforge.org\n    Redirect 308 /wp-signpost https://wp-signpost.toolforge.org\n    Redirect 308 /wptestblog https://wptestblog.toolforge.org\n    Redirect gone /wptestblog2\n    Redirect gone /wpv\n    Redirect 308 /wp-world https://wp-world.toolforge.org\n    Redirect 308 /wrating https://wrating.toolforge.org\n    Redirect 308 /wrcp https://wrcp.toolforge.org\n    Redirect gone /ws2wd\n    Redirect 308 /ws-cat-browser https://ws-cat-browser.toolforge.org\n    Redirect 308 /wscontest https://wscontest.toolforge.org\n    Redirect 308 /wsdetool https://wsdetool.toolforge.org\n    Redirect 308 /wsexport https://wsexport.toolforge.org\n    Redirect 308 /wsexport-test https://wsexport-test.toolforge.org\n    Redirect 308 /ws-google-ocr https://ws-google-ocr.toolforge.org\n    Redirect gone /w-slackbot\n    Redirect gone /wsm\n    Redirect 308 /ws-search https://ws-search.toolforge.org\n    Redirect 308 /wudele https://wudele.toolforge.org\n    Redirect 308 /wugbot https://wugbot.toolforge.org\n    Redirect 308 /www https://www.toolforge.org\n    Redirect gone /www-portal-builder\n    Redirect 308 /www-portal-staging https://www-portal-staging.toolforge.org\n    Redirect gone /wyimportbot\n    Redirect 308 /xdebugtesting https://xdebugtesting.toolforge.org\n    Redirect 308 /xdebugtesting1 https://xdebugtesting1.toolforge.org\n    Redirect 308 /xdebugtesting2 https://xdebugtesting2.toolforge.org\n    Redirect 308 /xecfork https://xecfork.toolforge.org\n    Redirect 308 /xfd-stats https://xfd-stats.toolforge.org\n    Redirect 308 /xiplus https://xiplus.toolforge.org\n    Redirect 308 /xlinkbot https://xlinkbot.toolforge.org\n    Redirect gone /xmlfeed\n    Redirect 308 /xn--dk8hv9g https://xn--dk8hv9g.toolforge.org\n    Redirect gone /xoxoxo-dev\n    Redirect 308 /xqtools https://xqtools.toolforge.org\n    Redirect gone /xslack\n    Redirect 308 /xstools https://xstools.toolforge.org\n    Redirect 308 /xtools https://xtools.toolforge.org\n    Redirect 308 /xtools-articleinfo https://xtools-articleinfo.toolforge.org\n    Redirect gone /xtools-autoedits\n    Redirect 308 /xtools-dev https://xtools-dev.toolforge.org\n    Redirect 308 /xtools-ec https://xtools-ec.toolforge.org\n    Redirect 308 /xtools-mab-dev https://xtools-mab-dev.toolforge.org\n    Redirect gone /xtools-pages\n    Redirect 308 /xxn-testtool https://xxn-testtool.toolforge.org\n    Redirect 308 /xxn-tools https://xxn-tools.toolforge.org\n    Redirect 308 /xyzbot https://xyzbot.toolforge.org\n    Redirect 308 /yabbr https://yabbr.toolforge.org\n    Redirect 308 /yabot https://yabot.toolforge.org\n    Redirect 308 /yacbot https://yacbot.toolforge.org\n    Redirect 308 /yadfa https://yadfa.toolforge.org\n    Redirect 308 /yadkard https://yadkard.toolforge.org\n    Redirect 308 /yapperbot https://yapperbot.toolforge.org\n    Redirect 308 /yarl https://yarl.toolforge.org\n    Redirect 308 /yashe https://yashe.toolforge.org\n    Redirect 308 /yellowbot https://yellowbot.toolforge.org\n    Redirect 308 /yellowcard https://yellowcard.toolforge.org\n    Redirect gone /yemen\n    Redirect 308 /yichengtry https://yichengtry.toolforge.org\n    Redirect 308 /yifeibot https://yifeibot.toolforge.org\n    Redirect 308 /yjsw https://yjsw.toolforge.org\n    Redirect 308 /youtube-channel https://youtube-channel.toolforge.org\n    Redirect 308 /ytcleaner https://ytcleaner.toolforge.org\n    Redirect gone /ytrb\n    Redirect gone /yunomi\n    Redirect 308 /zayenbot https://zayenbot.toolforge.org\n    Redirect 308 /zbot https://zbot.toolforge.org\n    Redirect 308 /zedlikbot https://zedlikbot.toolforge.org\n    Redirect 308 /zenithbot https://zenithbot.toolforge.org\n    Redirect 308 /zerabot https://zerabot.toolforge.org\n    Redirect 308 /zhaofeng-test https://zhaofeng-test.toolforge.org\n    Redirect 308 /zhdeletionpedia https://zhdeletionpedia.toolforge.org\n    Redirect gone /zhnotofu\n    Redirect 308 /zhtest https://zhtest.toolforge.org\n    Redirect 308 /zhuyifei1999-test https://zhuyifei1999-test.toolforge.org\n    Redirect 308 /zhwiki https://zhwiki.toolforge.org\n    Redirect 308 /zhwiki-qualifications-check https://zhwiki-qualifications-check.toolforge.org\n    Redirect 308 /zhwiki-teleirc https://zhwiki-teleirc.toolforge.org\n    Redirect 308 /zhwiki-username-check https://zhwiki-username-check.toolforge.org\n    Redirect 308 /zimmerbot https://zimmerbot.toolforge.org\n    Redirect 308 /zkbot https://zkbot.toolforge.org\n    Redirect 308 /zonestamp https://zonestamp.toolforge.org\n    Redirect 308 /zoomable-images https://zoomable-images.toolforge.org\n    Redirect 308 /zoomproof https://zoomproof.toolforge.org\n    Redirect 308 /zoomviewer https://zoomviewer.toolforge.org\n    Redirect gone /zoranzoki21bot\n    Redirect gone /zoranzoki21wiki\n    Redirect gone /zppixbot\n    Redirect gone /zppixbot-test\n    Redirect 308 /zumraband https://zumraband.toolforge.org\n    Redirect 308 /zurichpopulation https://zurichpopulation.toolforge.org\n    Redirect 308 /zygimantus-dev https://zygimantus-dev.toolforge.org\n    Redirect 308 /zygserv https://zygserv.toolforge.org\n\n    # This must be listed last given Apache processes Redirect rules in order.\n    # Also, do a 302 in case something goes horribly wrong with the rules before this.\n    Redirect 302 / https://toolforge.org/\n\n    CustomLog /var/log/apache2/tools.wmflabs.org-access.log wmf\n    ErrorLog /var/log/apache2/tools.wmflabs.org-error.log\n    LogLevel warn\n    ServerSignature Off\n</VirtualHost>\n\n<VirtualHost *:443>\n    ServerAdmin root@toolforge.org\n    ServerName tools.wmflabs.org\n\n    SSLEngine on\n    SSLCertificateFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.crt\n    SSLCertificateChainFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.chained.crt\n    SSLCertificateKeyFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.key\n    SSLProtocol all -SSLv2 -SSLv3\n    SSLCipherSuite -ALL:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA\n    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256\n    SSLHonorCipherOrder On\n    SSLOpenSSLConfCmd DHParameters \"/etc/ssl/dhparam.pem\"\n\n    Header always set Report-To '{\"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{\"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\"}]}'\n    Header always set NEL '{\"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}'\n\n    CustomLog /var/log/apache2/tools.wmflabs.org-access.log wmf\n    ErrorLog /var/log/apache2/tools.wmflabs.org-error.log\n    LogLevel warn\n    ServerSignature Off\n\n    # duplicated here and in the http section so it does only one request to our server\n    Redirect gone /a\n    Redirect gone /aaaaaa\n    Redirect 308 /aaabot https://aaabot.toolforge.org\n    Redirect 308 /abbe98tools https://abbe98tools.toolforge.org\n    Redirect 308 /abbreviso https://abbreviso.toolforge.org\n    Redirect 308 /abcgames https://abcgames.toolforge.org\n    Redirect 308 /abdumubot https://abdumubot.toolforge.org\n    Redirect 308 /abibot https://abibot.toolforge.org\n    Redirect 308 /abigor https://abigor.toolforge.org\n    Redirect 308 /abohadi https://abohadi.toolforge.org\n    Redirect 308 /abohadi1 https://abohadi1.toolforge.org\n    Redirect 308 /abot https://abot.toolforge.org\n    Redirect 308 /abricot https://abricot.toolforge.org\n    Redirect 308 /abshir https://abshir.toolforge.org\n    Redirect gone /abusereport\n    Redirect gone /account\n    Redirect 308 /account-creator https://account-creator.toolforge.org\n    Redirect gone /acc-utilities\n    Redirect 308 /ace2018 https://ace2018.toolforge.org\n    Redirect gone /acoustid\n    Redirect gone /activity\n    Redirect gone /actrial\n    Redirect gone /adas\n    Redirect 308 /add https://add.toolforge.org\n    Redirect gone /addbot\n    Redirect 308 /add-information https://add-information.toolforge.org\n    Redirect 308 /addscholartopics https://addscholartopics.toolforge.org\n    Redirect gone /addshore\n    Redirect gone /addshore-dev\n    Redirect 308 /add-text https://add-text.toolforge.org\n    Redirect 308 /admin https://admin.toolforge.org\n    Redirect 308 /admin-beta https://admin-beta.toolforge.org\n    Redirect 308 /adminstats https://adminstats.toolforge.org\n    Redirect 308 /admin-test https://admin-test.toolforge.org\n    Redirect 308 /advertisedetector https://advertisedetector.toolforge.org\n    Redirect 308 /aemisinfo https://aemisinfo.toolforge.org\n    Redirect 308 /afcbot https://afcbot.toolforge.org\n    Redirect 308 /afch https://afch.toolforge.org\n    Redirect 308 /afch-updater https://afch-updater.toolforge.org\n    Redirect gone /afc-research\n    Redirect 308 /afdstats https://afdstats.toolforge.org\n    Redirect 308 /afrobot https://afrobot.toolforge.org\n    Redirect gone /aftabbot\n    Redirect 308 /aftabbotbnwiki https://aftabbotbnwiki.toolforge.org\n    Redirect 308 /aharonitelegrambot002 https://aharonitelegrambot002.toolforge.org\n    Redirect 308 /ahechtbot https://ahechtbot.toolforge.org\n    Redirect 308 /aiko-citationhunt https://aiko-citationhunt.toolforge.org\n    Redirect 308 /air7538tools https://air7538tools.toolforge.org\n    Redirect 308 /aivanalysis https://aivanalysis.toolforge.org\n    Redirect 308 /aivhelperbot https://aivhelperbot.toolforge.org\n    Redirect 308 /ajapaik2commons https://ajapaik2commons.toolforge.org\n    Redirect 308 /akkakkbot https://akkakkbot.toolforge.org\n    Redirect 308 /alaabot https://alaabot.toolforge.org\n    Redirect gone /alan\n    Redirect 308 /alanajjar https://alanajjar.toolforge.org\n    Redirect 308 /alberobot https://alberobot.toolforge.org\n    Redirect 308 /alchimista https://alchimista.toolforge.org\n    Redirect 308 /aleph https://aleph.toolforge.org\n    Redirect 308 /alessiobot https://alessiobot.toolforge.org\n    Redirect 308 /alex https://alex.toolforge.org\n    Redirect 308 /alfa80 https://alfa80.toolforge.org\n    Redirect gone /algo-news\n    Redirect 308 /alkamidbot https://alkamidbot.toolforge.org\n    Redirect 308 /alphatest https://alphatest.toolforge.org\n    Redirect 308 /alphawakt https://alphawakt.toolforge.org\n    Redirect 308 /altobot https://altobot.toolforge.org\n    Redirect 308 /altostratus https://altostratus.toolforge.org\n    Redirect 308 /alvaro https://alvaro.toolforge.org\n    Redirect 308 /am https://am.toolforge.org\n    Redirect gone /amarbot\n    Redirect 308 /amdb https://amdb.toolforge.org\n    Redirect 308 /ameen https://ameen.toolforge.org\n    Redirect 308 /ameisenbot https://ameisenbot.toolforge.org\n    Redirect 308 /amorybot https://amorybot.toolforge.org\n    Redirect 308 /amstats https://amstats.toolforge.org\n    Redirect 308 /anagrimes https://anagrimes.toolforge.org\n    Redirect 308 /analytalks https://analytalks.toolforge.org\n    Redirect 308 /analytics https://analytics.toolforge.org\n    Redirect 308 /ananthrk-test https://ananthrk-test.toolforge.org\n    Redirect 308 /ancestors2 https://ancestors2.toolforge.org\n    Redirect gone /andrewtesttool\n    Redirect gone /android-maven-repo\n    Redirect 308 /android-sdk-builds https://android-sdk-builds.toolforge.org\n    Redirect 308 /andxor https://andxor.toolforge.org\n    Redirect 308 /aneun-sandbox https://aneun-sandbox.toolforge.org\n    Redirect gone /ankitbot\n    Redirect 308 /anni-me https://anni-me.toolforge.org\n    Redirect 308 /anno https://anno.toolforge.org\n    Redirect 308 /anomiebot https://anomiebot.toolforge.org\n    Redirect 308 /anon https://anon.toolforge.org\n    Redirect gone /anorange\n    Redirect 308 /anticompositebot https://anticompositebot.toolforge.org\n    Redirect 308 /anticompositetest https://anticompositetest.toolforge.org\n    Redirect 308 /anticompositetools https://anticompositetools.toolforge.org\n    Redirect gone /antigng\n    Redirect 308 /antigng-bot https://antigng-bot.toolforge.org\n    Redirect 308 /aobo https://aobo.toolforge.org\n    Redirect 308 /apersonbot https://apersonbot.toolforge.org\n    Redirect gone /api-citations\n    Redirect 308 /apps-gallery https://apps-gallery.toolforge.org\n    Redirect 308 /apt-browser https://apt-browser.toolforge.org\n    Redirect 308 /arambot https://arambot.toolforge.org\n    Redirect 308 /arbclerkbot https://arbclerkbot.toolforge.org\n    Redirect 308 /arcanist https://arcanist.toolforge.org\n    Redirect gone /archaeo\n    Redirect 308 /archiveleaf https://archiveleaf.toolforge.org\n    Redirect 308 /archivesearch https://archivesearch.toolforge.org\n    Redirect 308 /archive-things https://archive-things.toolforge.org\n    Redirect 308 /archive-things-1 https://archive-things-1.toolforge.org\n    Redirect 308 /archive-things-2 https://archive-things-2.toolforge.org\n    Redirect 308 /archive-things-3 https://archive-things-3.toolforge.org\n    Redirect 308 /archive-things-4 https://archive-things-4.toolforge.org\n    Redirect 308 /archiving https://archiving.toolforge.org\n    Redirect 308 /arelph https://arelph.toolforge.org\n    Redirect 308 /arkivbot https://arkivbot.toolforge.org\n    Redirect 308 /arnaubot https://arnaubot.toolforge.org\n    Redirect 308 /arowf https://arowf.toolforge.org\n    Redirect 308 /artemisia https://artemisia.toolforge.org\n    Redirect gone /article\n    Redirect gone /article2\n    Redirect 308 /article-creation-mapper https://article-creation-mapper.toolforge.org\n    Redirect 308 /article-ideas-generator https://article-ideas-generator.toolforge.org\n    Redirect 308 /article-interactions https://article-interactions.toolforge.org\n    Redirect gone /article-locations\n    Redirect 308 /articleplaceholderwiki https://articleplaceholderwiki.toolforge.org\n    Redirect 308 /articlerequest https://articlerequest.toolforge.org\n    Redirect 308 /articlerequest-dev https://articlerequest-dev.toolforge.org\n    Redirect 308 /articles-by-lat-lon-without-images https://articles-by-lat-lon-without-images.toolforge.org\n    Redirect 308 /articles-needing-links https://articles-needing-links.toolforge.org\n    Redirect 308 /articles-recommender https://articles-recommender.toolforge.org\n    Redirect gone /article-suggestion\n    Redirect 308 /artlist https://artlist.toolforge.org\n    Redirect 308 /artuploader https://artuploader.toolforge.org\n    Redirect gone /arturo-test-tool\n    Redirect 308 /asaifmbot https://asaifmbot.toolforge.org\n    Redirect 308 /ascal https://ascal.toolforge.org\n    Redirect gone /asdf\n    Redirect 308 /ashbot https://ashbot.toolforge.org\n    Redirect gone /ash-dev\n    Redirect 308 /ash-django https://ash-django.toolforge.org\n    Redirect 308 /ashotbot https://ashotbot.toolforge.org\n    Redirect 308 /ashottools https://ashottools.toolforge.org\n    Redirect 308 /as-info https://as-info.toolforge.org\n    Redirect 308 /as-info-dev https://as-info-dev.toolforge.org\n    Redirect gone /askbot-01\n    Redirect 308 /assamesecalendar https://assamesecalendar.toolforge.org\n    Redirect 308 /assamesetool https://assamesetool.toolforge.org\n    Redirect 308 /assessor https://assessor.toolforge.org\n    Redirect 308 /asurabot https://asurabot.toolforge.org\n    Redirect 308 /aswnbot https://aswnbot.toolforge.org\n    Redirect 308 /atiro https://atiro.toolforge.org\n    Redirect 308 /ato https://ato.toolforge.org\n    Redirect 308 /atriskwiki https://atriskwiki.toolforge.org\n    Redirect 308 /attribution https://attribution.toolforge.org\n    Redirect 308 /aude https://aude.toolforge.org\n    Redirect 308 /audetools https://audetools.toolforge.org\n    Redirect 308 /auth https://auth.toolforge.org\n    Redirect 308 /author-disambiguator https://author-disambiguator.toolforge.org\n    Redirect 308 /authorlang-game https://authorlang-game.toolforge.org\n    Redirect 308 /authors https://authors.toolforge.org\n    Redirect 308 /autodesc https://autodesc.toolforge.org\n    Redirect 308 /autolist https://autolist.toolforge.org\n    Redirect 308 /autometrics https://autometrics.toolforge.org\n    Redirect 308 /autopromote-status https://autopromote-status.toolforge.org\n    Redirect 308 /avicbot https://avicbot.toolforge.org\n    Redirect 308 /awb https://awb.toolforge.org\n    Redirect 308 /awmd-stats https://awmd-stats.toolforge.org\n    Redirect 308 /awstats https://awstats.toolforge.org\n    Redirect gone /axel\n    Redirect gone /a-z-p\n    Redirect gone /a-z-p-0-9-z\n    Redirect 308 /badges https://badges.toolforge.org\n    Redirect 308 /bajo https://bajo.toolforge.org\n    Redirect 308 /balasankarc https://balasankarc.toolforge.org\n    Redirect 308 /baljeetdhaliwal https://baljeetdhaliwal.toolforge.org\n    Redirect 308 /baljeetsingh https://baljeetsingh.toolforge.org\n    Redirect 308 /bambots https://bambots.toolforge.org\n    Redirect 308 /basebot https://basebot.toolforge.org\n    Redirect gone /base-encode\n    Redirect 308 /base-php-cli https://base-php-cli.toolforge.org\n    Redirect gone /basetool\n    Redirect 308 /bash https://bash.toolforge.org\n    Redirect gone /basyounybot\n    Redirect 308 /batchrevert https://batchrevert.toolforge.org\n    Redirect 308 /bawolff https://bawolff.toolforge.org\n    Redirect 308 /bays https://bays.toolforge.org\n    Redirect 308 /bbc-tv-cite https://bbc-tv-cite.toolforge.org\n    Redirect 308 /bcxfu75kbot https://bcxfu75kbot.toolforge.org\n    Redirect gone /bd808-k8smigrate\n    Redirect 308 /bd808-pywikibot https://bd808-pywikibot.toolforge.org\n    Redirect 308 /bd808-ruby https://bd808-ruby.toolforge.org\n    Redirect 308 /bd808-test https://bd808-test.toolforge.org\n    Redirect 308 /bd808-test2 https://bd808-test2.toolforge.org\n    Redirect gone /bd808-test3\n    Redirect gone /bd808-test4\n    Redirect 308 /beastiebot https://beastiebot.toolforge.org\n    Redirect 308 /become https://become.toolforge.org\n    Redirect 308 /beleg-tally https://beleg-tally.toolforge.org\n    Redirect gone /beleg-test-14568913402\n    Redirect 308 /bene https://bene.toolforge.org\n    Redirect 308 /benin1 https://benin1.toolforge.org\n    Redirect 308 /bennofsplay https://bennofsplay.toolforge.org\n    Redirect 308 /best-image https://best-image.toolforge.org\n    Redirect 308 /betabot https://betabot.toolforge.org\n    Redirect 308 /betacommand-dev https://betacommand-dev.toolforge.org\n    Redirect 308 /betaweb https://betaweb.toolforge.org\n    Redirect 308 /bibleversefinder https://bibleversefinder.toolforge.org\n    Redirect 308 /bibleversefinder2 https://bibleversefinder2.toolforge.org\n    Redirect 308 /bibliodata https://bibliodata.toolforge.org\n    Redirect 308 /bikeshed https://bikeshed.toolforge.org\n    Redirect 308 /bingle https://bingle.toolforge.org\n    Redirect 308 /bing-maps https://bing-maps.toolforge.org\n    Redirect 308 /bingo https://bingo.toolforge.org\n    Redirect 308 /bkllc https://bkllc.toolforge.org\n    Redirect 308 /bkstats-test https://bkstats-test.toolforge.org\n    Redirect 308 /blablabla https://blablabla.toolforge.org\n    Redirect 308 /blahma https://blahma.toolforge.org\n    Redirect 308 /blankpages https://blankpages.toolforge.org\n    Redirect 308 /bl-assist https://bl-assist.toolforge.org\n    Redirect 308 /bldrwnsch https://bldrwnsch.toolforge.org\n    Redirect 308 /blockcalc https://blockcalc.toolforge.org\n    Redirect 308 /blocklog https://blocklog.toolforge.org\n    Redirect 308 /blocksearch https://blocksearch.toolforge.org\n    Redirect 308 /blockyquery https://blockyquery.toolforge.org\n    Redirect 308 /blog https://blog.toolforge.org\n    Redirect gone /blogconverter\n    Redirect gone /blubber\n    Redirect 308 /bn-googleocr https://bn-googleocr.toolforge.org\n    Redirect 308 /bnwiki8 https://bnwiki8.toolforge.org\n    Redirect 308 /bomwiki https://bomwiki.toolforge.org\n    Redirect 308 /book2scroll https://book2scroll.toolforge.org\n    Redirect 308 /bookmanagerv2 https://bookmanagerv2.toolforge.org\n    Redirect 308 /bookreader https://bookreader.toolforge.org\n    Redirect 308 /books-for-binding https://books-for-binding.toolforge.org\n    Redirect 308 /booksplitter https://booksplitter.toolforge.org\n    Redirect 308 /bookworm https://bookworm.toolforge.org\n    Redirect 308 /booster https://booster.toolforge.org\n    Redirect 308 /borracho https://borracho.toolforge.org\n    Redirect 308 /bot24 https://bot24.toolforge.org\n    Redirect 308 /bot873 https://bot873.toolforge.org\n    Redirect 308 /botadventures https://botadventures.toolforge.org\n    Redirect 308 /bot-ash-nazg https://bot-ash-nazg.toolforge.org\n    Redirect 308 /boteas https://boteas.toolforge.org\n    Redirect 308 /bothasava https://bothasava.toolforge.org\n    Redirect 308 /botleo https://botleo.toolforge.org\n    Redirect 308 /botomatik https://botomatik.toolforge.org\n    Redirect 308 /botorder https://botorder.toolforge.org\n    Redirect 308 /botqa https://botqa.toolforge.org\n    Redirect 308 /botriconferme https://botriconferme.toolforge.org\n    Redirect 308 /botsister https://botsister.toolforge.org\n    Redirect 308 /botundo https://botundo.toolforge.org\n    Redirect 308 /botvegas https://botvegas.toolforge.org\n    Redirect 308 /botwatch https://botwatch.toolforge.org\n    Redirect 308 /botwikiawk https://botwikiawk.toolforge.org\n    Redirect 308 /boty https://boty.toolforge.org\n    Redirect 308 /bovlbbot https://bovlbbot.toolforge.org\n    Redirect 308 /bowleerin https://bowleerin.toolforge.org\n    Redirect gone /bracketbot\n    Redirect gone /brandonstools\n    Redirect 308 /brgroup https://brgroup.toolforge.org\n    Redirect 308 /bridgebot https://bridgebot.toolforge.org\n    Redirect 308 /bsaut https://bsaut.toolforge.org\n    Redirect gone /bstorm-tool\n    Redirect gone /bstorm-tool2\n    Redirect gone /bub\n    Redirect 308 /bub2 https://bub2.toolforge.org\n    Redirect 308 /bugello https://bugello.toolforge.org\n    Redirect 308 /bunykbot https://bunykbot.toolforge.org\n    Redirect 308 /bytesadded https://bytesadded.toolforge.org\n    Redirect 308 /calakbot https://calakbot.toolforge.org\n    Redirect 308 /calak-dev https://calak-dev.toolforge.org\n    Redirect 308 /calling-card https://calling-card.toolforge.org\n    Redirect 308 /camelbot https://camelbot.toolforge.org\n    Redirect gone /canary\n    Redirect 308 /canarybot https://canarybot.toolforge.org\n    Redirect 308 /captcha https://captcha.toolforge.org\n    Redirect 308 /captcha-dev https://captcha-dev.toolforge.org\n    Redirect 308 /cargo-hierarchy https://cargo-hierarchy.toolforge.org\n    Redirect 308 /catbot https://catbot.toolforge.org\n    Redirect 308 /catcompare https://catcompare.toolforge.org\n    Redirect 308 /categorie https://categorie.toolforge.org\n    Redirect 308 /category-by-uploaders https://category-by-uploaders.toolforge.org\n    Redirect 308 /catfood https://catfood.toolforge.org\n    Redirect gone /catgraph\n    Redirect gone /catgraph-jsonp\n    Redirect 308 /catimages https://catimages.toolforge.org\n    Redirect gone /catlive\n    Redirect gone /catmonitor\n    Redirect 308 /catnap https://catnap.toolforge.org\n    Redirect 308 /catrename https://catrename.toolforge.org\n    Redirect 308 /catscan2 https://catscan2.toolforge.org\n    Redirect 308 /catscan3 https://catscan3.toolforge.org\n    Redirect 308 /catscan-pop https://catscan-pop.toolforge.org\n    Redirect 308 /catscore https://catscore.toolforge.org\n    Redirect gone /catsize\n    Redirect 308 /cats-php https://cats-php.toolforge.org\n    Redirect 308 /catwatchbot https://catwatchbot.toolforge.org\n    Redirect 308 /cauchy https://cauchy.toolforge.org\n    Redirect 308 /cauchy7 https://cauchy7.toolforge.org\n    Redirect gone /cbench\n    Redirect gone /cbench2\n    Redirect gone /cbng-sql-1\n    Redirect gone /cbng-sql-2\n    Redirect gone /cbng-sql-3\n    Redirect gone /cbng-sql-4\n    Redirect gone /cbng-sql-5\n    Redirect gone /cbng-sql-6\n    Redirect 308 /ccm https://ccm.toolforge.org\n    Redirect 308 /cdnjs https://cdnjs.toolforge.org\n    Redirect 308 /cdnjs-beta https://cdnjs-beta.toolforge.org\n    Redirect 308 /cdrini-dev https://cdrini-dev.toolforge.org\n    Redirect 308 /centralnotice-bannergenerator https://centralnotice-bannergenerator.toolforge.org\n    Redirect 308 /cerabot https://cerabot.toolforge.org\n    Redirect 308 /cewbot https://cewbot.toolforge.org\n    Redirect gone /cgstat\n    Redirect 308 /chaoyueltry https://chaoyueltry.toolforge.org\n    Redirect 308 /charttableconverter https://charttableconverter.toolforge.org\n    Redirect gone /chat\n    Redirect gone /checkdictation-fa\n    Redirect 308 /checker https://checker.toolforge.org\n    Redirect gone /checklinks\n    Redirect 308 /checkpersondata https://checkpersondata.toolforge.org\n    Redirect 308 /checkwiki https://checkwiki.toolforge.org\n    Redirect 308 /chemobot https://chemobot.toolforge.org\n    Redirect 308 /chie-bot https://chie-bot.toolforge.org\n    Redirect 308 /chobot https://chobot.toolforge.org\n    Redirect 308 /chocobot https://chocobot.toolforge.org\n    Redirect 308 /churches https://churches.toolforge.org\n    Redirect 308 /ci https://ci.toolforge.org\n    Redirect 308 /cil2 https://cil2.toolforge.org\n    Redirect 308 /cipherbot https://cipherbot.toolforge.org\n    Redirect gone /citationbase\n    Redirect gone /citation-bot\n    Redirect 308 /citationdetective https://citationdetective.toolforge.org\n    Redirect gone /citationgraph\n    Redirect 308 /citationhunt https://citationhunt.toolforge.org\n    Redirect 308 /citations https://citations.toolforge.org\n    Redirect 308 /citations-dev https://citations-dev.toolforge.org\n    Redirect 308 /citation-template-filling https://citation-template-filling.toolforge.org\n    Redirect 308 /citeimage https://citeimage.toolforge.org\n    Redirect 308 /cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 308 /citeplato https://citeplato.toolforge.org\n    Redirect 308 /citer https://citer.toolforge.org\n    Redirect 308 /cite-web-helper https://cite-web-helper.toolforge.org\n    Redirect 308 /citing-bot https://citing-bot.toolforge.org\n    Redirect 308 /citytime https://citytime.toolforge.org\n    Redirect 308 /cleanup https://cleanup.toolforge.org\n    Redirect 308 /clickstream-api https://clickstream-api.toolforge.org\n    Redirect 308 /cloudvps https://cloudvps.toolforge.org\n    Redirect 308 /clpo13-flask https://clpo13-flask.toolforge.org\n    Redirect 308 /cluebot https://cluebot.toolforge.org\n    Redirect 308 /cluebot3 https://cluebot3.toolforge.org\n    Redirect 308 /cluebotng https://cluebotng.toolforge.org\n    Redirect 308 /cluebotng-staging https://cluebotng-staging.toolforge.org\n    Redirect gone /cluestuff\n    Redirect gone /clunk\n    Redirect 308 /cobain https://cobain.toolforge.org\n    Redirect 308 /cobot https://cobot.toolforge.org\n    Redirect 308 /cocubot https://cocubot.toolforge.org\n    Redirect 308 /cocytus https://cocytus.toolforge.org\n    Redirect 308 /code-essay https://code-essay.toolforge.org\n    Redirect 308 /codelookup https://codelookup.toolforge.org\n    Redirect 308 /codeqc https://codeqc.toolforge.org\n    Redirect 308 /codexbot https://codexbot.toolforge.org\n    Redirect 308 /coh https://coh.toolforge.org\n    Redirect gone /coi\n    Redirect 308 /coibot https://coibot.toolforge.org\n    Redirect gone /comidentgen\n    Redirect 308 /common-interests https://common-interests.toolforge.org\n    Redirect gone /commons\n    Redirect 308 /commons-aiuser https://commons-aiuser.toolforge.org\n    Redirect 308 /commons-android-app https://commons-android-app.toolforge.org\n    Redirect 308 /commons-app-stats https://commons-app-stats.toolforge.org\n    Redirect 308 /commons-app-web https://commons-app-web.toolforge.org\n    Redirect 308 /commonsarchive https://commonsarchive.toolforge.org\n    Redirect 308 /commons-campaign-commander https://commons-campaign-commander.toolforge.org\n    Redirect 308 /commonscategorycount https://commonscategorycount.toolforge.org\n    Redirect 308 /commons-coverage https://commons-coverage.toolforge.org\n    Redirect 308 /commons-delinquent https://commons-delinquent.toolforge.org\n    Redirect gone /commons_describer\n    Redirect 308 /commonsedge https://commonsedge.toolforge.org\n    Redirect 308 /commonsfairuseupload https://commonsfairuseupload.toolforge.org\n    Redirect 308 /commonshelper https://commonshelper.toolforge.org\n    Redirect gone /commonshelper2\n    Redirect gone /commonsinterwiki\n    Redirect 308 /commons-maintenance-bot https://commons-maintenance-bot.toolforge.org\n    Redirect 308 /commons-mass-description https://commons-mass-description.toolforge.org\n    Redirect 308 /commons-mass-description-test https://commons-mass-description-test.toolforge.org\n    Redirect gone /commons-mass-upload\n    Redirect 308 /commonsnotificationbot https://commonsnotificationbot.toolforge.org\n    Redirect 308 /commons-poty https://commons-poty.toolforge.org\n    Redirect gone /commonsuploadsum\n    Redirect gone /commons-video-clicks\n    Redirect 308 /commtech-commons https://commtech-commons.toolforge.org\n    Redirect gone /communityguidelines\n    Redirect 308 /community-tech-tools https://community-tech-tools.toolforge.org\n    Redirect 308 /compare-accounts https://compare-accounts.toolforge.org\n    Redirect 308 /completer https://completer.toolforge.org\n    Redirect 308 /comprende https://comprende.toolforge.org\n    Redirect 308 /congressedits https://congressedits.toolforge.org\n    Redirect 308 /connectivity https://connectivity.toolforge.org\n    Redirect 308 /contact https://contact.toolforge.org\n    Redirect 308 /contentcontributor https://contentcontributor.toolforge.org\n    Redirect 308 /content-gap https://content-gap.toolforge.org\n    Redirect 308 /continuitybot https://continuitybot.toolforge.org\n    Redirect 308 /contraband https://contraband.toolforge.org\n    Redirect 308 /contrabandapp https://contrabandapp.toolforge.org\n    Redirect 308 /contribgraph https://contribgraph.toolforge.org\n    Redirect 308 /contribstats https://contribstats.toolforge.org\n    Redirect gone /contributions-summary\n    Redirect 308 /contributionsurveyor https://contributionsurveyor.toolforge.org\n    Redirect 308 /contropedia https://contropedia.toolforge.org\n    Redirect 308 /convenient-discussions https://convenient-discussions.toolforge.org\n    Redirect 308 /convert https://convert.toolforge.org\n    Redirect 308 /coord https://coord.toolforge.org\n    Redirect 308 /copyclear https://copyclear.toolforge.org\n    Redirect 308 /copypatrol https://copypatrol.toolforge.org\n    Redirect 308 /copyvios https://copyvios.toolforge.org\n    Redirect gone /copywhat\n    Redirect gone /corenlp\n    Redirect gone /corhist\n    Redirect 308 /costar https://costar.toolforge.org\n    Redirect 308 /countcountbot https://countcountbot.toolforge.org\n    Redirect 308 /countcounttest https://countcounttest.toolforge.org\n    Redirect 308 /countryip https://countryip.toolforge.org\n    Redirect 308 /coursestats https://coursestats.toolforge.org\n    Redirect 308 /coverage https://coverage.toolforge.org\n    Redirect 308 /coverme https://coverme.toolforge.org\n    Redirect 308 /covid https://covid.toolforge.org\n    Redirect 308 /covid-obit https://covid-obit.toolforge.org\n    Redirect 308 /cp https://cp.toolforge.org\n    Redirect 308 /cpb https://cpb.toolforge.org\n    Redirect 308 /cradle https://cradle.toolforge.org\n    Redirect gone /crazyometer\n    Redirect gone /creatorlinks\n    Redirect 308 /crisis-response https://crisis-response.toolforge.org\n    Redirect gone /crocodylia\n    Redirect 308 /cropbot https://cropbot.toolforge.org\n    Redirect 308 /cropcrop https://cropcrop.toolforge.org\n    Redirect 308 /croptool https://croptool.toolforge.org\n    Redirect 308 /crossactivity https://crossactivity.toolforge.org\n    Redirect gone /crosswatch\n    Redirect 308 /crosswatch2019 https://crosswatch2019.toolforge.org\n    Redirect gone /crosswatch-monitoring\n    Redirect 308 /csbot https://csbot.toolforge.org\n    Redirect 308 /csfd https://csfd.toolforge.org\n    Redirect 308 /csp-report https://csp-report.toolforge.org\n    Redirect 308 /cssk https://cssk.toolforge.org\n    Redirect 308 /cuddle https://cuddle.toolforge.org\n    Redirect 308 /currentevents https://currentevents.toolforge.org\n    Redirect 308 /custom-utils https://custom-utils.toolforge.org\n    Redirect 308 /cvn https://cvn.toolforge.org\n    Redirect 308 /cvrminer https://cvrminer.toolforge.org\n    Redirect 308 /cyberbot https://cyberbot.toolforge.org\n    Redirect gone /cybertools\n    Redirect 308 /cyberworm https://cyberworm.toolforge.org\n    Redirect 308 /cydebot https://cydebot.toolforge.org\n    Redirect 308 /daahbot https://daahbot.toolforge.org\n    Redirect gone /dabsolver\n    Redirect 308 /dal https://dal.toolforge.org\n    Redirect 308 /danilo https://danilo.toolforge.org\n    Redirect 308 /danmicholobot https://danmicholobot.toolforge.org\n    Redirect 308 /dannys712-bot https://dannys712-bot.toolforge.org\n    Redirect 308 /danorton-dev https://danorton-dev.toolforge.org\n    Redirect 308 /dapete-dev https://dapete-dev.toolforge.org\n    Redirect 308 /dashboard https://dashboard.toolforge.org\n    Redirect 308 /database-reports https://database-reports.toolforge.org\n    Redirect 308 /datacon-schedule-app https://datacon-schedule-app.toolforge.org\n    Redirect gone /data-design-demo\n    Redirect 308 /datasets https://datasets.toolforge.org\n    Redirect 308 /dataviz https://dataviz.toolforge.org\n    Redirect 308 /datbot https://datbot.toolforge.org\n    Redirect gone /datbotcommons\n    Redirect 308 /dateien https://dateien.toolforge.org\n    Redirect 308 /david-tool https://david-tool.toolforge.org\n    Redirect 308 /davod https://davod.toolforge.org\n    Redirect gone /dawiki\n    Redirect 308 /dawikibot https://dawikibot.toolforge.org\n    Redirect 308 /dawikitool https://dawikitool.toolforge.org\n    Redirect gone /db\n    Redirect 308 /dbbot https://dbbot.toolforge.org\n    Redirect 308 /dbreps https://dbreps.toolforge.org\n    Redirect 308 /dbreps-uk https://dbreps-uk.toolforge.org\n    Redirect gone /ddescriptions\n    Redirect 308 /deadlinkfinder https://deadlinkfinder.toolforge.org\n    Redirect 308 /deadlinks https://deadlinks.toolforge.org\n    Redirect 308 /death-anomalies https://death-anomalies.toolforge.org\n    Redirect gone /declare\n    Redirect gone /deep-learning-services\n    Redirect 308 /defconbot https://defconbot.toolforge.org\n    Redirect gone /dekel\n    Redirect 308 /delinker https://delinker.toolforge.org\n    Redirect 308 /dellie https://dellie.toolforge.org\n    Redirect 308 /deltabot https://deltabot.toolforge.org\n    Redirect 308 /deltaquad-bots https://deltaquad-bots.toolforge.org\n    Redirect 308 /demibot https://demibot.toolforge.org\n    Redirect 308 /demo-unicorn https://demo-unicorn.toolforge.org\n    Redirect 308 /denisa https://denisa.toolforge.org\n    Redirect 308 /denkmalbot https://denkmalbot.toolforge.org\n    Redirect 308 /denkmalliste https://denkmalliste.toolforge.org\n    Redirect 308 /depiction-game https://depiction-game.toolforge.org\n    Redirect 308 /depictions https://depictions.toolforge.org\n    Redirect 308 /depicts https://depicts.toolforge.org\n    Redirect 308 /deprecated-fixer-bot https://deprecated-fixer-bot.toolforge.org\n    Redirect 308 /derivative https://derivative.toolforge.org\n    Redirect 308 /desh https://desh.toolforge.org\n    Redirect gone /design-research-methods\n    Redirect gone /deskana\n    Redirect gone /deskana2\n    Redirect 308 /detox https://detox.toolforge.org\n    Redirect gone /detoxresearch\n    Redirect gone /devlibrarycard\n    Redirect 308 /devyasha https://devyasha.toolforge.org\n    Redirect 308 /devys https://devys.toolforge.org\n    Redirect 308 /dewikigreetbot https://dewikigreetbot.toolforge.org\n    Redirect 308 /dewikinews-rss https://dewikinews-rss.toolforge.org\n    Redirect 308 /dewikivpncheck https://dewikivpncheck.toolforge.org\n    Redirect 308 /dewkin https://dewkin.toolforge.org\n    Redirect gone /dewpmonobookupdater\n    Redirect 308 /dexbot https://dexbot.toolforge.org\n    Redirect gone /dexibotnet\n    Redirect gone /dibot\n    Redirect 308 /dibyadutta https://dibyadutta.toolforge.org\n    Redirect 308 /dicompte https://dicompte.toolforge.org\n    Redirect 308 /digero https://digero.toolforge.org\n    Redirect gone /digitaltmuseum\n    Redirect 308 /dijkstrasproject https://dijkstrasproject.toolforge.org\n    Redirect 308 /dimastbkbot https://dimastbkbot.toolforge.org\n    Redirect 308 /dimensioner https://dimensioner.toolforge.org\n    Redirect 308 /dioceses https://dioceses.toolforge.org\n    Redirect 308 /directory https://directory.toolforge.org\n    Redirect 308 /disambinator https://disambinator.toolforge.org\n    Redirect 308 /disclaim https://disclaim.toolforge.org\n    Redirect gone /discogs2pistes\n    Redirect gone /discord-irc\n    Redirect gone /discordwiki\n    Redirect 308 /dispatcher https://dispatcher.toolforge.org\n    Redirect 308 /dispenser https://dispenser.toolforge.org\n    Redirect 308 /dixondbot https://dixondbot.toolforge.org\n    Redirect 308 /dixtosa https://dixtosa.toolforge.org\n    Redirect 308 /dluxbot https://dluxbot.toolforge.org\n    Redirect 308 /dna https://dna.toolforge.org\n    Redirect 308 /dnbtools https://dnbtools.toolforge.org\n    Redirect 308 /dockerregistry https://dockerregistry.toolforge.org\n    Redirect 308 /docker-registry https://docker-registry.toolforge.org\n    Redirect 308 /doi-bot https://doi-bot.toolforge.org\n    Redirect gone /douglasbot\n    Redirect 308 /dow https://dow.toolforge.org\n    Redirect 308 /dpkg https://dpkg.toolforge.org\n    Redirect 308 /dplbot https://dplbot.toolforge.org\n    Redirect 308 /draftifyhistory https://draftifyhistory.toolforge.org\n    Redirect gone /draft-uncategorize-script\n    Redirect gone /dramaboard\n    Redirect 308 /drawshield https://drawshield.toolforge.org\n    Redirect 308 /drbot https://drbot.toolforge.org\n    Redirect 308 /dreamyjazzbot https://dreamyjazzbot.toolforge.org\n    Redirect 308 /drewbot https://drewbot.toolforge.org\n    Redirect 308 /dribper https://dribper.toolforge.org\n    Redirect 308 /drini https://drini.toolforge.org\n    Redirect 308 /droog https://droog.toolforge.org\n    Redirect gone /drtrigonbot\n    Redirect 308 /drvstats https://drvstats.toolforge.org\n    Redirect 308 /dschwenbot https://dschwenbot.toolforge.org\n    Redirect gone /dspull\n    Redirect 308 /dtz https://dtz.toolforge.org\n    Redirect 308 /dumpcattree https://dumpcattree.toolforge.org\n    Redirect gone /dumpscan\n    Redirect gone /dump-torrents\n    Redirect 308 /dupdet https://dupdet.toolforge.org\n    Redirect 308 /duplicate-coords https://duplicate-coords.toolforge.org\n    Redirect 308 /duplicatehunter https://duplicatehunter.toolforge.org\n    Redirect gone /durl-shortener\n    Redirect 308 /dutchbot https://dutchbot.toolforge.org\n    Redirect 308 /dvorapabot https://dvorapabot.toolforge.org\n    Redirect 308 /dvtbot https://dvtbot.toolforge.org\n    Redirect 308 /dykautobot https://dykautobot.toolforge.org\n    Redirect 308 /dykbot https://dykbot.toolforge.org\n    Redirect 308 /dykfeed https://dykfeed.toolforge.org\n    Redirect 308 /dykmoverbot https://dykmoverbot.toolforge.org\n    Redirect 308 /dykstats https://dykstats.toolforge.org\n    Redirect 308 /dynamicbot https://dynamicbot.toolforge.org\n    Redirect 308 /dynbot-srv1 https://dynbot-srv1.toolforge.org\n    Redirect 308 /dynbot-srv2 https://dynbot-srv2.toolforge.org\n    Redirect 308 /eagerbot https://eagerbot.toolforge.org\n    Redirect 308 /eagleeye https://eagleeye.toolforge.org\n    Redirect 308 /earwigbot https://earwigbot.toolforge.org\n    Redirect 308 /earwig-dev https://earwig-dev.toolforge.org\n    Redirect 308 /eatchabot https://eatchabot.toolforge.org\n    Redirect 308 /eathom https://eathom.toolforge.org\n    Redirect gone /ebrahim-dev\n    Redirect gone /ebraminio-dev\n    Redirect 308 /ecmabot https://ecmabot.toolforge.org\n    Redirect 308 /edcounter https://edcounter.toolforge.org\n    Redirect 308 /edgars https://edgars.toolforge.org\n    Redirect 308 /edgarsdev https://edgarsdev.toolforge.org\n    Redirect gone /edin\n    Redirect 308 /edinbot https://edinbot.toolforge.org\n    Redirect gone /edinc\n    Redirect 308 /editathonstat https://editathonstat.toolforge.org\n    Redirect 308 /editcompare https://editcompare.toolforge.org\n    Redirect gone /edit-counter\n    Redirect 308 /editcount-fr https://editcount-fr.toolforge.org\n    Redirect gone /editcountitis\n    Redirect gone /editful\n    Redirect 308 /editgroups https://editgroups.toolforge.org\n    Redirect 308 /editor-retention-dashboard https://editor-retention-dashboard.toolforge.org\n    Redirect gone /edits\n    Redirect gone /editsynergy\n    Redirect 308 /efenbot https://efenbot.toolforge.org\n    Redirect gone /elasticdash\n    Redirect 308 /elobot https://elobot.toolforge.org\n    Redirect gone /elph\n    Redirect 308 /elvisor https://elvisor.toolforge.org\n    Redirect 308 /emausbot https://emausbot.toolforge.org\n    Redirect 308 /embeddeddata https://embeddeddata.toolforge.org\n    Redirect 308 /embeddedincount https://embeddedincount.toolforge.org\n    Redirect 308 /emijrpbot https://emijrpbot.toolforge.org\n    Redirect 308 /emoociev https://emoociev.toolforge.org\n    Redirect 308 /enbbsb https://enbbsb.toolforge.org\n    Redirect 308 /enboten https://enboten.toolforge.org\n    Redirect 308 /endumen https://endumen.toolforge.org\n    Redirect 308 /energybot https://energybot.toolforge.org\n    Redirect 308 /enet https://enet.toolforge.org\n    Redirect gone /enett\n    Redirect 308 /enhourly https://enhourly.toolforge.org\n    Redirect 308 /enterpriseybot-rs https://enterpriseybot-rs.toolforge.org\n    Redirect 308 /entsuggest https://entsuggest.toolforge.org\n    Redirect 308 /enwiki-user-edits https://enwiki-user-edits.toolforge.org\n    Redirect 308 /enwiktdefns https://enwiktdefns.toolforge.org\n    Redirect 308 /enwnbot https://enwnbot.toolforge.org\n    Redirect 308 /enwp10 https://enwp10.toolforge.org\n    Redirect 308 /eranbot https://eranbot.toolforge.org\n    Redirect 308 /erex-yomi https://erex-yomi.toolforge.org\n    Redirect 308 /erwin85 https://erwin85.toolforge.org\n    Redirect 308 /esbackup https://esbackup.toolforge.org\n    Redirect 308 /esfichataxon https://esfichataxon.toolforge.org\n    Redirect 308 /etools https://etools.toolforge.org\n    Redirect 308 /etwelvetest https://etwelvetest.toolforge.org\n    Redirect 308 /etwikibots https://etwikibots.toolforge.org\n    Redirect gone /etwikt\n    Redirect 308 /etytree https://etytree.toolforge.org\n    Redirect 308 /eulenwiki https://eulenwiki.toolforge.org\n    Redirect 308 /eulenwiki2 https://eulenwiki2.toolforge.org\n    Redirect 308 /eulenwiki3 https://eulenwiki3.toolforge.org\n    Redirect 308 /event-live-session https://event-live-session.toolforge.org\n    Redirect 308 /event-streams https://event-streams.toolforge.org\n    Redirect 308 /every https://every.toolforge.org\n    Redirect gone /every-other-wiki-has\n    Redirect gone /everythingisconnected\n    Redirect gone /exambot\n    Redirect 308 /excel2wiki https://excel2wiki.toolforge.org\n    Redirect gone /experimental-embeddings\n    Redirect gone /exportpdf\n    Redirect 308 /expose-data https://expose-data.toolforge.org\n    Redirect gone /extdist\n    Redirect gone /extensionservice\n    Redirect gone /externalitemsuggester\n    Redirect 308 /extjsonuploader https://extjsonuploader.toolforge.org\n    Redirect 308 /ext-lnk-discover https://ext-lnk-discover.toolforge.org\n    Redirect 308 /extreg-wos https://extreg-wos.toolforge.org\n    Redirect 308 /extreme https://extreme.toolforge.org\n    Redirect 308 /fab https://fab.toolforge.org\n    Redirect gone /fab-proxy\n    Redirect 308 /facebook-messenger-chatbot https://facebook-messenger-chatbot.toolforge.org\n    Redirect 308 /faces https://faces.toolforge.org\n    Redirect 308 /fa-checkwiki https://fa-checkwiki.toolforge.org\n    Redirect 308 /faebot https://faebot.toolforge.org\n    Redirect 308 /fajrbot https://fajrbot.toolforge.org\n    Redirect 308 /family https://family.toolforge.org\n    Redirect 308 /farhangestan https://farhangestan.toolforge.org\n    Redirect 308 /farotbot https://farotbot.toolforge.org\n    Redirect gone /farticle\n    Redirect gone /fastilybot\n    Redirect gone /fastilybot-reports\n    Redirect 308 /fatameh https://fatameh.toolforge.org\n    Redirect 308 /fatemi https://fatemi.toolforge.org\n    Redirect 308 /fatg https://fatg.toolforge.org\n    Redirect 308 /fawikiauto https://fawikiauto.toolforge.org\n    Redirect 308 /fawiki-editathon https://fawiki-editathon.toolforge.org\n    Redirect 308 /fb-translate-bot https://fb-translate-bot.toolforge.org\n    Redirect gone /fc-importer\n    Redirect gone /featured-article\n    Redirect 308 /femiwiki https://femiwiki.toolforge.org\n    Redirect 308 /fengtools https://fengtools.toolforge.org\n    Redirect 308 /ferdibot https://ferdibot.toolforge.org\n    Redirect 308 /ffbot https://ffbot.toolforge.org\n    Redirect gone /fikarummet\n    Redirect 308 /filedupes https://filedupes.toolforge.org\n    Redirect 308 /file-reuse https://file-reuse.toolforge.org\n    Redirect 308 /file-reuse-piwik https://file-reuse-piwik.toolforge.org\n    Redirect gone /file-reuse-review\n    Redirect 308 /file-reuse-test https://file-reuse-test.toolforge.org\n    Redirect gone /filesearch\n    Redirect 308 /file-siblings https://file-siblings.toolforge.org\n    Redirect 308 /find-and-replace https://find-and-replace.toolforge.org\n    Redirect 308 /findit https://findit.toolforge.org\n    Redirect 308 /fingerprint https://fingerprint.toolforge.org\n    Redirect 308 /fireflydev https://fireflydev.toolforge.org\n    Redirect 308 /firefly-maintainer1 https://firefly-maintainer1.toolforge.org\n    Redirect 308 /fireflytools https://fireflytools.toolforge.org\n    Redirect 308 /firmenbuch https://firmenbuch.toolforge.org\n    Redirect 308 /first-paragraph-readability https://first-paragraph-readability.toolforge.org\n    Redirect 308 /fischbot https://fischbot.toolforge.org\n    Redirect 308 /fist https://fist.toolforge.org\n    Redirect gone /five-million\n    Redirect 308 /fiwiki-tools https://fiwiki-tools.toolforge.org\n    Redirect gone /fixdatebot\n    Redirect gone /flaggedrevspromotioncheck\n    Redirect gone /flaky-ci\n    Redirect 308 /flickr https://flickr.toolforge.org\n    Redirect 308 /flickr2commons https://flickr2commons.toolforge.org\n    Redirect 308 /flickrdash https://flickrdash.toolforge.org\n    Redirect 308 /flickr-rss https://flickr-rss.toolforge.org\n    Redirect 308 /flossbrowser https://flossbrowser.toolforge.org\n    Redirect 308 /fn https://fn.toolforge.org\n    Redirect 308 /fontcdn https://fontcdn.toolforge.org\n    Redirect gone /footygen\n    Redirect 308 /forrestbot https://forrestbot.toolforge.org\n    Redirect gone /foundation\n    Redirect 308 /fountain https://fountain.toolforge.org\n    Redirect 308 /fountain-test https://fountain-test.toolforge.org\n    Redirect 308 /fourohfour https://fourohfour.toolforge.org\n    Redirect 308 /fpbot https://fpbot.toolforge.org\n    Redirect 308 /fpcbot https://fpcbot.toolforge.org\n    Redirect 308 /fpcstats https://fpcstats.toolforge.org\n    Redirect 308 /framabot https://framabot.toolforge.org\n    Redirect 308 /freddy2001 https://freddy2001.toolforge.org\n    Redirect 308 /freebase https://freebase.toolforge.org\n    Redirect 308 /freefiles https://freefiles.toolforge.org\n    Redirect 308 /fretties https://fretties.toolforge.org\n    Redirect 308 /friskobot https://friskobot.toolforge.org\n    Redirect 308 /friybot https://friybot.toolforge.org\n    Redirect 308 /fronds https://fronds.toolforge.org\n    Redirect gone /fr-wikiversity\n    Redirect 308 /fr-wikiversity-ns https://fr-wikiversity-ns.toolforge.org\n    Redirect 308 /fscbot https://fscbot.toolforge.org\n    Redirect 308 /fshbibbot https://fshbibbot.toolforge.org\n    Redirect 308 /ft https://ft.toolforge.org\n    Redirect 308 /ftl https://ftl.toolforge.org\n    Redirect 308 /ftools https://ftools.toolforge.org\n    Redirect gone /fubar\n    Redirect gone /fun\n    Redirect 308 /fundraising-tools https://fundraising-tools.toolforge.org\n    Redirect 308 /furutani https://furutani.toolforge.org\n    Redirect 308 /fvcbot https://fvcbot.toolforge.org\n    Redirect 308 /g13bot https://g13bot.toolforge.org\n    Redirect 308 /gabrielchihonglee-bot https://gabrielchihonglee-bot.toolforge.org\n    Redirect 308 /gaelan-bot https://gaelan-bot.toolforge.org\n    Redirect 308 /gallery https://gallery.toolforge.org\n    Redirect 308 /gallica https://gallica.toolforge.org\n    Redirect 308 /galobot https://galobot.toolforge.org\n    Redirect 308 /ganreportbot https://ganreportbot.toolforge.org\n    Redirect gone /gblrenamemon\n    Redirect gone /gdk-artists-research\n    Redirect 308 /geekbot https://geekbot.toolforge.org\n    Redirect 308 /gendergapdashboard https://gendergapdashboard.toolforge.org\n    Redirect 308 /genealogy https://genealogy.toolforge.org\n    Redirect 308 /genedb https://genedb.toolforge.org\n    Redirect gone /gennfs\n    Redirect 308 /geocommons https://geocommons.toolforge.org\n    Redirect gone /geodata\n    Redirect 308 /geograph2commons https://geograph2commons.toolforge.org\n    Redirect 308 /geohack https://geohack.toolforge.org\n    Redirect gone /geoloc\n    Redirect 308 /geonotice https://geonotice.toolforge.org\n    Redirect 308 /geophotoreq https://geophotoreq.toolforge.org\n    Redirect 308 /geoplotter https://geoplotter.toolforge.org\n    Redirect 308 /gerakibot https://gerakibot.toolforge.org\n    Redirect 308 /gerakitools https://gerakitools.toolforge.org\n    Redirect 308 /germancon-mobile https://germancon-mobile.toolforge.org\n    Redirect 308 /germancontributioncounts https://germancontributioncounts.toolforge.org\n    Redirect 308 /gerrit-avatar-uploader https://gerrit-avatar-uploader.toolforge.org\n    Redirect 308 /gerrit-newcomer-bot https://gerrit-newcomer-bot.toolforge.org\n    Redirect 308 /gerrit-patch-uploader https://gerrit-patch-uploader.toolforge.org\n    Redirect 308 /gerrit-reports https://gerrit-reports.toolforge.org\n    Redirect 308 /gerrit-reviewer-bot https://gerrit-reviewer-bot.toolforge.org\n    Redirect gone /gerrit-to-redis\n    Redirect gone /getsentry\n    Redirect 308 /ggu https://ggu.toolforge.org\n    Redirect 308 /giftbot https://giftbot.toolforge.org\n    Redirect 308 /giftpast https://giftpast.toolforge.org\n    Redirect 308 /giovannitool https://giovannitool.toolforge.org\n    Redirect 308 /gir https://gir.toolforge.org\n    Redirect 308 /giraffe https://giraffe.toolforge.org\n    Redirect 308 /github https://github.toolforge.org\n    Redirect 308 /github-notif-bot https://github-notif-bot.toolforge.org\n    Redirect 308 /github-pr-closer https://github-pr-closer.toolforge.org\n    Redirect 308 /githubstats https://githubstats.toolforge.org\n    Redirect 308 /glaisher https://glaisher.toolforge.org\n    Redirect 308 /glam2commons https://glam2commons.toolforge.org\n    Redirect 308 /glamalign https://glamalign.toolforge.org\n    Redirect 308 /glamify https://glamify.toolforge.org\n    Redirect 308 /glamingest https://glamingest.toolforge.org\n    Redirect 308 /glamorous-maintenance https://glamorous-maintenance.toolforge.org\n    Redirect 308 /glamtools https://glamtools.toolforge.org\n    Redirect 308 /globalcsd https://globalcsd.toolforge.org\n    Redirect 308 /globaleditcounter https://globaleditcounter.toolforge.org\n    Redirect 308 /global-pandas https://global-pandas.toolforge.org\n    Redirect gone /globalprefs\n    Redirect 308 /globalsearch https://globalsearch.toolforge.org\n    Redirect 308 /global-search https://global-search.toolforge.org\n    Redirect 308 /global-search-test https://global-search-test.toolforge.org\n    Redirect 308 /globalusagecount https://globalusagecount.toolforge.org\n    Redirect 308 /global-wiki-tools https://global-wiki-tools.toolforge.org\n    Redirect 308 /gmt https://gmt.toolforge.org\n    Redirect gone /gns\n    Redirect 308 /gnubotmarcoo https://gnubotmarcoo.toolforge.org\n    Redirect 308 /goatid https://goatid.toolforge.org\n    Redirect gone /goblinbot4\n    Redirect gone /goodarticle\n    Redirect 308 /goodarticlebot https://goodarticlebot.toolforge.org\n    Redirect 308 /goodbot https://goodbot.toolforge.org\n    Redirect gone /google-drive-photos-to-commons\n    Redirect 308 /goransmtool https://goransmtool.toolforge.org\n    Redirect 308 /gorlingor https://gorlingor.toolforge.org\n    Redirect gone /governance-timeline\n    Redirect 308 /gpsexif https://gpsexif.toolforge.org\n    Redirect 308 /gpy https://gpy.toolforge.org\n    Redirect 308 /grafana https://grafana.toolforge.org\n    Redirect gone /grafana-json-datasource\n    Redirect 308 /graham87 https://graham87.toolforge.org\n    Redirect 308 /graminbot https://graminbot.toolforge.org\n    Redirect 308 /granitstein https://granitstein.toolforge.org\n    Redirect 308 /grantmaking https://grantmaking.toolforge.org\n    Redirect 308 /grantmetrics https://grantmetrics.toolforge.org\n    Redirect 308 /grantmetrics-test https://grantmetrics-test.toolforge.org\n    Redirect 308 /grantsbot https://grantsbot.toolforge.org\n    Redirect 308 /grapedog https://grapedog.toolforge.org\n    Redirect 308 /graphql https://graphql.toolforge.org\n    Redirect 308 /gratitude https://gratitude.toolforge.org\n    Redirect 308 /grep https://grep.toolforge.org\n    Redirect gone /gridengine-status\n    Redirect gone /grid-jobs\n    Redirect 308 /grillitus https://grillitus.toolforge.org\n    Redirect 308 /grouplens https://grouplens.toolforge.org\n    Redirect 308 /gsoc https://gsoc.toolforge.org\n    Redirect gone /gsoc-dev\n    Redirect gone /gsociftttdev\n    Redirect 308 /gsoc-ifttt-dev https://gsoc-ifttt-dev.toolforge.org\n    Redirect 308 /gsoc-petscan-query-articles https://gsoc-petscan-query-articles.toolforge.org\n    Redirect 308 /gsoc-worklist-tool https://gsoc-worklist-tool.toolforge.org\n    Redirect gone /gtirloni-sandbox\n    Redirect 308 /guc https://guc.toolforge.org\n    Redirect 308 /gulp https://gulp.toolforge.org\n    Redirect 308 /gun-wd https://gun-wd.toolforge.org\n    Redirect 308 /gurmukhispell https://gurmukhispell.toolforge.org\n    Redirect gone /gutrs\n    Redirect 308 /gyan https://gyan.toolforge.org\n    Redirect 308 /h2bot https://h2bot.toolforge.org\n    Redirect gone /hackmd\n    Redirect 308 /hackprowiki https://hackprowiki.toolforge.org\n    Redirect 308 /hall-of-fame https://hall-of-fame.toolforge.org\n    Redirect 308 /hamishbot https://hamishbot.toolforge.org\n    Redirect gone /harejtest\n    Redirect 308 /hartman https://hartman.toolforge.org\n    Redirect gone /harvesting-data-rafinery\n    Redirect 308 /harvesting-data-refinery https://harvesting-data-refinery.toolforge.org\n    Redirect 308 /hashtags https://hashtags.toolforge.org\n    Redirect 308 /hashtags-hub https://hashtags-hub.toolforge.org\n    Redirect 308 /hashtags-test https://hashtags-test.toolforge.org\n    Redirect 308 /hashtagwatcher https://hashtagwatcher.toolforge.org\n    Redirect gone /hassen\n    Redirect gone /hastagwatcher\n    Redirect 308 /hasteurbot https://hasteurbot.toolforge.org\n    Redirect 308 /hat-collector https://hat-collector.toolforge.org\n    Redirect 308 /hatjitsu https://hatjitsu.toolforge.org\n    Redirect 308 /hauki https://hauki.toolforge.org\n    Redirect 308 /hawk-eye-bot https://hawk-eye-bot.toolforge.org\n    Redirect 308 /hay https://hay.toolforge.org\n    Redirect 308 /hazard-bot https://hazard-bot.toolforge.org\n    Redirect 308 /hcclab https://hcclab.toolforge.org\n    Redirect 308 /hd https://hd.toolforge.org\n    Redirect 308 /hebbot https://hebbot.toolforge.org\n    Redirect 308 /heimdall https://heimdall.toolforge.org\n    Redirect 308 /heinterwiki https://heinterwiki.toolforge.org\n    Redirect 308 /hello-play https://hello-play.toolforge.org\n    Redirect 308 /help https://help.toolforge.org\n    Redirect 308 /helpearwigbot https://helpearwigbot.toolforge.org\n    Redirect 308 /helperbot https://helperbot.toolforge.org\n    Redirect 308 /helperpad https://helperpad.toolforge.org\n    Redirect 308 /hennalabs https://hennalabs.toolforge.org\n    Redirect 308 /herculebot https://herculebot.toolforge.org\n    Redirect 308 /heritage https://heritage.toolforge.org\n    Redirect gone /hermes\n    Redirect 308 /hersfold-hacb https://hersfold-hacb.toolforge.org\n    Redirect 308 /hersfold-irc https://hersfold-irc.toolforge.org\n    Redirect 308 /hersfold-web https://hersfold-web.toolforge.org\n    Redirect 308 /hewiki-tools https://hewiki-tools.toolforge.org\n    Redirect gone /he-wiktionary-rule-checker\n    Redirect gone /hexacore\n    Redirect 308 /hgztools https://hgztools.toolforge.org\n    Redirect 308 /himo https://himo.toolforge.org\n    Redirect 308 /hinotetools https://hinotetools.toolforge.org\n    Redirect gone /hippietest\n    Redirect 308 /hirise https://hirise.toolforge.org\n    Redirect 308 /historicmaps https://historicmaps.toolforge.org\n    Redirect gone /historyview\n    Redirect 308 /histsearch https://histsearch.toolforge.org\n    Redirect 308 /hiw-bot https://hiw-bot.toolforge.org\n    Redirect 308 /hiwiki https://hiwiki.toolforge.org\n    Redirect 308 /hjhhg https://hjhhg.toolforge.org\n    Redirect gone /hkjacksonhk-bot\n    Redirect gone /hll\n    Redirect 308 /holidays-viewer https://holidays-viewer.toolforge.org\n    Redirect 308 /honeypot95 https://honeypot95.toolforge.org\n    Redirect 308 /hoo https://hoo.toolforge.org\n    Redirect gone /hoo-propertysuggester-test\n    Redirect gone /hostbot\n    Redirect 308 /hotarticles https://hotarticles.toolforge.org\n    Redirect 308 /hroest https://hroest.toolforge.org\n    Redirect 308 /hroest2 https://hroest2.toolforge.org\n    Redirect 308 /hroest3 https://hroest3.toolforge.org\n    Redirect 308 /hrwiki https://hrwiki.toolforge.org\n    Redirect 308 /hsfbot https://hsfbot.toolforge.org\n    Redirect 308 /hss https://hss.toolforge.org\n    Redirect 308 /htools https://htools.toolforge.org\n    Redirect 308 /hub https://hub.toolforge.org\n    Redirect 308 /huggle https://huggle.toolforge.org\n    Redirect 308 /huji https://huji.toolforge.org\n    Redirect gone /hujibot\n    Redirect 308 /huntleybots https://huntleybots.toolforge.org\n    Redirect 308 /huwiki https://huwiki.toolforge.org\n    Redirect 308 /hylabels https://hylabels.toolforge.org\n    Redirect 308 /hypobot https://hypobot.toolforge.org\n    Redirect 308 /iabot https://iabot.toolforge.org\n    Redirect 308 /iacrop https://iacrop.toolforge.org\n    Redirect 308 /iamnetx-test https://iamnetx-test.toolforge.org\n    Redirect 308 /ia-upload https://ia-upload.toolforge.org\n    Redirect 308 /ib2test https://ib2test.toolforge.org\n    Redirect 308 /ibrahim https://ibrahim.toolforge.org\n    Redirect gone /ibrahimid\n    Redirect 308 /icalendar https://icalendar.toolforge.org\n    Redirect 308 /icelab https://icelab.toolforge.org\n    Redirect 308 /ichijo https://ichijo.toolforge.org\n    Redirect 308 /icommons https://icommons.toolforge.org\n    Redirect 308 /icu-transliterate https://icu-transliterate.toolforge.org\n    Redirect 308 /ideasbot https://ideasbot.toolforge.org\n    Redirect 308 /ideedarticles https://ideedarticles.toolforge.org\n    Redirect 308 /idsgen https://idsgen.toolforge.org\n    Redirect gone /idwiki-gpu\n    Redirect 308 /idwiki-marathon https://idwiki-marathon.toolforge.org\n    Redirect 308 /iepcbm-bot1 https://iepcbm-bot1.toolforge.org\n    Redirect 308 /iepcbm-bot-2 https://iepcbm-bot-2.toolforge.org\n    Redirect 308 /ifttt https://ifttt.toolforge.org\n    Redirect 308 /ifttt-dev https://ifttt-dev.toolforge.org\n    Redirect gone /ifttt-testing\n    Redirect 308 /igl https://igl.toolforge.org\n    Redirect 308 /igloo https://igloo.toolforge.org\n    Redirect 308 /ignator https://ignator.toolforge.org\n    Redirect 308 /iluvatarbot https://iluvatarbot.toolforge.org\n    Redirect 308 /imagechecker https://imagechecker.toolforge.org\n    Redirect 308 /imagemapedit https://imagemapedit.toolforge.org\n    Redirect gone /image-metadata-viewer\n    Redirect 308 /image-resize-calc https://image-resize-calc.toolforge.org\n    Redirect 308 /imagery https://imagery.toolforge.org\n    Redirect gone /images\n    Redirect 308 /imagetracer https://imagetracer.toolforge.org\n    Redirect gone /img-usage\n    Redirect 308 /import-500px https://import-500px.toolforge.org\n    Redirect 308 /import-freemind https://import-freemind.toolforge.org\n    Redirect 308 /inactiveadmins https://inactiveadmins.toolforge.org\n    Redirect gone /inactive-admins\n    Redirect gone /inactive-bureaucrats\n    Redirect 308 /inaturalistreviewer https://inaturalistreviewer.toolforge.org\n    Redirect 308 /incolabot https://incolabot.toolforge.org\n    Redirect 308 /index-page-mover https://index-page-mover.toolforge.org\n    Redirect 308 /indic-ocr https://indic-ocr.toolforge.org\n    Redirect 308 /indic-techcom https://indic-techcom.toolforge.org\n    Redirect 308 /indic-techcom-wiki https://indic-techcom-wiki.toolforge.org\n    Redirect 308 /indic-wd https://indic-wd.toolforge.org\n    Redirect 308 /indicwiki https://indicwiki.toolforge.org\n    Redirect 308 /indic-wscontest https://indic-wscontest.toolforge.org\n    Redirect 308 /indic-wsstats https://indic-wsstats.toolforge.org\n    Redirect 308 /info-farmer https://info-farmer.toolforge.org\n    Redirect 308 /infogeo https://infogeo.toolforge.org\n    Redirect 308 /inforobbot https://inforobbot.toolforge.org\n    Redirect 308 /inkobot https://inkobot.toolforge.org\n    Redirect gone /inkowik\n    Redirect 308 /inkpen https://inkpen.toolforge.org\n    Redirect 308 /integraality https://integraality.toolforge.org\n    Redirect 308 /intelibot https://intelibot.toolforge.org\n    Redirect 308 /intelirc https://intelirc.toolforge.org\n    Redirect 308 /interaction-timeline https://interaction-timeline.toolforge.org\n    Redirect 308 /interactoa https://interactoa.toolforge.org\n    Redirect 308 /interact-oa https://interact-oa.toolforge.org\n    Redirect 308 /interbot https://interbot.toolforge.org\n    Redirect 308 /interlang https://interlang.toolforge.org\n    Redirect 308 /interpagelinker https://interpagelinker.toolforge.org\n    Redirect 308 /intersect-contribs https://intersect-contribs.toolforge.org\n    Redirect 308 /intuition https://intuition.toolforge.org\n    Redirect 308 /invadibot https://invadibot.toolforge.org\n    Redirect 308 /ios-crashes https://ios-crashes.toolforge.org\n    Redirect 308 /ipa-speaker https://ipa-speaker.toolforge.org\n    Redirect gone /ipchanges\n    Redirect 308 /ipcheck https://ipcheck.toolforge.org\n    Redirect 308 /ipcheck-dev https://ipcheck-dev.toolforge.org\n    Redirect 308 /ipinfo https://ipinfo.toolforge.org\n    Redirect gone /iplookup\n    Redirect 308 /ipp https://ipp.toolforge.org\n    Redirect gone /ip-range-calc\n    Redirect 308 /ipwatcher https://ipwatcher.toolforge.org\n    Redirect 308 /ipython https://ipython.toolforge.org\n    Redirect gone /irc\n    Redirect gone /ircclient\n    Redirect 308 /irc-cloaks https://irc-cloaks.toolforge.org\n    Redirect 308 /irc-cloudbot https://irc-cloudbot.toolforge.org\n    Redirect 308 /irclogbot https://irclogbot.toolforge.org\n    Redirect 308 /irclogs https://irclogs.toolforge.org\n    Redirect 308 /ircredirect https://ircredirect.toolforge.org\n    Redirect 308 /ircredirector https://ircredirector.toolforge.org\n    Redirect 308 /irc-wmt https://irc-wmt.toolforge.org\n    Redirect 308 /ireas https://ireas.toolforge.org\n    Redirect 308 /irfan https://irfan.toolforge.org\n    Redirect 308 /irishbot https://irishbot.toolforge.org\n    Redirect 308 /isa https://isa.toolforge.org\n    Redirect 308 /isbn https://isbn.toolforge.org\n    Redirect 308 /isbn2tpl https://isbn2tpl.toolforge.org\n    Redirect 308 /isbn2wiki https://isbn2wiki.toolforge.org\n    Redirect 308 /isbn-tmptest https://isbn-tmptest.toolforge.org\n    Redirect 308 /isbn-usage https://isbn-usage.toolforge.org\n    Redirect 308 /is-deployed https://is-deployed.toolforge.org\n    Redirect 308 /isin https://isin.toolforge.org\n    Redirect gone /isitdeployed\n    Redirect 308 /isprangefinder https://isprangefinder.toolforge.org\n    Redirect gone /italian-wikipedia-bar\n    Redirect 308 /itemfinder https://itemfinder.toolforge.org\n    Redirect 308 /itemlister https://itemlister.toolforge.org\n    Redirect 308 /itsource https://itsource.toolforge.org\n    Redirect 308 /itwiki https://itwiki.toolforge.org\n    Redirect 308 /itwikiarticlebot https://itwikiarticlebot.toolforge.org\n    Redirect 308 /itwikinews-rss https://itwikinews-rss.toolforge.org\n    Redirect gone /it-wiki-users-leaflet\n    Redirect 308 /itwp-deletions https://itwp-deletions.toolforge.org\n    Redirect 308 /iw https://iw.toolforge.org\n    Redirect 308 /jackbot https://jackbot.toolforge.org\n    Redirect gone /james\n    Redirect 308 /jamesur-usergroupsearch https://jamesur-usergroupsearch.toolforge.org\n    Redirect 308 /janet https://janet.toolforge.org\n    Redirect gone /jarallah\n    Redirect gone /jarallah-ii\n    Redirect gone /jarbot\n    Redirect gone /jarbot-ii\n    Redirect gone /jarbot-iii\n    Redirect 308 /jarry-common https://jarry-common.toolforge.org\n    Redirect 308 /jata https://jata.toolforge.org\n    Redirect 308 /javatest https://javatest.toolforge.org\n    Redirect 308 /jawi https://jawi.toolforge.org\n    Redirect 308 /jayprakashbot https://jayprakashbot.toolforge.org\n    Redirect 308 /jbbot https://jbbot.toolforge.org\n    Redirect 308 /jbbot2 https://jbbot2.toolforge.org\n    Redirect 308 /jeh-dev https://jeh-dev.toolforge.org\n    Redirect 308 /jeltebot https://jeltebot.toolforge.org\n    Redirect 308 /jembot https://jembot.toolforge.org\n    Redirect 308 /jeremy https://jeremy.toolforge.org\n    Redirect 308 /jeremyb https://jeremyb.toolforge.org\n    Redirect 308 /jimmy https://jimmy.toolforge.org\n    Redirect 308 /jira-bugimport https://jira-bugimport.toolforge.org\n    Redirect 308 /jitrixis-test https://jitrixis-test.toolforge.org\n    Redirect 308 /jitse-bot https://jitse-bot.toolforge.org\n    Redirect 308 /jjmc89-bot https://jjmc89-bot.toolforge.org\n    Redirect 308 /jjmc89-bot-dev https://jjmc89-bot-dev.toolforge.org\n    Redirect 308 /joanjoc https://joanjoc.toolforge.org\n    Redirect gone /joaquinito01\n    Redirect gone /jogobot\n    Redirect 308 /jogotools https://jogotools.toolforge.org\n    Redirect gone /johnlewis\n    Redirect 308 /joinedventure https://joinedventure.toolforge.org\n    Redirect 308 /jorobot https://jorobot.toolforge.org\n    Redirect 308 /josve05a-test https://josve05a-test.toolforge.org\n    Redirect 308 /jouncebot https://jouncebot.toolforge.org\n    Redirect 308 /jshint https://jshint.toolforge.org\n    Redirect 308 /jtools https://jtools.toolforge.org\n    Redirect 308 /jurgennl https://jurgennl.toolforge.org\n    Redirect 308 /jury https://jury.toolforge.org\n    Redirect 308 /justincbot https://justincbot.toolforge.org\n    Redirect 308 /k8s-status https://k8s-status.toolforge.org\n    Redirect 308 /kaare https://kaare.toolforge.org\n    Redirect 308 /kaleem-bot https://kaleem-bot.toolforge.org\n    Redirect gone /kaleem-bot-i\n    Redirect 308 /kanjybot https://kanjybot.toolforge.org\n    Redirect gone /kanzatgroup\n    Redirect 308 /karsilayici https://karsilayici.toolforge.org\n    Redirect 308 /kaspar2commons https://kaspar2commons.toolforge.org\n    Redirect 308 /kasparbot https://kasparbot.toolforge.org\n    Redirect 308 /kasper-data-translator https://kasper-data-translator.toolforge.org\n    Redirect 308 /kdb https://kdb.toolforge.org\n    Redirect 308 /kenrick95bot https://kenrick95bot.toolforge.org\n    Redirect 308 /ket-bot https://ket-bot.toolforge.org\n    Redirect 308 /keystone-browser https://keystone-browser.toolforge.org\n    Redirect 308 /khanamalumat https://khanamalumat.toolforge.org\n    Redirect gone /khanomalumat\n    Redirect 308 /kharbot https://kharbot.toolforge.org\n    Redirect 308 /khebi https://khebi.toolforge.org\n    Redirect 308 /kian https://kian.toolforge.org\n    Redirect gone /kirstentest\n    Redirect 308 /klossebot https://klossebot.toolforge.org\n    Redirect 308 /kmlexport https://kmlexport.toolforge.org\n    Redirect gone /kmlexport-cswiki\n    Redirect 308 /knowledgegrapher https://knowledgegrapher.toolforge.org\n    Redirect 308 /kokolores https://kokolores.toolforge.org\n    Redirect 308 /kolbert https://kolbert.toolforge.org\n    Redirect gone /kolega\n    Redirect gone /kolega2357\n    Redirect 308 /kotools https://kotools.toolforge.org\n    Redirect 308 /kowikitools https://kowikitools.toolforge.org\n    Redirect 308 /krdbot https://krdbot.toolforge.org\n    Redirect 308 /krinklebot https://krinklebot.toolforge.org\n    Redirect 308 /krinkle-redirect https://krinkle-redirect.toolforge.org\n    Redirect 308 /ksamsok-rest https://ksamsok-rest.toolforge.org\n    Redirect 308 /ktc https://ktc.toolforge.org\n    Redirect 308 /kuwaity-tool https://kuwaity-tool.toolforge.org\n    Redirect 308 /l235-bot https://l235-bot.toolforge.org\n    Redirect 308 /l235-irc https://l235-irc.toolforge.org\n    Redirect 308 /laaknortools https://laaknortools.toolforge.org\n    Redirect 308 /labelimgohs https://labelimgohs.toolforge.org\n    Redirect gone /labstore-profiling\n    Redirect gone /lahitools\n    Redirect 308 /lalm https://lalm.toolforge.org\n    Redirect 308 /lambdabot https://lambdabot.toolforge.org\n    Redirect 308 /languagebar-ui https://languagebar-ui.toolforge.org\n    Redirect 308 /languageproofing https://languageproofing.toolforge.org\n    Redirect 308 /languageproofing-ui https://languageproofing-ui.toolforge.org\n    Redirect gone /languagetool\n    Redirect 308 /langviews https://langviews.toolforge.org\n    Redirect gone /langviews-test\n    Redirect 308 /largedatasetbot https://largedatasetbot.toolforge.org\n    Redirect gone /lastactiveadms\n    Redirect 308 /lastpics https://lastpics.toolforge.org\n    Redirect 308 /lbenedix https://lbenedix.toolforge.org\n    Redirect 308 /lcm-dashboard https://lcm-dashboard.toolforge.org\n    Redirect 308 /ldap https://ldap.toolforge.org\n    Redirect gone /ldap-beta\n    Redirect 308 /lebot https://lebot.toolforge.org\n    Redirect 308 /legobot https://legobot.toolforge.org\n    Redirect 308 /legobot-2 https://legobot-2.toolforge.org\n    Redirect gone /legoktm-adminbots\n    Redirect 308 /leptibot https://leptibot.toolforge.org\n    Redirect 308 /lestaty https://lestaty.toolforge.org\n    Redirect gone /lets-translate\n    Redirect 308 /lexeme-forms https://lexeme-forms.toolforge.org\n    Redirect 308 /lexeme-senses https://lexeme-senses.toolforge.org\n    Redirect 308 /liangent https://liangent.toolforge.org\n    Redirect 308 /liangent-django https://liangent-django.toolforge.org\n    Redirect 308 /liangent-migration-test https://liangent-migration-test.toolforge.org\n    Redirect 308 /liangent-misc https://liangent-misc.toolforge.org\n    Redirect 308 /liangent-php https://liangent-php.toolforge.org\n    Redirect 308 /liangent-py https://liangent-py.toolforge.org\n    Redirect 308 /liangent-shared https://liangent-shared.toolforge.org\n    Redirect 308 /liangent-toolserver https://liangent-toolserver.toolforge.org\n    Redirect gone /lib\n    Redirect gone /librarybase-db\n    Redirect 308 /librarybase-updater https://librarybase-updater.toolforge.org\n    Redirect 308 /libraryupgrader https://libraryupgrader.toolforge.org\n    Redirect 308 /librewiki https://librewiki.toolforge.org\n    Redirect 308 /liepp https://liepp.toolforge.org\n    Redirect 308 /lifeweb https://lifeweb.toolforge.org\n    Redirect 308 /lighttpd-test https://lighttpd-test.toolforge.org\n    Redirect 308 /lijebot https://lijebot.toolforge.org\n    Redirect gone /lilbit\n    Redirect 308 /lil-cvn https://lil-cvn.toolforge.org\n    Redirect 308 /limesmap https://limesmap.toolforge.org\n    Redirect 308 /lincolnbot https://lincolnbot.toolforge.org\n    Redirect 308 /linedwell https://linedwell.toolforge.org\n    Redirect 308 /lingua-libre https://lingua-libre.toolforge.org\n    Redirect 308 /linkedpageviews https://linkedpageviews.toolforge.org\n    Redirect 308 /linkscount https://linkscount.toolforge.org\n    Redirect 308 /linksearch https://linksearch.toolforge.org\n    Redirect gone /linkspam\n    Redirect 308 /linkstranslator https://linkstranslator.toolforge.org\n    Redirect 308 /linkwatcher https://linkwatcher.toolforge.org\n    Redirect 308 /linkybot https://linkybot.toolforge.org\n    Redirect 308 /linkypedia https://linkypedia.toolforge.org\n    Redirect 308 /list https://list.toolforge.org\n    Redirect 308 /listeria https://listeria.toolforge.org\n    Redirect 308 /listpages https://listpages.toolforge.org\n    Redirect 308 /lists https://lists.toolforge.org\n    Redirect gone /listunpatrolledpages\n    Redirect gone /livingstyleguide-prototype\n    Redirect 308 /lkftools https://lkftools.toolforge.org\n    Redirect gone /local-awb\n    Redirect gone /local-library-fulltext\n    Redirect gone /local-maps\n    Redirect gone /local-oclc-reference\n    Redirect 308 /local-reference-api https://local-reference-api.toolforge.org\n    Redirect 308 /local-root https://local-root.toolforge.org\n    Redirect 308 /local-southparkfan https://local-southparkfan.toolforge.org\n    Redirect gone /local-wikipedia-library-reference\n    Redirect 308 /locator https://locator.toolforge.org\n    Redirect 308 /locatorbot https://locatorbot.toolforge.org\n    Redirect 308 /locator-tool https://locator-tool.toolforge.org\n    Redirect gone /locktool\n    Redirect gone /logger\n    Redirect 308 /logojudge https://logojudge.toolforge.org\n    Redirect 308 /logoscope https://logoscope.toolforge.org\n    Redirect 308 /logs https://logs.toolforge.org\n    Redirect 308 /lolrrit-wm https://lolrrit-wm.toolforge.org\n    Redirect 308 /loltools https://loltools.toolforge.org\n    Redirect 308 /loltools-testing https://loltools-testing.toolforge.org\n    Redirect gone /loltrs\n    Redirect 308 /lonelylinks https://lonelylinks.toolforge.org\n    Redirect gone /low\n    Redirect 308 /lp-tools https://lp-tools.toolforge.org\n    Redirect 308 /lrbot https://lrbot.toolforge.org\n    Redirect 308 /lrtools https://lrtools.toolforge.org\n    Redirect 308 /lst-guard https://lst-guard.toolforge.org\n    Redirect gone /lta\n    Redirect 308 /ltfeedchecker https://ltfeedchecker.toolforge.org\n    Redirect 308 /lua-catscan2 https://lua-catscan2.toolforge.org\n    Redirect 308 /luke081515bot https://luke081515bot.toolforge.org\n    Redirect 308 /luke081515bot-beta https://luke081515bot-beta.toolforge.org\n    Redirect 308 /luke081515bot-dev https://luke081515bot-dev.toolforge.org\n    Redirect 308 /lyan https://lyan.toolforge.org\n    Redirect 308 /lynxbot https://lynxbot.toolforge.org\n    Redirect 308 /lziad https://lziad.toolforge.org\n    Redirect 308 /lziad-cvnbot https://lziad-cvnbot.toolforge.org\n    Redirect 308 /mabot https://mabot.toolforge.org\n    Redirect 308 /macfanbot https://macfanbot.toolforge.org\n    Redirect 308 /macfanlogbot https://macfanlogbot.toolforge.org\n    Redirect 308 /machtsinn https://machtsinn.toolforge.org\n    Redirect 308 /machtsinn-dev https://machtsinn-dev.toolforge.org\n    Redirect 308 /macommune https://macommune.toolforge.org\n    Redirect 308 /magnustools https://magnustools.toolforge.org\n    Redirect 308 /magnus-toolserver https://magnus-toolserver.toolforge.org\n    Redirect 308 /magog https://magog.toolforge.org\n    Redirect 308 /mahdiz https://mahdiz.toolforge.org\n    Redirect gone /maintainers\n    Redirect 308 /maintenance-bot https://maintenance-bot.toolforge.org\n    Redirect 308 /maintgraph https://maintgraph.toolforge.org\n    Redirect gone /maintun\n    Redirect 308 /maiwiki-editathon https://maiwiki-editathon.toolforge.org\n    Redirect 308 /majavah-bot https://majavah-bot.toolforge.org\n    Redirect 308 /makeref https://makeref.toolforge.org\n    Redirect 308 /manishearth https://manishearth.toolforge.org\n    Redirect 308 /manypedia https://manypedia.toolforge.org\n    Redirect 308 /map https://map.toolforge.org\n    Redirect 308 /mapillary-commons https://mapillary-commons.toolforge.org\n    Redirect 308 /maplayers-demo https://maplayers-demo.toolforge.org\n    Redirect gone /maplink-generator\n    Redirect 308 /map-of-monuments https://map-of-monuments.toolforge.org\n    Redirect 308 /maps https://maps.toolforge.org\n    Redirect 308 /map-search https://map-search.toolforge.org\n    Redirect 308 /mapycz https://mapycz.toolforge.org\n    Redirect gone /mardetanha-dev\n    Redirect 308 /maria https://maria.toolforge.org\n    Redirect 308 /masscamps https://masscamps.toolforge.org\n    Redirect 308 /massmailer https://massmailer.toolforge.org\n    Redirect 308 /masssly-test-tool https://masssly-test-tool.toolforge.org\n    Redirect 308 /massviews https://massviews.toolforge.org\n    Redirect gone /massviews-test\n    Redirect gone /math\n    Redirect 308 /mathbot https://mathbot.toolforge.org\n    Redirect 308 /mathqa https://mathqa.toolforge.org\n    Redirect gone /matilda\n    Redirect 308 /matsubot https://matsubot.toolforge.org\n    Redirect 308 /matthewrbot https://matthewrbot.toolforge.org\n    Redirect 308 /matthewrbot-dev https://matthewrbot-dev.toolforge.org\n    Redirect 308 /matthewrbowker https://matthewrbowker.toolforge.org\n    Redirect gone /matthewrbowker-dev\n    Redirect 308 /matthobot https://matthobot.toolforge.org\n    Redirect 308 /matvaretabellen https://matvaretabellen.toolforge.org\n    Redirect 308 /maurelio https://maurelio.toolforge.org\n    Redirect 308 /mavrikant https://mavrikant.toolforge.org\n    Redirect 308 /mbh https://mbh.toolforge.org\n    Redirect 308 /mbrt1 https://mbrt1.toolforge.org\n    Redirect 308 /mc8 https://mc8.toolforge.org\n    Redirect gone /mdaniels-acc-dev\n    Redirect 308 /mdanielsbot https://mdanielsbot.toolforge.org\n    Redirect gone /mdaniels-licencehelper\n    Redirect 308 /mdaniels-ogrebot https://mdaniels-ogrebot.toolforge.org\n    Redirect gone /mdaniels-refill-ng\n    Redirect gone /mdaniels-refill-ng-api\n    Redirect 308 /mdann52bot https://mdann52bot.toolforge.org\n    Redirect 308 /mdvt https://mdvt.toolforge.org\n    Redirect 308 /mediacounts https://mediacounts.toolforge.org\n    Redirect 308 /media-dubiety https://media-dubiety.toolforge.org\n    Redirect gone /mediaplaycounts\n    Redirect 308 /media-reports https://media-reports.toolforge.org\n    Redirect 308 /mediaviews https://mediaviews.toolforge.org\n    Redirect 308 /mediaviews-api https://mediaviews-api.toolforge.org\n    Redirect gone /mediawiki2latex\n    Redirect 308 /mediawiki-feeds https://mediawiki-feeds.toolforge.org\n    Redirect gone /mediawiki-mc\n    Redirect gone /mediawiki-mirror\n    Redirect 308 /medusatest https://medusatest.toolforge.org\n    Redirect 308 /meetbot https://meetbot.toolforge.org\n    Redirect 308 /meetingtimes https://meetingtimes.toolforge.org\n    Redirect 308 /megacron https://megacron.toolforge.org\n    Redirect 308 /mehrdadbot https://mehrdadbot.toolforge.org\n    Redirect 308 /memberbot https://memberbot.toolforge.org\n    Redirect 308 /menobot https://menobot.toolforge.org\n    Redirect 308 /merge2pdf https://merge2pdf.toolforge.org\n    Redirect 308 /merlbot https://merlbot.toolforge.org\n    Redirect 308 /merlbot2 https://merlbot2.toolforge.org\n    Redirect 308 /merlbot-read https://merlbot-read.toolforge.org\n    Redirect 308 /merlbot-web https://merlbot-web.toolforge.org\n    Redirect 308 /merl-dev https://merl-dev.toolforge.org\n    Redirect gone /merliwbot\n    Redirect gone /messenger-chatbot\n    Redirect 308 /meta https://meta.toolforge.org\n    Redirect 308 /meta2 https://meta2.toolforge.org\n    Redirect 308 /meta-dev https://meta-dev.toolforge.org\n    Redirect 308 /metamine https://metamine.toolforge.org\n    Redirect 308 /metaviews https://metaviews.toolforge.org\n    Redirect 308 /metmuseum https://metmuseum.toolforge.org\n    Redirect 308 /metricslibrary https://metricslibrary.toolforge.org\n    Redirect 308 /metricslibrary-dev https://metricslibrary-dev.toolforge.org\n    Redirect 308 /mfnf-export https://mfnf-export.toolforge.org\n    Redirect 308 /mfw-bww https://mfw-bww.toolforge.org\n    Redirect 308 /mg-bot https://mg-bot.toolforge.org\n    Redirect gone /mh-signbot\n    Redirect gone /mhwikibot\n    Redirect gone /mide\n    Redirect gone /mide-dev\n    Redirect 308 /mifterbot https://mifterbot.toolforge.org\n    Redirect 308 /mifterbot-en https://mifterbot-en.toolforge.org\n    Redirect 308 /milhistbot https://milhistbot.toolforge.org\n    Redirect 308 /mirador https://mirador.toolforge.org\n    Redirect gone /miraheze-discord-irc\n    Redirect gone /miraheze-notifico\n    Redirect 308 /mirusbot https://mirusbot.toolforge.org\n    Redirect 308 /misc2svg https://misc2svg.toolforge.org\n    Redirect 308 /missing-from-wikipedia https://missing-from-wikipedia.toolforge.org\n    Redirect 308 /missingpages https://missingpages.toolforge.org\n    Redirect 308 /missingtopics https://missingtopics.toolforge.org\n    Redirect 308 /missing-value https://missing-value.toolforge.org\n    Redirect 308 /mitmachen https://mitmachen.toolforge.org\n    Redirect 308 /mix-n-match https://mix-n-match.toolforge.org\n    Redirect 308 /mjbmr https://mjbmr.toolforge.org\n    Redirect 308 /mjbmrbot https://mjbmrbot.toolforge.org\n    Redirect 308 /mjbmr-tools https://mjbmr-tools.toolforge.org\n    Redirect 308 /mjlbot https://mjlbot.toolforge.org\n    Redirect 308 /mlbt https://mlbt.toolforge.org\n    Redirect 308 /mlwikidbupdate https://mlwikidbupdate.toolforge.org\n    Redirect 308 /mlwikisource https://mlwikisource.toolforge.org\n    Redirect 308 /mmt https://mmt.toolforge.org\n    Redirect gone /mobile\n    Redirect 308 /moedata https://moedata.toolforge.org\n    Redirect 308 /mohammedbot https://mohammedbot.toolforge.org\n    Redirect 308 /mohib https://mohib.toolforge.org\n    Redirect 308 /mohiburdu https://mohiburdu.toolforge.org\n    Redirect gone /monaco\n    Redirect 308 /mono https://mono.toolforge.org\n    Redirect 308 /montage https://montage.toolforge.org\n    Redirect 308 /montage-beta https://montage-beta.toolforge.org\n    Redirect 308 /montage-dev https://montage-dev.toolforge.org\n    Redirect 308 /monumental https://monumental.toolforge.org\n    Redirect 308 /monumental-glam https://monumental-glam.toolforge.org\n    Redirect gone /morebots\n    Redirect gone /morfeusz\n    Redirect 308 /mormegil https://mormegil.toolforge.org\n    Redirect 308 /morph https://morph.toolforge.org\n    Redirect 308 /morphtool https://morphtool.toolforge.org\n    Redirect 308 /mortar https://mortar.toolforge.org\n    Redirect gone /mostlinkedmissing\n    Redirect 308 /most-readable-pages https://most-readable-pages.toolforge.org\n    Redirect 308 /most-wanted https://most-wanted.toolforge.org\n    Redirect gone /move\n    Redirect 308 /movecat https://movecat.toolforge.org\n    Redirect 308 /movestats https://movestats.toolforge.org\n    Redirect 308 /mp https://mp.toolforge.org\n    Redirect 308 /mpaatools https://mpaatools.toolforge.org\n    Redirect 308 /mrakinsey https://mrakinsey.toolforge.org\n    Redirect 308 /mrbluebot https://mrbluebot.toolforge.org\n    Redirect gone /mrmetadata\n    Redirect 308 /msbits https://msbits.toolforge.org\n    Redirect 308 /mscbot https://mscbot.toolforge.org\n    Redirect 308 /mstools https://mstools.toolforge.org\n    Redirect 308 /msynbot https://msynbot.toolforge.org\n    Redirect gone /mtc-rest\n    Redirect gone /mu\n    Redirect 308 /multichill https://multichill.toolforge.org\n    Redirect 308 /multicompare https://multicompare.toolforge.org\n    Redirect 308 /multidesc https://multidesc.toolforge.org\n    Redirect 308 /muninnbot https://muninnbot.toolforge.org\n    Redirect 308 /murbot https://murbot.toolforge.org\n    Redirect 308 /musikanimal https://musikanimal.toolforge.org\n    Redirect gone /musikanimal-test\n    Redirect 308 /musikbot https://musikbot.toolforge.org\n    Redirect 308 /mw2sparql https://mw2sparql.toolforge.org\n    Redirect gone /mwcoreteam\n    Redirect gone /mwhook-bot\n    Redirect 308 /mwlint https://mwlint.toolforge.org\n    Redirect 308 /mwp https://mwp.toolforge.org\n    Redirect 308 /mwpackages https://mwpackages.toolforge.org\n    Redirect 308 /mwph-api https://mwph-api.toolforge.org\n    Redirect 308 /mwp-testing https://mwp-testing.toolforge.org\n    Redirect 308 /mwstew https://mwstew.toolforge.org\n    Redirect 308 /mwversion https://mwversion.toolforge.org\n    Redirect 308 /mybot https://mybot.toolforge.org\n    Redirect 308 /my-first-django-oauth-app https://my-first-django-oauth-app.toolforge.org\n    Redirect 308 /my-first-django-tool https://my-first-django-tool.toolforge.org\n    Redirect 308 /my-first-flask-oauth-tool https://my-first-flask-oauth-tool.toolforge.org\n    Redirect 308 /my-first-flask-tool https://my-first-flask-tool.toolforge.org\n    Redirect 308 /my-first-pywikibot-tool https://my-first-pywikibot-tool.toolforge.org\n    Redirect gone /my_first_tool\n    Redirect gone /myrcx\n    Redirect 308 /mysql-php-session-test https://mysql-php-session-test.toolforge.org\n    Redirect 308 /my-threads https://my-threads.toolforge.org\n    Redirect gone /mywikitool\n    Redirect gone /mzmcbride\n    Redirect 308 /nada https://nada.toolforge.org\n    Redirect 308 /nagf https://nagf.toolforge.org\n    Redirect 308 /nakon https://nakon.toolforge.org\n    Redirect 308 /namakemono https://namakemono.toolforge.org\n    Redirect 308 /napalmbot https://napalmbot.toolforge.org\n    Redirect 308 /napalmbot-sah https://napalmbot-sah.toolforge.org\n    Redirect gone /napalmtools\n    Redirect 308 /nara https://nara.toolforge.org\n    Redirect 308 /nasirkhanbot https://nasirkhanbot.toolforge.org\n    Redirect 308 /nasirkhantools https://nasirkhantools.toolforge.org\n    Redirect 308 /navlink-recommendation https://navlink-recommendation.toolforge.org\n    Redirect 308 /nearby-places-viewer https://nearby-places-viewer.toolforge.org\n    Redirect 308 /neechal https://neechal.toolforge.org\n    Redirect 308 /neechalbot https://neechalbot.toolforge.org\n    Redirect 308 /negative24-bottesting https://negative24-bottesting.toolforge.org\n    Redirect 308 /neuraltricity https://neuraltricity.toolforge.org\n    Redirect 308 /neuromat https://neuromat.toolforge.org\n    Redirect 308 /newbie-uploads https://newbie-uploads.toolforge.org\n    Redirect gone /newfiles\n    Redirect 308 /newiki-editathon https://newiki-editathon.toolforge.org\n    Redirect 308 /new-q5 https://new-q5.toolforge.org\n    Redirect 308 /new-uploads-refresher https://new-uploads-refresher.toolforge.org\n    Redirect 308 /newusers https://newusers.toolforge.org\n    Redirect 308 /newwebtest https://newwebtest.toolforge.org\n    Redirect gone /newyorkadam\n    Redirect 308 /nfcbot https://nfcbot.toolforge.org\n    Redirect 308 /nicepedia https://nicepedia.toolforge.org\n    Redirect gone /ninjastrikers\n    Redirect 308 /ninobot https://ninobot.toolforge.org\n    Redirect 308 /ninobott https://ninobott.toolforge.org\n    Redirect gone /ninthcircuit\n    Redirect gone /niosh\n    Redirect 308 /nitlow https://nitlow.toolforge.org\n    Redirect 308 /nitolw https://nitolw.toolforge.org\n    Redirect 308 /njsbot https://njsbot.toolforge.org\n    Redirect 308 /nli-wiki https://nli-wiki.toolforge.org\n    Redirect 308 /nlwikibots https://nlwikibots.toolforge.org\n    Redirect 308 /nlwikt-tools https://nlwikt-tools.toolforge.org\n    Redirect gone /nn1l2bot\n    Redirect 308 /noaabot https://noaabot.toolforge.org\n    Redirect 308 /noclaims https://noclaims.toolforge.org\n    Redirect 308 /nodejs-mw-oauth-tool https://nodejs-mw-oauth-tool.toolforge.org\n    Redirect 308 /nodetree https://nodetree.toolforge.org\n    Redirect 308 /nomad https://nomad.toolforge.org\n    Redirect 308 /nominatim https://nominatim.toolforge.org\n    Redirect 308 /nordic-museum-depicts https://nordic-museum-depicts.toolforge.org\n    Redirect gone /noref\n    Redirect 308 /notebooks https://notebooks.toolforge.org\n    Redirect 308 /notif-bot https://notif-bot.toolforge.org\n    Redirect 308 /not-in-the-other-language https://not-in-the-other-language.toolforge.org\n    Redirect 308 /npp https://npp.toolforge.org\n    Redirect 308 /nppbrowser https://nppbrowser.toolforge.org\n    Redirect 308 /nppdash https://nppdash.toolforge.org\n    Redirect 308 /npp-lv https://npp-lv.toolforge.org\n    Redirect 308 /nrhpservice https://nrhpservice.toolforge.org\n    Redirect 308 /nsfw https://nsfw.toolforge.org\n    Redirect 308 /nullbot https://nullbot.toolforge.org\n    Redirect 308 /nullzero https://nullzero.toolforge.org\n    Redirect 308 /nullzerobot https://nullzerobot.toolforge.org\n    Redirect 308 /nyandata https://nyandata.toolforge.org\n    Redirect 308 /oabot https://oabot.toolforge.org\n    Redirect 308 /oabot-wd-game https://oabot-wd-game.toolforge.org\n    Redirect gone /oar\n    Redirect 308 /oauth-hello-world https://oauth-hello-world.toolforge.org\n    Redirect 308 /oauthtest https://oauthtest.toolforge.org\n    Redirect 308 /obaid https://obaid.toolforge.org\n    Redirect 308 /ocgepub https://ocgepub.toolforge.org\n    Redirect 308 /ocounter https://ocounter.toolforge.org\n    Redirect 308 /ocr4wikisource https://ocr4wikisource.toolforge.org\n    Redirect 308 /ocrtoy https://ocrtoy.toolforge.org\n    Redirect 308 /octodata https://octodata.toolforge.org\n    Redirect 308 /octrabot https://octrabot.toolforge.org\n    Redirect gone /odder-dev\n    Redirect 308 /oddol https://oddol.toolforge.org\n    Redirect 308 /okmaps https://okmaps.toolforge.org\n    Redirect 308 /olsibot https://olsibot.toolforge.org\n    Redirect 308 /olympics https://olympics.toolforge.org\n    Redirect 308 /omarghridabot https://omarghridabot.toolforge.org\n    Redirect gone /oncall\n    Redirect gone /onetools\n    Redirect 308 /oojs-ui https://oojs-ui.toolforge.org\n    Redirect 308 /ooui-debug https://ooui-debug.toolforge.org\n    Redirect 308 /opendatasets https://opendatasets.toolforge.org\n    Redirect 308 /openhatch-wiki https://openhatch-wiki.toolforge.org\n    Redirect 308 /openipmap https://openipmap.toolforge.org\n    Redirect 308 /openrefine-wikidata https://openrefine-wikidata.toolforge.org\n    Redirect 308 /openstack-browser https://openstack-browser.toolforge.org\n    Redirect 308 /openstack-browser-dev https://openstack-browser-dev.toolforge.org\n    Redirect 308 /oqtools https://oqtools.toolforge.org\n    Redirect 308 /orator-matcher https://orator-matcher.toolforge.org\n    Redirect 308 /order-user-by-reg https://order-user-by-reg.toolforge.org\n    Redirect 308 /ordia https://ordia.toolforge.org\n    Redirect 308 /orejasbot https://orejasbot.toolforge.org\n    Redirect 308 /ores https://ores.toolforge.org\n    Redirect gone /ores-afc\n    Redirect 308 /ores-demos https://ores-demos.toolforge.org\n    Redirect 308 /ores-support-checklist https://ores-support-checklist.toolforge.org\n    Redirect 308 /orphan-groups https://orphan-groups.toolforge.org\n    Redirect 308 /orphantalk https://orphantalk.toolforge.org\n    Redirect 308 /orpheus https://orpheus.toolforge.org\n    Redirect 308 /orwell01 https://orwell01.toolforge.org\n    Redirect 308 /orwell02 https://orwell02.toolforge.org\n    Redirect 308 /os https://os.toolforge.org\n    Redirect 308 /oscoor https://oscoor.toolforge.org\n    Redirect 308 /os-deprecation https://os-deprecation.toolforge.org\n    Redirect 308 /osm https://osm.toolforge.org\n    Redirect 308 /osm4wiki https://osm4wiki.toolforge.org\n    Redirect 308 /osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 308 /osmbstat https://osmbstat.toolforge.org\n    Redirect 308 /osmcounts https://osmcounts.toolforge.org\n    Redirect 308 /osm-gadget https://osm-gadget.toolforge.org\n    Redirect 308 /osm-gadget-leaflet https://osm-gadget-leaflet.toolforge.org\n    Redirect 308 /osmkmlmap https://osmkmlmap.toolforge.org\n    Redirect 308 /osmlint https://osmlint.toolforge.org\n    Redirect 308 /otrs-helper https://otrs-helper.toolforge.org\n    Redirect 308 /otrsreports https://otrsreports.toolforge.org\n    Redirect 308 /oubli-signature-bot https://oubli-signature-bot.toolforge.org\n    Redirect gone /ouda\n    Redirect 308 /oudabot https://oudabot.toolforge.org\n    Redirect gone /outofband\n    Redirect 308 /outreachy-hiteshpr https://outreachy-hiteshpr.toolforge.org\n    Redirect 308 /outreachy-recent-edits-tool https://outreachy-recent-edits-tool.toolforge.org\n    Redirect 308 /outreachy-sagorika1996 https://outreachy-sagorika1996.toolforge.org\n    Redirect 308 /outreachy-sayani-tool https://outreachy-sayani-tool.toolforge.org\n    Redirect 308 /outreachy-shipra https://outreachy-shipra.toolforge.org\n    Redirect 308 /outreachy-user-contribution-tool https://outreachy-user-contribution-tool.toolforge.org\n    Redirect 308 /outreachy-useredits https://outreachy-useredits.toolforge.org\n    Redirect 308 /outreachy-userrank https://outreachy-userrank.toolforge.org\n    Redirect 308 /outreachy-user-ranking-tool https://outreachy-user-ranking-tool.toolforge.org\n    Redirect 308 /outreachy-wikicv https://outreachy-wikicv.toolforge.org\n    Redirect gone /outreacy-wikicv\n    Redirect 308 /owintes https://owintes.toolforge.org\n    Redirect 308 /p4-linkie https://p4-linkie.toolforge.org\n    Redirect 308 /pacetrack https://pacetrack.toolforge.org\n    Redirect 308 /pagecount https://pagecount.toolforge.org\n    Redirect 308 /pagecounts https://pagecounts.toolforge.org\n    Redirect 308 /pagepile https://pagepile.toolforge.org\n    Redirect 308 /pagepile-visual-filter https://pagepile-visual-filter.toolforge.org\n    Redirect 308 /pageshift https://pageshift.toolforge.org\n    Redirect 308 /pageviews https://pageviews.toolforge.org\n    Redirect 308 /pageviews-test https://pageviews-test.toolforge.org\n    Redirect gone /paid\n    Redirect gone /palmleaf-transcriber\n    Redirect 308 /pandata https://pandata.toolforge.org\n    Redirect 308 /panderine https://panderine.toolforge.org\n    Redirect 308 /panoviewer https://panoviewer.toolforge.org\n    Redirect 308 /para https://para.toolforge.org\n    Redirect 308 /parliamentdiagram https://parliamentdiagram.toolforge.org\n    Redirect 308 /parliament-diagram-generator https://parliament-diagram-generator.toolforge.org\n    Redirect gone /parsec\n    Redirect 308 /passlicense https://passlicense.toolforge.org\n    Redirect 308 /paste https://paste.toolforge.org\n    Redirect 308 /pastebin https://pastebin.toolforge.org\n    Redirect 308 /paste-test https://paste-test.toolforge.org\n    Redirect 308 /pathbot-test-1 https://pathbot-test-1.toolforge.org\n    Redirect 308 /pathoschild-contrib https://pathoschild-contrib.toolforge.org\n    Redirect 308 /pathway-viewer https://pathway-viewer.toolforge.org\n    Redirect 308 /patrall https://patrall.toolforge.org\n    Redirect 308 /patrollerinfo https://patrollerinfo.toolforge.org\n    Redirect 308 /patrolstats https://patrolstats.toolforge.org\n    Redirect gone /patrubot\n    Redirect 308 /pavlochembot https://pavlochembot.toolforge.org\n    Redirect 308 /paws https://paws.toolforge.org\n    Redirect 308 /paws-beta https://paws-beta.toolforge.org\n    Redirect 308 /paws-dev https://paws-dev.toolforge.org\n    Redirect 308 /paws-public https://paws-public.toolforge.org\n    Redirect 308 /paws-published https://paws-published.toolforge.org\n    Redirect 308 /paws-stats https://paws-stats.toolforge.org\n    Redirect 308 /paws-status https://paws-status.toolforge.org\n    Redirect 308 /paws-support https://paws-support.toolforge.org\n    Redirect 308 /payravi https://payravi.toolforge.org\n    Redirect 308 /pb https://pb.toolforge.org\n    Redirect 308 /pbbot https://pbbot.toolforge.org\n    Redirect 308 /peachy https://peachy.toolforge.org\n    Redirect 308 /peachy-docs https://peachy-docs.toolforge.org\n    Redirect 308 /pearbot https://pearbot.toolforge.org\n    Redirect 308 /pearbot2 https://pearbot2.toolforge.org\n    Redirect 308 /peek https://peek.toolforge.org\n    Redirect 308 /perebot https://perebot.toolforge.org\n    Redirect 308 /perfectbot https://perfectbot.toolforge.org\n    Redirect 308 /perfect-venn-diagram-generator https://perfect-venn-diagram-generator.toolforge.org\n    Redirect 308 /perflogbot https://perflogbot.toolforge.org\n    Redirect 308 /periodibot https://periodibot.toolforge.org\n    Redirect gone /periodssuck\n    Redirect gone /permission-denied-test\n    Redirect gone /perrybot\n    Redirect 308 /personabot https://personabot.toolforge.org\n    Redirect 308 /persondata https://persondata.toolforge.org\n    Redirect gone /petscan-md\n    Redirect 308 /pg2ws https://pg2ws.toolforge.org\n    Redirect gone /pgrmeval\n    Redirect 308 /phab-ban https://phab-ban.toolforge.org\n    Redirect 308 /phabbot https://phabbot.toolforge.org\n    Redirect 308 /phabricator-bug-status https://phabricator-bug-status.toolforge.org\n    Redirect 308 /phabricator-reporter https://phabricator-reporter.toolforge.org\n    Redirect gone /phab-search\n    Redirect 308 /phabsearchemail https://phabsearchemail.toolforge.org\n    Redirect 308 /phabulous https://phabulous.toolforge.org\n    Redirect gone /phamhi-tool\n    Redirect 308 /phantombot https://phantombot.toolforge.org\n    Redirect 308 /phetools https://phetools.toolforge.org\n    Redirect 308 /phoenix9 https://phoenix9.toolforge.org\n    Redirect 308 /phpcs https://phpcs.toolforge.org\n    Redirect 308 /phpinfo https://phpinfo.toolforge.org\n    Redirect gone /phragile\n    Redirect 308 /piagetbot https://piagetbot.toolforge.org\n    Redirect 308 /piagetenwiki https://piagetenwiki.toolforge.org\n    Redirect 308 /pibot https://pibot.toolforge.org\n    Redirect 308 /pib-upload https://pib-upload.toolforge.org\n    Redirect 308 /pileviews https://pileviews.toolforge.org\n    Redirect 308 /ping08bot https://ping08bot.toolforge.org\n    Redirect 308 /pinyin-wiki https://pinyin-wiki.toolforge.org\n    Redirect 308 /pipeng https://pipeng.toolforge.org\n    Redirect 308 /pirsquared https://pirsquared.toolforge.org\n    Redirect 308 /pisgbot https://pisgbot.toolforge.org\n    Redirect 308 /pitsilemu https://pitsilemu.toolforge.org\n    Redirect 308 /plagiabot https://plagiabot.toolforge.org\n    Redirect 308 /plaigsossbot https://plaigsossbot.toolforge.org\n    Redirect 308 /plaintexteditcounter https://plaintexteditcounter.toolforge.org\n    Redirect 308 /planettoearth https://planettoearth.toolforge.org\n    Redirect 308 /plantel2wiki https://plantel2wiki.toolforge.org\n    Redirect 308 /plasmahelp https://plasmahelp.toolforge.org\n    Redirect gone /platypus-qa\n    Redirect 308 /plnode https://plnode.toolforge.org\n    Redirect 308 /plstools https://plstools.toolforge.org\n    Redirect 308 /pltools https://pltools.toolforge.org\n    Redirect 308 /pmidtool https://pmidtool.toolforge.org\n    Redirect 308 /poiimport https://poiimport.toolforge.org\n    Redirect 308 /popularpages https://popularpages.toolforge.org\n    Redirect 308 /popularpages-dev https://popularpages-dev.toolforge.org\n    Redirect 308 /portal https://portal.toolforge.org\n    Redirect 308 /portalbox https://portalbox.toolforge.org\n    Redirect gone /portal-stats\n    Redirect 308 /position-holder-history https://position-holder-history.toolforge.org\n    Redirect 308 /potd https://potd.toolforge.org\n    Redirect 308 /potd-feed https://potd-feed.toolforge.org\n    Redirect 308 /potd-viewer https://potd-viewer.toolforge.org\n    Redirect 308 /potrace https://potrace.toolforge.org\n    Redirect 308 /poty https://poty.toolforge.org\n    Redirect 308 /povoconta https://povoconta.toolforge.org\n    Redirect 308 /powow https://powow.toolforge.org\n    Redirect gone /ppp-sparql\n    Redirect gone /precise-tools\n    Redirect 308 /prefbot https://prefbot.toolforge.org\n    Redirect gone /primary-sources-v2\n    Redirect 308 /primebot https://primebot.toolforge.org\n    Redirect 308 /prime-draftnocat https://prime-draftnocat.toolforge.org\n    Redirect 308 /primerpedia https://primerpedia.toolforge.org\n    Redirect gone /prism\n    Redirect gone /projanalysis\n    Redirect gone /project-fa\n    Redirect 308 /projector https://projector.toolforge.org\n    Redirect 308 /projektneuheiten-feed https://projektneuheiten-feed.toolforge.org\n    Redirect gone /projetpp\n    Redirect gone /prometheus\n    Redirect 308 /prompter https://prompter.toolforge.org\n    Redirect 308 /proneval https://proneval.toolforge.org\n    Redirect 308 /proneval-gsoc17 https://proneval-gsoc17.toolforge.org\n    Redirect gone /propertyuse\n    Redirect 308 /prop-explorer https://prop-explorer.toolforge.org\n    Redirect 308 /prosjektbot https://prosjektbot.toolforge.org\n    Redirect gone /proxies\n    Redirect 308 /prvnotifications https://prvnotifications.toolforge.org\n    Redirect 308 /ptable https://ptable.toolforge.org\n    Redirect 308 /ptbot https://ptbot.toolforge.org\n    Redirect 308 /ptbots https://ptbots.toolforge.org\n    Redirect 308 /ptools https://ptools.toolforge.org\n    Redirect 308 /ptwikis https://ptwikis.toolforge.org\n    Redirect 308 /pub https://pub.toolforge.org\n    Redirect 308 /pubchem-wikidata-updates https://pubchem-wikidata-updates.toolforge.org\n    Redirect 308 /purger https://purger.toolforge.org\n    Redirect gone /push-notifications-helper\n    Redirect 308 /pv https://pv.toolforge.org\n    Redirect 308 /pybot https://pybot.toolforge.org\n    Redirect 308 /pyshexy https://pyshexy.toolforge.org\n    Redirect 308 /pywikibot https://pywikibot.toolforge.org\n    Redirect 308 /pywikibot-grrtbt https://pywikibot-grrtbt.toolforge.org\n    Redirect 308 /pywikibot-test https://pywikibot-test.toolforge.org\n    Redirect 308 /pywikibot-testwiki https://pywikibot-testwiki.toolforge.org\n    Redirect 308 /pywikibot-tw https://pywikibot-tw.toolforge.org\n    Redirect 308 /pywikipedia https://pywikipedia.toolforge.org\n    Redirect 308 /pywowbot https://pywowbot.toolforge.org\n    Redirect 308 /qedkbot https://qedkbot.toolforge.org\n    Redirect 308 /qic https://qic.toolforge.org\n    Redirect 308 /qrcode-generator https://qrcode-generator.toolforge.org\n    Redirect gone /qsgenerator\n    Redirect 308 /quality-analyzer https://quality-analyzer.toolforge.org\n    Redirect 308 /quality-assisted-editor https://quality-assisted-editor.toolforge.org\n    Redirect 308 /quarry https://quarry.toolforge.org\n    Redirect 308 /quarrybot-enwiki https://quarrybot-enwiki.toolforge.org\n    Redirect 308 /quarry-dev https://quarry-dev.toolforge.org\n    Redirect 308 /quentintools https://quentintools.toolforge.org\n    Redirect 308 /quentinv57-bots https://quentinv57-bots.toolforge.org\n    Redirect 308 /quentinv57-common https://quentinv57-common.toolforge.org\n    Redirect 308 /query https://query.toolforge.org\n    Redirect 308 /query2map https://query2map.toolforge.org\n    Redirect 308 /query-universe https://query-universe.toolforge.org\n    Redirect 308 /quickcategories https://quickcategories.toolforge.org\n    Redirect 308 /quick-intersection https://quick-intersection.toolforge.org\n    Redirect 308 /quickpreset-migrate https://quickpreset-migrate.toolforge.org\n    Redirect gone /quickquery\n    Redirect 308 /quickstatements https://quickstatements.toolforge.org\n    Redirect 308 /quips https://quips.toolforge.org\n    Redirect gone /quotable\n    Redirect 308 /quotenbot https://quotenbot.toolforge.org\n    Redirect 308 /r96340-bot https://r96340-bot.toolforge.org\n    Redirect 308 /raehhamsang https://raehhamsang.toolforge.org\n    Redirect 308 /ragesossbot https://ragesossbot.toolforge.org\n    Redirect 308 /railways https://railways.toolforge.org\n    Redirect 308 /ralgisbot https://ralgisbot.toolforge.org\n    Redirect 308 /ramp https://ramp.toolforge.org\n    Redirect 308 /ramp2 https://ramp2.toolforge.org\n    Redirect 308 /random https://random.toolforge.org\n    Redirect 308 /random-featured https://random-featured.toolforge.org\n    Redirect 308 /randomincategory https://randomincategory.toolforge.org\n    Redirect 308 /rang https://rang.toolforge.org\n    Redirect 308 /rangeblockfinder https://rangeblockfinder.toolforge.org\n    Redirect 308 /rangecalc-improved https://rangecalc-improved.toolforge.org\n    Redirect 308 /rangecontrib https://rangecontrib.toolforge.org\n    Redirect gone /rank\n    Redirect gone /rank1\n    Redirect gone /rank4\n    Redirect 308 /raun https://raun.toolforge.org\n    Redirect 308 /raunbot https://raunbot.toolforge.org\n    Redirect 308 /raymond https://raymond.toolforge.org\n    Redirect 308 /raymondyee-test https://raymondyee-test.toolforge.org\n    Redirect 308 /rchv https://rchv.toolforge.org\n    Redirect gone /rcm\n    Redirect 308 /rcquery https://rcquery.toolforge.org\n    Redirect 308 /rc-vikidia https://rc-vikidia.toolforge.org\n    Redirect 308 /reader https://reader.toolforge.org\n    Redirect 308 /readmore https://readmore.toolforge.org\n    Redirect gone /reasomics\n    Redirect 308 /reasonator https://reasonator.toolforge.org\n    Redirect 308 /rebot https://rebot.toolforge.org\n    Redirect 308 /recitation-bot https://recitation-bot.toolforge.org\n    Redirect 308 /recoin https://recoin.toolforge.org\n    Redirect gone /recoin-sample\n    Redirect gone /recommendation\n    Redirect 308 /recom-tool https://recom-tool.toolforge.org\n    Redirect 308 /redirecter https://redirecter.toolforge.org\n    Redirect 308 /redirectviews https://redirectviews.toolforge.org\n    Redirect 308 /redirtest https://redirtest.toolforge.org\n    Redirect 308 /redpanda https://redpanda.toolforge.org\n    Redirect 308 /redwarn https://redwarn.toolforge.org\n    Redirect gone /refcreator\n    Redirect 308 /referee https://referee.toolforge.org\n    Redirect gone /referencebot\n    Redirect 308 /refill https://refill.toolforge.org\n    Redirect 308 /refill-api https://refill-api.toolforge.org\n    Redirect gone /reflinks\n    Redirect 308 /refswikipedia https://refswikipedia.toolforge.org\n    Redirect 308 /reftoolbar https://reftoolbar.toolforge.org\n    Redirect 308 /registro-cancellazioni https://registro-cancellazioni.toolforge.org\n    Redirect 308 /reise-reise https://reise-reise.toolforge.org\n    Redirect 308 /relgen https://relgen.toolforge.org\n    Redirect 308 /remarkup2wikitext https://remarkup2wikitext.toolforge.org\n    Redirect 308 /rembot https://rembot.toolforge.org\n    Redirect 308 /reminderbot https://reminderbot.toolforge.org\n    Redirect 308 /render https://render.toolforge.org\n    Redirect 308 /render-tests https://render-tests.toolforge.org\n    Redirect gone /repi\n    Redirect 308 /replacer https://replacer.toolforge.org\n    Redirect 308 /replag https://replag.toolforge.org\n    Redirect 308 /repo https://repo.toolforge.org\n    Redirect gone /reports\n    Redirect gone /reportsbot\n    Redirect 308 /reports-bot https://reports-bot.toolforge.org\n    Redirect 308 /request https://request.toolforge.org\n    Redirect 308 /retractionbot https://retractionbot.toolforge.org\n    Redirect 308 /revdiffsearch https://revdiffsearch.toolforge.org\n    Redirect 308 /revertstat https://revertstat.toolforge.org\n    Redirect 308 /revi https://revi.toolforge.org\n    Redirect 308 /revibot https://revibot.toolforge.org\n    Redirect 308 /revibot-i https://revibot-i.toolforge.org\n    Redirect 308 /revibot-ii https://revibot-ii.toolforge.org\n    Redirect 308 /revibot-iii https://revibot-iii.toolforge.org\n    Redirect gone /revibot-iv\n    Redirect 308 /reviewer https://reviewer.toolforge.org\n    Redirect 308 /reviewers https://reviewers.toolforge.org\n    Redirect 308 /review-stats https://review-stats.toolforge.org\n    Redirect 308 /reviewtools https://reviewtools.toolforge.org\n    Redirect 308 /revisions-blacklist https://revisions-blacklist.toolforge.org\n    Redirect 308 /revisionstats https://revisionstats.toolforge.org\n    Redirect 308 /revitalizebot https://revitalizebot.toolforge.org\n    Redirect 308 /rezabot https://rezabot.toolforge.org\n    Redirect 308 /reza-dev https://reza-dev.toolforge.org\n    Redirect 308 /rfahelper https://rfahelper.toolforge.org\n    Redirect 308 /rfastats https://rfastats.toolforge.org\n    Redirect 308 /rfa-tool https://rfa-tool.toolforge.org\n    Redirect 308 /rfc-analyzer https://rfc-analyzer.toolforge.org\n    Redirect 308 /rfx https://rfx.toolforge.org\n    Redirect 308 /rfx-dev https://rfx-dev.toolforge.org\n    Redirect gone /rhinosf1-afdclose\n    Redirect 308 /ricordisamoa https://ricordisamoa.toolforge.org\n    Redirect 308 /ri-diff-fixture-updater https://ri-diff-fixture-updater.toolforge.org\n    Redirect 308 /rightstool https://rightstool.toolforge.org\n    Redirect 308 /rileybot https://rileybot.toolforge.org\n    Redirect 308 /rillke https://rillke.toolforge.org\n    Redirect 308 /rillke-node https://rillke-node.toolforge.org\n    Redirect 308 /rluts https://rluts.toolforge.org\n    Redirect 308 /rmstats https://rmstats.toolforge.org\n    Redirect 308 /rm-stats https://rm-stats.toolforge.org\n    Redirect 308 /robin https://robin.toolforge.org\n    Redirect 308 /robokobot https://robokobot.toolforge.org\n    Redirect 308 /roccerbot https://roccerbot.toolforge.org\n    Redirect 308 /roccerbot-new https://roccerbot-new.toolforge.org\n    Redirect 308 /rotatebot https://rotatebot.toolforge.org\n    Redirect 308 /rotbot https://rotbot.toolforge.org\n    Redirect 308 /rotpunkt-bot https://rotpunkt-bot.toolforge.org\n    Redirect 308 /roundtripping https://roundtripping.toolforge.org\n    Redirect gone /roysmith-test\n    Redirect 308 /ruarbcom https://ruarbcom.toolforge.org\n    Redirect gone /ruarbcom-js\n    Redirect gone /rubinbot\n    Redirect gone /rubinbot2\n    Redirect gone /rubinbot3\n    Redirect 308 /ru_monuments https://ru_monuments.toolforge.org\n    Redirect gone /ruprecht\n    Redirect 308 /ruptho-interaction-classifier https://ruptho-interaction-classifier.toolforge.org\n    Redirect 308 /russbot https://russbot.toolforge.org\n    Redirect 308 /rust-hello-world https://rust-hello-world.toolforge.org\n    Redirect 308 /ru-unreliable-music-sources https://ru-unreliable-music-sources.toolforge.org\n    Redirect 308 /ruwikisource https://ruwikisource.toolforge.org\n    Redirect 308 /ruwn-misc https://ruwn-misc.toolforge.org\n    Redirect 308 /rxy https://rxy.toolforge.org\n    Redirect 308 /ryanbot https://ryanbot.toolforge.org\n    Redirect 308 /ryu https://ryu.toolforge.org\n    Redirect gone /saami\n    Redirect 308 /sal https://sal.toolforge.org\n    Redirect 308 /sammour https://sammour.toolforge.org\n    Redirect 308 /samoabot https://samoabot.toolforge.org\n    Redirect 308 /sanaa https://sanaa.toolforge.org\n    Redirect 308 /saper https://saper.toolforge.org\n    Redirect 308 /sau226test https://sau226test.toolforge.org\n    Redirect gone /sau226-wiki-bug-testing\n    Redirect gone /sbl\n    Redirect 308 /sbot https://sbot.toolforge.org\n    Redirect 308 /scaldingbot https://scaldingbot.toolforge.org\n    Redirect gone /scfc-test-can-be-deleted-anytime\n    Redirect 308 /schema2code https://schema2code.toolforge.org\n    Redirect 308 /scholia https://scholia.toolforge.org\n    Redirect 308 /scholiaanalytics https://scholiaanalytics.toolforge.org\n    Redirect 308 /scholia-analytics https://scholia-analytics.toolforge.org\n    Redirect 308 /scholia-dev https://scholia-dev.toolforge.org\n    Redirect 308 /schoolwiki https://schoolwiki.toolforge.org\n    Redirect 308 /schubota https://schubota.toolforge.org\n    Redirect 308 /scottytools https://scottytools.toolforge.org\n    Redirect 308 /scotus-recordings https://scotus-recordings.toolforge.org\n    Redirect gone /scratch\n    Redirect 308 /scribe https://scribe.toolforge.org\n    Redirect 308 /scrotbot https://scrotbot.toolforge.org\n    Redirect 308 /sdbot https://sdbot.toolforge.org\n    Redirect gone /sdm\n    Redirect 308 /sdzerobot https://sdzerobot.toolforge.org\n    Redirect 308 /search https://search.toolforge.org\n    Redirect 308 /searchdiff https://searchdiff.toolforge.org\n    Redirect 308 /searchsbl https://searchsbl.toolforge.org\n    Redirect 308 /section-links https://section-links.toolforge.org\n    Redirect 308 /section-redirect https://section-redirect.toolforge.org\n    Redirect 308 /section-watchlist https://section-watchlist.toolforge.org\n    Redirect 308 /security https://security.toolforge.org\n    Redirect 308 /secwatch https://secwatch.toolforge.org\n    Redirect 308 /seealsology https://seealsology.toolforge.org\n    Redirect 308 /seijabot https://seijabot.toolforge.org\n    Redirect 308 /sejmedits https://sejmedits.toolforge.org\n    Redirect 308 /selim https://selim.toolforge.org\n    Redirect 308 /sequencer https://sequencer.toolforge.org\n    Redirect 308 /sergobot-statistics https://sergobot-statistics.toolforge.org\n    Redirect 308 /serobot https://serobot.toolforge.org\n    Redirect 308 /service001 https://service001.toolforge.org\n    Redirect 308 /serviceawards https://serviceawards.toolforge.org\n    Redirect 308 /sficbot https://sficbot.toolforge.org\n    Redirect gone /sge-jobs\n    Redirect gone /sge-status\n    Redirect 308 /shbibbot https://shbibbot.toolforge.org\n    Redirect 308 /shbot https://shbot.toolforge.org\n    Redirect 308 /shex-author https://shex-author.toolforge.org\n    Redirect 308 /shexia https://shexia.toolforge.org\n    Redirect 308 /shex-simple https://shex-simple.toolforge.org\n    Redirect 308 /shexstatements https://shexstatements.toolforge.org\n    Redirect 308 /shextranslator https://shextranslator.toolforge.org\n    Redirect 308 /shfbot https://shfbot.toolforge.org\n    Redirect 308 /shields https://shields.toolforge.org\n    Redirect gone /shilad\n    Redirect 308 /shortnames https://shortnames.toolforge.org\n    Redirect 308 /shorturls https://shorturls.toolforge.org\n    Redirect 308 /shotbot https://shotbot.toolforge.org\n    Redirect gone /shri\n    Redirect 308 /shrinitools https://shrinitools.toolforge.org\n    Redirect 308 /shrugbot https://shrugbot.toolforge.org\n    Redirect gone /shtest\n    Redirect 308 /shuaib https://shuaib.toolforge.org\n    Redirect 308 /shuaib-bot https://shuaib-bot.toolforge.org\n    Redirect 308 /shumariyat https://shumariyat.toolforge.org\n    Redirect 308 /sibu https://sibu.toolforge.org\n    Redirect 308 /sibutest https://sibutest.toolforge.org\n    Redirect 308 /sighting https://sighting.toolforge.org\n    Redirect 308 /sigma https://sigma.toolforge.org\n    Redirect 308 /signature-checker https://signature-checker.toolforge.org\n    Redirect gone /signature-manquante-bot\n    Redirect 308 /signatures https://signatures.toolforge.org\n    Redirect 308 /sign-language-browser https://sign-language-browser.toolforge.org\n    Redirect 308 /signpost https://signpost.toolforge.org\n    Redirect 308 /signpostlab https://signpostlab.toolforge.org\n    Redirect 308 /similarity https://similarity.toolforge.org\n    Redirect 308 /simple https://simple.toolforge.org\n    Redirect 308 /simplecommonstransfer https://simplecommonstransfer.toolforge.org\n    Redirect gone /simplewd\n    Redirect 308 /simplewikt https://simplewikt.toolforge.org\n    Redirect 308 /sistercities https://sistercities.toolforge.org\n    Redirect 308 /sit https://sit.toolforge.org\n    Redirect 308 /sitematrix https://sitematrix.toolforge.org\n    Redirect 308 /sites https://sites.toolforge.org\n    Redirect 308 /siteviews https://siteviews.toolforge.org\n    Redirect gone /siwiki\n    Redirect 308 /sixdegrees https://sixdegrees.toolforge.org\n    Redirect 308 /slakrtools https://slakrtools.toolforge.org\n    Redirect 308 /sleepybot https://sleepybot.toolforge.org\n    Redirect 308 /slf https://slf.toolforge.org\n    Redirect gone /slipjack\n    Redirect gone /slow-parse\n    Redirect 308 /slumpartikel https://slumpartikel.toolforge.org\n    Redirect 308 /smv-description-translations https://smv-description-translations.toolforge.org\n    Redirect 308 /sn1pebot https://sn1pebot.toolforge.org\n    Redirect 308 /snaevar-bot https://snaevar-bot.toolforge.org\n    Redirect 308 /snapshots https://snapshots.toolforge.org\n    Redirect gone /snowolf\n    Redirect 308 /socksfinder https://socksfinder.toolforge.org\n    Redirect 308 /sonarqubebot https://sonarqubebot.toolforge.org\n    Redirect 308 /soni https://soni.toolforge.org\n    Redirect 308 /sonitool https://sonitool.toolforge.org\n    Redirect 308 /sourcemd https://sourcemd.toolforge.org\n    Redirect 308 /southparkfan https://southparkfan.toolforge.org\n    Redirect gone /soweego\n    Redirect 308 /sowhy https://sowhy.toolforge.org\n    Redirect 308 /sp1 https://sp1.toolforge.org\n    Redirect 308 /spacemedia https://spacemedia.toolforge.org\n    Redirect 308 /spamforbreakfast https://spamforbreakfast.toolforge.org\n    Redirect 308 /spamwatch https://spamwatch.toolforge.org\n    Redirect 308 /sparqlblocks https://sparqlblocks.toolforge.org\n    Redirect 308 /sparrow https://sparrow.toolforge.org\n    Redirect 308 /spbot https://spbot.toolforge.org\n    Redirect gone /spdx\n    Redirect 308 /speedpatrolling https://speedpatrolling.toolforge.org\n    Redirect gone /speed-patrolling\n    Redirect 308 /speedydeletionwikia https://speedydeletionwikia.toolforge.org\n    Redirect 308 /spellbot https://spellbot.toolforge.org\n    Redirect 308 /spellbot-dev https://spellbot-dev.toolforge.org\n    Redirect 308 /spellcheck https://spellcheck.toolforge.org\n    Redirect 308 /sphinxcapt-leaderboard https://sphinxcapt-leaderboard.toolforge.org\n    Redirect 308 /spiarticleanalyzer https://spiarticleanalyzer.toolforge.org\n    Redirect 308 /spi-tools https://spi-tools.toolforge.org\n    Redirect 308 /spi-tools-dev https://spi-tools-dev.toolforge.org\n    Redirect 308 /splinetools https://splinetools.toolforge.org\n    Redirect 308 /sqid https://sqid.toolforge.org\n    Redirect 308 /sql-optimizer https://sql-optimizer.toolforge.org\n    Redirect 308 /sqoop-tool https://sqoop-tool.toolforge.org\n    Redirect 308 /squirrelnestbot https://squirrelnestbot.toolforge.org\n    Redirect gone /squirrelnest-upf\n    Redirect 308 /srish https://srish.toolforge.org\n    Redirect gone /srr-sandbox\n    Redirect 308 /srwiki https://srwiki.toolforge.org\n    Redirect gone /srwiki-dev\n    Redirect 308 /stabilizerbot https://stabilizerbot.toolforge.org\n    Redirect gone /stang\n    Redirect 308 /stashbot https://stashbot.toolforge.org\n    Redirect 308 /static https://static.toolforge.org\n    Redirect 308 /static-browser https://static-browser.toolforge.org\n    Redirect gone /static-bz\n    Redirect 308 /statistics https://statistics.toolforge.org\n    Redirect gone /statistics-api\n    Redirect 308 /statisticsbot https://statisticsbot.toolforge.org\n    Redirect gone /stats\n    Redirect 308 /status https://status.toolforge.org\n    Redirect 308 /steinsplitter https://steinsplitter.toolforge.org\n    Redirect 308 /steinsplitter2 https://steinsplitter2.toolforge.org\n    Redirect 308 /stemmeberettigelse https://stemmeberettigelse.toolforge.org\n    Redirect 308 /stereoskopie https://stereoskopie.toolforge.org\n    Redirect 308 /stewardbots https://stewardbots.toolforge.org\n    Redirect gone /stewbots\n    Redirect 308 /stimmberechtigung https://stimmberechtigung.toolforge.org\n    Redirect 308 /stockholm-mania https://stockholm-mania.toolforge.org\n    Redirect 308 /stradbot https://stradbot.toolforge.org\n    Redirect 308 /strephit https://strephit.toolforge.org\n    Redirect gone /strikertest2017-08-23\n    Redirect gone /stub\n    Redirect 308 /studiesworld https://studiesworld.toolforge.org\n    Redirect 308 /stwalkerster https://stwalkerster.toolforge.org\n    Redirect gone /styleguide\n    Redirect 308 /stylize https://stylize.toolforge.org\n    Redirect 308 /submitter https://submitter.toolforge.org\n    Redirect gone /suchaserver\n    Redirect 308 /suggestbot https://suggestbot.toolforge.org\n    Redirect 308 /suggestor https://suggestor.toolforge.org\n    Redirect 308 /suha https://suha.toolforge.org\n    Redirect 308 /sulinfo https://sulinfo.toolforge.org\n    Redirect 308 /summary-generator https://summary-generator.toolforge.org\n    Redirect 308 /super-admin-bot https://super-admin-bot.toolforge.org\n    Redirect 308 /supercount https://supercount.toolforge.org\n    Redirect 308 /superyetkin https://superyetkin.toolforge.org\n    Redirect 308 /superzerocool https://superzerocool.toolforge.org\n    Redirect 308 /suyash-sandarbh https://suyash-sandarbh.toolforge.org\n    Redirect 308 /svenbot https://svenbot.toolforge.org\n    Redirect 308 /svgcheck https://svgcheck.toolforge.org\n    Redirect 308 /svgedit https://svgedit.toolforge.org\n    Redirect gone /svgedit-dashboard\n    Redirect 308 /svg-map-maker https://svg-map-maker.toolforge.org\n    Redirect 308 /svgtranslate https://svgtranslate.toolforge.org\n    Redirect 308 /svgtranslate-test https://svgtranslate-test.toolforge.org\n    Redirect 308 /svgworkaroundbot https://svgworkaroundbot.toolforge.org\n    Redirect 308 /svwikihostbot https://svwikihostbot.toolforge.org\n    Redirect 308 /svwiktionary https://svwiktionary.toolforge.org\n    Redirect 308 /swedishforsamling https://swedishforsamling.toolforge.org\n    Redirect 308 /swviewer https://swviewer.toolforge.org\n    Redirect 308 /sybot51 https://sybot51.toolforge.org\n    Redirect 308 /symabot https://symabot.toolforge.org\n    Redirect 308 /symacbot https://symacbot.toolforge.org\n    Redirect gone /sync-badges\n    Redirect 308 /t13bot https://t13bot.toolforge.org\n    Redirect 308 /t187305-demo https://t187305-demo.toolforge.org\n    Redirect gone /t1943bot\n    Redirect 308 /tabernacle https://tabernacle.toolforge.org\n    Redirect 308 /tabletop https://tabletop.toolforge.org\n    Redirect 308 /tabular-wikidata https://tabular-wikidata.toolforge.org\n    Redirect 308 /tabulist https://tabulist.toolforge.org\n    Redirect 308 /tahir https://tahir.toolforge.org\n    Redirect gone /taim-bot\n    Redirect 308 /tamilwikitools https://tamilwikitools.toolforge.org\n    Redirect 308 /tantan-www https://tantan-www.toolforge.org\n    Redirect 308 /taqpol-test https://taqpol-test.toolforge.org\n    Redirect 308 /tarrow-dev https://tarrow-dev.toolforge.org\n    Redirect 308 /tasmania https://tasmania.toolforge.org\n    Redirect gone /taweetham\n    Redirect 308 /taxobot https://taxobot.toolforge.org\n    Redirect 308 /taxoboxalyzer https://taxoboxalyzer.toolforge.org\n    Redirect 308 /taxonbot https://taxonbot.toolforge.org\n    Redirect 308 /taxonbota https://taxonbota.toolforge.org\n    Redirect 308 /taxonkatbot https://taxonkatbot.toolforge.org\n    Redirect 308 /tb-dev https://tb-dev.toolforge.org\n    Redirect 308 /tbloemink https://tbloemink.toolforge.org\n    Redirect 308 /tc-rc https://tc-rc.toolforge.org\n    Redirect 308 /tedbot https://tedbot.toolforge.org\n    Redirect 308 /teg https://teg.toolforge.org\n    Redirect gone /tei2wikitext\n    Redirect gone /telefabot\n    Redirect 308 /telegrambot https://telegrambot.toolforge.org\n    Redirect 308 /telegram-wikilinksbot https://telegram-wikilinksbot.toolforge.org\n    Redirect gone /telnet\n    Redirect gone /templatecheck\n    Redirect 308 /templatecount https://templatecount.toolforge.org\n    Redirect gone /templatedata-filler\n    Redirect 308 /templatehoard https://templatehoard.toolforge.org\n    Redirect 308 /templatetiger https://templatetiger.toolforge.org\n    Redirect 308 /templatetransclusioncheck https://templatetransclusioncheck.toolforge.org\n    Redirect 308 /templator https://templator.toolforge.org\n    Redirect 308 /tenst https://tenst.toolforge.org\n    Redirect 308 /tessdata https://tessdata.toolforge.org\n    Redirect gone /tesseract-ocr-service\n    Redirect 308 /test https://test.toolforge.org\n    Redirect 308 /test0 https://test0.toolforge.org\n    Redirect gone /test001\n    Redirect gone /test2\n    Redirect gone /test3\n    Redirect 308 /test999 https://test999.toolforge.org\n    Redirect 308 /test-generic-webservice https://test-generic-webservice.toolforge.org\n    Redirect gone /testingtool\n    Redirect 308 /test-lighttpd-precise https://test-lighttpd-precise.toolforge.org\n    Redirect gone /test-lighttpd-trusty\n    Redirect 308 /test-music1201 https://test-music1201.toolforge.org\n    Redirect gone /test-stats\n    Redirect gone /test-t188680\n    Redirect 308 /test-tool https://test-tool.toolforge.org\n    Redirect 308 /testtool-101 https://testtool-101.toolforge.org\n    Redirect 308 /test-vvv https://test-vvv.toolforge.org\n    Redirect gone /test-webservice-generic\n    Redirect gone /testwiki\n    Redirect gone /testwikis\n    Redirect 308 /testwikistats https://testwikistats.toolforge.org\n    Redirect 308 /tewptrends https://tewptrends.toolforge.org\n    Redirect 308 /texbot https://texbot.toolforge.org\n    Redirect gone /text2hash\n    Redirect 308 /textcatdemo https://textcatdemo.toolforge.org\n    Redirect 308 /tfaprotbot https://tfaprotbot.toolforge.org\n    Redirect gone /tgwikibot\n    Redirect 308 /thanatos https://thanatos.toolforge.org\n    Redirect 308 /thankyou https://thankyou.toolforge.org\n    Redirect 308 /thebook https://thebook.toolforge.org\n    Redirect 308 /thedavetool https://thedavetool.toolforge.org\n    Redirect 308 /thedavetools https://thedavetools.toolforge.org\n    Redirect gone /thehelpfulbot\n    Redirect gone /themesquitobot\n    Redirect gone /theoslittlebot\n    Redirect 308 /thesandbot https://thesandbot.toolforge.org\n    Redirect 308 /thibaut120094 https://thibaut120094.toolforge.org\n    Redirect 308 /thibtools https://thibtools.toolforge.org\n    Redirect 308 /thparkthsql https://thparkthsql.toolforge.org\n    Redirect gone /threed2commons\n    Redirect gone /tichy\n    Redirect 308 /tilde https://tilde.toolforge.org\n    Redirect 308 /tilescraper https://tilescraper.toolforge.org\n    Redirect 308 /time-convertor https://time-convertor.toolforge.org\n    Redirect 308 /timerelengteam https://timerelengteam.toolforge.org\n    Redirect 308 /timescale https://timescale.toolforge.org\n    Redirect 308 /title-search https://title-search.toolforge.org\n    Redirect 308 /tivenbot https://tivenbot.toolforge.org\n    Redirect 308 /tmg https://tmg.toolforge.org\n    Redirect 308 /toc https://toc.toolforge.org\n    Redirect 308 /tom29739-testing https://tom29739-testing.toolforge.org\n    Redirect gone /tombot3\n    Redirect gone /tomthirteen\n    Redirect gone /tool\n    Redirect 308 /tool123 https://tool123.toolforge.org\n    Redirect 308 /tool-account https://tool-account.toolforge.org\n    Redirect 308 /tool-db-usage https://tool-db-usage.toolforge.org\n    Redirect 308 /toolflow https://toolflow.toolforge.org\n    Redirect 308 /toolforge https://toolforge.toolforge.org\n    Redirect 308 /toolforge-gallery https://toolforge-gallery.toolforge.org\n    Redirect 308 /tool-gallery https://tool-gallery.toolforge.org\n    Redirect 308 /toolhub https://toolhub.toolforge.org\n    Redirect 308 /tool-log-stats https://tool-log-stats.toolforge.org\n    Redirect 308 /toolpilot https://toolpilot.toolforge.org\n    Redirect gone /tools\n    Redirect 308 /toolschecker https://toolschecker.toolforge.org\n    Redirect gone /toolschecker-ge-ws\n    Redirect gone /toolschecker-k8s-ws\n    Redirect 308 /toolscript https://toolscript.toolforge.org\n    Redirect 308 /tools-dashboard https://tools-dashboard.toolforge.org\n    Redirect 308 /toolserver https://toolserver.toolforge.org\n    Redirect gone /toolserverdb\n    Redirect 308 /toolserver-home-archive https://toolserver-home-archive.toolforge.org\n    Redirect 308 /tools-gallery https://tools-gallery.toolforge.org\n    Redirect 308 /tools-info https://tools-info.toolforge.org\n    Redirect 308 /tooltranslate https://tooltranslate.toolforge.org\n    Redirect 308 /toolviews https://toolviews.toolforge.org\n    Redirect 308 /top500importer https://top500importer.toolforge.org\n    Redirect 308 /topic-finder https://topic-finder.toolforge.org\n    Redirect 308 /topicmatcher https://topicmatcher.toolforge.org\n    Redirect 308 /topviews https://topviews.toolforge.org\n    Redirect gone /topviews-test\n    Redirect gone /torintool\n    Redirect 308 /torproxy https://torproxy.toolforge.org\n    Redirect 308 /totoazero https://totoazero.toolforge.org\n    Redirect 308 /tour https://tour.toolforge.org\n    Redirect 308 /tpbot https://tpbot.toolforge.org\n    Redirect 308 /tptools https://tptools.toolforge.org\n    Redirect 308 /traffic-grapher https://traffic-grapher.toolforge.org\n    Redirect 308 /train-blockers https://train-blockers.toolforge.org\n    Redirect 308 /translate https://translate.toolforge.org\n    Redirect 308 /translate-bot https://translate-bot.toolforge.org\n    Redirect 308 /translate-category https://translate-category.toolforge.org\n    Redirect 308 /translatemplate https://translatemplate.toolforge.org\n    Redirect gone /translation-server\n    Redirect 308 /tree-of-life https://tree-of-life.toolforge.org\n    Redirect 308 /trend https://trend.toolforge.org\n    Redirect gone /tristessa\n    Redirect gone /tronbot\n    Redirect gone /trusty-deprecation\n    Redirect gone /trusty-tools\n    Redirect 308 /tsbot https://tsbot.toolforge.org\n    Redirect 308 /tsreports https://tsreports.toolforge.org\n    Redirect 308 /tsreports-dev https://tsreports-dev.toolforge.org\n    Redirect gone /tts\n    Redirect 308 /tts-comparison https://tts-comparison.toolforge.org\n    Redirect 308 /ttt https://ttt.toolforge.org\n    Redirect 308 /tulsibot https://tulsibot.toolforge.org\n    Redirect 308 /tusc https://tusc.toolforge.org\n    Redirect 308 /tweep https://tweep.toolforge.org\n    Redirect 308 /twinkle https://twinkle.toolforge.org\n    Redirect 308 /twitterbot https://twitterbot.toolforge.org\n    Redirect 308 /twitter-retweet-bot https://twitter-retweet-bot.toolforge.org\n    Redirect 308 /twitter-to-commons https://twitter-to-commons.toolforge.org\n    Redirect 308 /twl https://twl.toolforge.org\n    Redirect gone /twl17\n    Redirect 308 /twlbot https://twlbot.toolforge.org\n    Redirect 308 /twltools https://twltools.toolforge.org\n    Redirect gone /typo-categorizer\n    Redirect 308 /typos https://typos.toolforge.org\n    Redirect 308 /typoscan https://typoscan.toolforge.org\n    Redirect gone /uaachecker\n    Redirect 308 /ukbot https://ukbot.toolforge.org\n    Redirect 308 /ukwiki-analysis https://ukwiki-analysis.toolforge.org\n    Redirect 308 /unblock https://unblock.toolforge.org\n    Redirect 308 /unblockbot https://unblockbot.toolforge.org\n    Redirect gone /unique\n    Redirect 308 /universalviewer https://universalviewer.toolforge.org\n    Redirect 308 /un-ocha-maps https://un-ocha-maps.toolforge.org\n    Redirect gone /unpatrollededitstats\n    Redirect 308 /unpaywall-importer https://unpaywall-importer.toolforge.org\n    Redirect 308 /unpkg https://unpkg.toolforge.org\n    Redirect gone /uploadhelper-ir\n    Redirect 308 /upload-stats-bot https://upload-stats-bot.toolforge.org\n    Redirect 308 /urbanecmbot https://urbanecmbot.toolforge.org\n    Redirect 308 /urbanecm-test-1 https://urbanecm-test-1.toolforge.org\n    Redirect 308 /urdubot https://urdubot.toolforge.org\n    Redirect 308 /urdusign https://urdusign.toolforge.org\n    Redirect 308 /urduspellchecker https://urduspellchecker.toolforge.org\n    Redirect 308 /url2commons https://url2commons.toolforge.org\n    Redirect 308 /url-converter https://url-converter.toolforge.org\n    Redirect 308 /urlinktranslator https://urlinktranslator.toolforge.org\n    Redirect gone /us\n    Redirect 308 /usage https://usage.toolforge.org\n    Redirect 308 /user https://user.toolforge.org\n    Redirect gone /user-activity\n    Redirect 308 /user-contributions-feed https://user-contributions-feed.toolforge.org\n    Redirect gone /useredit\n    Redirect gone /useredit2\n    Redirect gone /useredits\n    Redirect gone /useredits1\n    Redirect 308 /usergraph https://usergraph.toolforge.org\n    Redirect gone /user-id\n    Redirect 308 /userimpact https://userimpact.toolforge.org\n    Redirect 308 /usernamesearch https://usernamesearch.toolforge.org\n    Redirect gone /userrank\n    Redirect 308 /usersearch https://usersearch.toolforge.org\n    Redirect 308 /user-stats https://user-stats.toolforge.org\n    Redirect 308 /userviews https://userviews.toolforge.org\n    Redirect gone /usrd-tools\n    Redirect 308 /usualsuspects https://usualsuspects.toolforge.org\n    Redirect gone /ut-bot\n    Redirect gone /ut-interwiki-bot\n    Redirect gone /ut-iw-bot\n    Redirect gone /vagrant2\n    Redirect gone /vagrant-test\n    Redirect 308 /valhallasw-testing-tool https://valhallasw-testing-tool.toolforge.org\n    Redirect 308 /validator https://validator.toolforge.org\n    Redirect 308 /valstat https://valstat.toolforge.org\n    Redirect 308 /valutabot https://valutabot.toolforge.org\n    Redirect 308 /vcat https://vcat.toolforge.org\n    Redirect 308 /veblenbot https://veblenbot.toolforge.org\n    Redirect 308 /vector-dark https://vector-dark.toolforge.org\n    Redirect 308 /vectorizer https://vectorizer.toolforge.org\n    Redirect 308 /veertje-tools https://veertje-tools.toolforge.org\n    Redirect gone /vendor\n    Redirect 308 /verb-import-game https://verb-import-game.toolforge.org\n    Redirect 308 /verification-pages https://verification-pages.toolforge.org\n    Redirect 308 /versions https://versions.toolforge.org\n    Redirect 308 /viafbot https://viafbot.toolforge.org\n    Redirect 308 /vic https://vic.toolforge.org\n    Redirect 308 /video2commons https://video2commons.toolforge.org\n    Redirect 308 /video2commons-socketio https://video2commons-socketio.toolforge.org\n    Redirect 308 /video2commons-test https://video2commons-test.toolforge.org\n    Redirect 308 /video-cat-bot https://video-cat-bot.toolforge.org\n    Redirect 308 /videoconvert https://videoconvert.toolforge.org\n    Redirect 308 /videoconvertion https://videoconvertion.toolforge.org\n    Redirect gone /video-cut-tool\n    Redirect gone /video-cut-tool-back-end\n    Redirect gone /video-cut-tool-front-end\n    Redirect 308 /videotutorials https://videotutorials.toolforge.org\n    Redirect gone /vipbot\n    Redirect gone /vip-space-media\n    Redirect 308 /vishwin https://vishwin.toolforge.org\n    Redirect 308 /visualcategories https://visualcategories.toolforge.org\n    Redirect 308 /visualeditor https://visualeditor.toolforge.org\n    Redirect 308 /vitalarticlesbot https://vitalarticlesbot.toolforge.org\n    Redirect 308 /vizbot https://vizbot.toolforge.org\n    Redirect 308 /vltools https://vltools.toolforge.org\n    Redirect 308 /vocabulary-index https://vocabulary-index.toolforge.org\n    Redirect 308 /voiceintro https://voiceintro.toolforge.org\n    Redirect 308 /volby2wiki https://volby2wiki.toolforge.org\n    Redirect 308 /voxelbot https://voxelbot.toolforge.org\n    Redirect 308 /vrb https://vrb.toolforge.org\n    Redirect 308 /vtwo https://vtwo.toolforge.org\n    Redirect 308 /vuln-checker https://vuln-checker.toolforge.org\n    Redirect 308 /vvoters https://vvoters.toolforge.org\n    Redirect 308 /v-wiki https://v-wiki.toolforge.org\n    Redirect 308 /wafaashohdy https://wafaashohdy.toolforge.org\n    Redirect 308 /wahldiagramm https://wahldiagramm.toolforge.org\n    Redirect 308 /wahrani https://wahrani.toolforge.org\n    Redirect 308 /wakt https://wakt.toolforge.org\n    Redirect 308 /wakt-beta https://wakt-beta.toolforge.org\n    Redirect 308 /wam https://wam.toolforge.org\n    Redirect 308 /wam-article-suggestions https://wam-article-suggestions.toolforge.org\n    Redirect 308 /wanderwiki https://wanderwiki.toolforge.org\n    Redirect gone /wantedpages\n    Redirect gone /warped-to-iframe\n    Redirect 308 /watchr https://watchr.toolforge.org\n    Redirect 308 /watch-translations https://watch-translations.toolforge.org\n    Redirect 308 /watroles https://watroles.toolforge.org\n    Redirect 308 /wawewewi https://wawewewi.toolforge.org\n    Redirect 308 /wb2rdf https://wb2rdf.toolforge.org\n    Redirect 308 /wbwcalculator https://wbwcalculator.toolforge.org\n    Redirect 308 /wcam-bot https://wcam-bot.toolforge.org\n    Redirect 308 /wcdo https://wcdo.toolforge.org\n    Redirect 308 /wcna-2018-registration https://wcna-2018-registration.toolforge.org\n    Redirect 308 /wd-analysis https://wd-analysis.toolforge.org\n    Redirect 308 /wd-analyst https://wd-analyst.toolforge.org\n    Redirect gone /wdapi\n    Redirect 308 /wd-art https://wd-art.toolforge.org\n    Redirect 308 /wdbeoupdate https://wdbeoupdate.toolforge.org\n    Redirect gone /wd-books-cleaner\n    Redirect 308 /wdcat https://wdcat.toolforge.org\n    Redirect 308 /wd-constraints-precheck https://wd-constraints-precheck.toolforge.org\n    Redirect 308 /wd-depicts https://wd-depicts.toolforge.org\n    Redirect 308 /wdgraph https://wdgraph.toolforge.org\n    Redirect 308 /wdic https://wdic.toolforge.org\n    Redirect 308 /wdimagecheck https://wdimagecheck.toolforge.org\n    Redirect 308 /wd-image-positions https://wd-image-positions.toolforge.org\n    Redirect 308 /wdmap https://wdmap.toolforge.org\n    Redirect 308 /wdml https://wdml.toolforge.org\n    Redirect 308 /wdmm https://wdmm.toolforge.org\n    Redirect 308 /wdprop https://wdprop.toolforge.org\n    Redirect 308 /wdpv https://wdpv.toolforge.org\n    Redirect 308 /wdq2sparql https://wdq2sparql.toolforge.org\n    Redirect gone /wdq_checker\n    Redirect 308 /wdq-checker https://wdq-checker.toolforge.org\n    Redirect 308 /wdqs-tutorial https://wdqs-tutorial.toolforge.org\n    Redirect gone /wdqs-wmil-tutorial\n    Redirect 308 /wd-query-builder https://wd-query-builder.toolforge.org\n    Redirect 308 /wd-rank https://wd-rank.toolforge.org\n    Redirect 308 /wdrdr https://wdrdr.toolforge.org\n    Redirect 308 /wdreconcile https://wdreconcile.toolforge.org\n    Redirect 308 /wd-ref-island https://wd-ref-island.toolforge.org\n    Redirect 308 /wd-shex-infer https://wd-shex-infer.toolforge.org\n    Redirect 308 /wdumps https://wdumps.toolforge.org\n    Redirect 308 /wdvaliditycheck https://wdvaliditycheck.toolforge.org\n    Redirect 308 /wdvd https://wdvd.toolforge.org\n    Redirect 308 /wd-word-cloud https://wd-word-cloud.toolforge.org\n    Redirect 308 /weapon-of-mass-description https://weapon-of-mass-description.toolforge.org\n    Redirect 308 /weapon-of-mass-description-test https://weapon-of-mass-description-test.toolforge.org\n    Redirect gone /weather\n    Redirect 308 /webarchivebot https://webarchivebot.toolforge.org\n    Redirect gone /webchat\n    Redirect 308 /weeklypedia https://weeklypedia.toolforge.org\n    Redirect 308 /welcomebot https://welcomebot.toolforge.org\n    Redirect 308 /welcomebots-bn https://welcomebots-bn.toolforge.org\n    Redirect 308 /wembedder https://wembedder.toolforge.org\n    Redirect 308 /wfind https://wfind.toolforge.org\n    Redirect 308 /whichsub https://whichsub.toolforge.org\n    Redirect 308 /whodunnit https://whodunnit.toolforge.org\n    Redirect 308 /whois https://whois.toolforge.org\n    Redirect 308 /whois-referral https://whois-referral.toolforge.org\n    Redirect 308 /whois-referral-dev https://whois-referral-dev.toolforge.org\n    Redirect 308 /whymbot https://whymbot.toolforge.org\n    Redirect 308 /widar https://widar.toolforge.org\n    Redirect 308 /wigi https://wigi.toolforge.org\n    Redirect gone /wiki\n    Redirect 308 /wiki13 https://wiki13.toolforge.org\n    Redirect 308 /wiki17an-watcher https://wiki17an-watcher.toolforge.org\n    Redirect 308 /wiki2email https://wiki2email.toolforge.org\n    Redirect 308 /wiki2html https://wiki2html.toolforge.org\n    Redirect 308 /wiki2prop https://wiki2prop.toolforge.org\n    Redirect 308 /wiki3d https://wiki3d.toolforge.org\n    Redirect gone /wiki-android-apps\n    Redirect 308 /wikiarthistory https://wikiarthistory.toolforge.org\n    Redirect 308 /wiki-as-git https://wiki-as-git.toolforge.org\n    Redirect 308 /wikiatlas2014 https://wikiatlas2014.toolforge.org\n    Redirect gone /wikibase-databridge-storybook\n    Redirect 308 /wikibase-nearest-neighbors https://wikibase-nearest-neighbors.toolforge.org\n    Redirect 308 /wikibase-preview https://wikibase-preview.toolforge.org\n    Redirect 308 /wikibase-termbox-storybook https://wikibase-termbox-storybook.toolforge.org\n    Redirect 308 /wikibattle https://wikibattle.toolforge.org\n    Redirect 308 /wikiblame https://wikiblame.toolforge.org\n    Redirect 308 /wikibookassamese https://wikibookassamese.toolforge.org\n    Redirect gone /wikibot\n    Redirect 308 /wikibugs https://wikibugs.toolforge.org\n    Redirect 308 /wikicaptcha https://wikicaptcha.toolforge.org\n    Redirect 308 /wikicite-dashboard https://wikicite-dashboard.toolforge.org\n    Redirect gone /wikicitevis\n    Redirect 308 /wikicontest https://wikicontest.toolforge.org\n    Redirect 308 /wikicontrib https://wikicontrib.toolforge.org\n    Redirect 308 /wikicup https://wikicup.toolforge.org\n    Redirect 308 /wikidata-analysis https://wikidata-analysis.toolforge.org\n    Redirect 308 /wikidata-annotation-tool https://wikidata-annotation-tool.toolforge.org\n    Redirect 308 /wikidata-compare https://wikidata-compare.toolforge.org\n    Redirect 308 /wikidata-delinker https://wikidata-delinker.toolforge.org\n    Redirect 308 /wikidata-edits https://wikidata-edits.toolforge.org\n    Redirect gone /wikidata-exports\n    Redirect 308 /wikidata-externalid-url https://wikidata-externalid-url.toolforge.org\n    Redirect 308 /wikidata-game https://wikidata-game.toolforge.org\n    Redirect 308 /wikidatagroup https://wikidatagroup.toolforge.org\n    Redirect 308 /wikidata-janitor https://wikidata-janitor.toolforge.org\n    Redirect 308 /wikidata-map https://wikidata-map.toolforge.org\n    Redirect 308 /wikidata-nolabels https://wikidata-nolabels.toolforge.org\n    Redirect 308 /wikidata-primary-sources https://wikidata-primary-sources.toolforge.org\n    Redirect 308 /wikidata-reconcile https://wikidata-reconcile.toolforge.org\n    Redirect 308 /wikidata-redirects-conflicts-reports https://wikidata-redirects-conflicts-reports.toolforge.org\n    Redirect 308 /wikidata-slicer https://wikidata-slicer.toolforge.org\n    Redirect 308 /wikidata-terminator https://wikidata-terminator.toolforge.org\n    Redirect 308 /wikidata-timeline https://wikidata-timeline.toolforge.org\n    Redirect 308 /wikidata-todo https://wikidata-todo.toolforge.org\n    Redirect 308 /wikidata-trends https://wikidata-trends.toolforge.org\n    Redirect gone /wikidiff2-dev-test\n    Redirect 308 /wikidipendenza https://wikidipendenza.toolforge.org\n    Redirect 308 /wikiedudashboard https://wikiedudashboard.toolforge.org\n    Redirect 308 /wikiedudashboard-test https://wikiedudashboard-test.toolforge.org\n    Redirect 308 /wikiemojibot https://wikiemojibot.toolforge.org\n    Redirect gone /wikifactmine-api\n    Redirect gone /wikifactmine-pipeline\n    Redirect 308 /wikifeeds https://wikifeeds.toolforge.org\n    Redirect 308 /wikifile-transfer https://wikifile-transfer.toolforge.org\n    Redirect 308 /wiki-geo https://wiki-geo.toolforge.org\n    Redirect 308 /wikigrade https://wikigrade.toolforge.org\n    Redirect 308 /wikigraph https://wikigraph.toolforge.org\n    Redirect 308 /wikigrok https://wikigrok.toolforge.org\n    Redirect 308 /wikihistory https://wikihistory.toolforge.org\n    Redirect 308 /wikihoaxbuster https://wikihoaxbuster.toolforge.org\n    Redirect 308 /wikiholic https://wikiholic.toolforge.org\n    Redirect 308 /wikiinfo https://wikiinfo.toolforge.org\n    Redirect 308 /wikiintent https://wikiintent.toolforge.org\n    Redirect gone /wiki-irc\n    Redirect 308 /wikijourney https://wikijourney.toolforge.org\n    Redirect 308 /wikilaeum https://wikilaeum.toolforge.org\n    Redirect 308 /wikilinkbot https://wikilinkbot.toolforge.org\n    Redirect 308 /wikilint https://wikilint.toolforge.org\n    Redirect 308 /wikilist https://wikilist.toolforge.org\n    Redirect 308 /wikilogos https://wikilogos.toolforge.org\n    Redirect 308 /wikiloop https://wikiloop.toolforge.org\n    Redirect 308 /wikiloop-testflight https://wikiloop-testflight.toolforge.org\n    Redirect 308 /wikiloves https://wikiloves.toolforge.org\n    Redirect 308 /wikilovesdownloads https://wikilovesdownloads.toolforge.org\n    Redirect gone /wiki-loves-earth-2019\n    Redirect 308 /wikiloveslove https://wikiloveslove.toolforge.org\n    Redirect 308 /wikimap https://wikimap.toolforge.org\n    Redirect gone /wikimediadc\n    Redirect 308 /wikimedia-france https://wikimedia-france.toolforge.org\n    Redirect 308 /wikimediaui-styleguide https://wikimediaui-styleguide.toolforge.org\n    Redirect 308 /wikiment https://wikiment.toolforge.org\n    Redirect 308 /wikimetrics https://wikimetrics.toolforge.org\n    Redirect 308 /wikimetrics-development https://wikimetrics-development.toolforge.org\n    Redirect 308 /wikimetrics-production https://wikimetrics-production.toolforge.org\n    Redirect 308 /wikimetrics-staging https://wikimetrics-staging.toolforge.org\n    Redirect 308 /wikiminiatlas https://wikiminiatlas.toolforge.org\n    Redirect 308 /wiki-needs-pictures https://wiki-needs-pictures.toolforge.org\n    Redirect 308 /wikinews https://wikinews.toolforge.org\n    Redirect 308 /wikinews-importer https://wikinews-importer.toolforge.org\n    Redirect 308 /wikinews-pagestats https://wikinews-pagestats.toolforge.org\n    Redirect 308 /wikinity https://wikinity.toolforge.org\n    Redirect 308 /wikinity-test https://wikinity-test.toolforge.org\n    Redirect 308 /wikintu https://wikintu.toolforge.org\n    Redirect 308 /wiki-osm-markers https://wiki-osm-markers.toolforge.org\n    Redirect 308 /wikioverdata https://wikioverdata.toolforge.org\n    Redirect gone /wikipagestats\n    Redirect gone /wikipathways2wiki\n    Redirect gone /wikipedia-android-builds\n    Redirect 308 /wikipedia-contributor-locations https://wikipedia-contributor-locations.toolforge.org\n    Redirect 308 /wikipedia-fetch-content https://wikipedia-fetch-content.toolforge.org\n    Redirect gone /wikipedia-library\n    Redirect gone /wikipedia-readability\n    Redirect 308 /wikipedia-zh-irc-query https://wikipedia-zh-irc-query.toolforge.org\n    Redirect 308 /wikipedia-zh-message-transport https://wikipedia-zh-message-transport.toolforge.org\n    Redirect 308 /wikipheme https://wikipheme.toolforge.org\n    Redirect 308 /wikiplayer https://wikiplayer.toolforge.org\n    Redirect 308 /wikiportretdev https://wikiportretdev.toolforge.org\n    Redirect 308 /wikiprovenance https://wikiprovenance.toolforge.org\n    Redirect gone /wikipulse\n    Redirect 308 /wikiradio https://wikiradio.toolforge.org\n    Redirect 308 /wikiresearch https://wikiresearch.toolforge.org\n    Redirect 308 /wiki-retweet-bot https://wiki-retweet-bot.toolforge.org\n    Redirect 308 /wikiscanner https://wikiscanner.toolforge.org\n    Redirect 308 /wikisense https://wikisense.toolforge.org\n    Redirect 308 /wikishield https://wikishield.toolforge.org\n    Redirect 308 /wikishootme https://wikishootme.toolforge.org\n    Redirect 308 /wikisoba https://wikisoba.toolforge.org\n    Redirect gone /wikisource-api\n    Redirect 308 /wikisource-bot https://wikisource-bot.toolforge.org\n    Redirect gone /wikisource-penguin-classics\n    Redirect 308 /wikisource-tweets https://wikisource-tweets.toolforge.org\n    Redirect 308 /wikistats https://wikistats.toolforge.org\n    Redirect 308 /wikistreak https://wikistreak.toolforge.org\n    Redirect 308 /wikistream https://wikistream.toolforge.org\n    Redirect 308 /wikistreams https://wikistreams.toolforge.org\n    Redirect 308 /wikitable https://wikitable.toolforge.org\n    Redirect 308 /wikitabs https://wikitabs.toolforge.org\n    Redirect gone /wiki-talk\n    Redirect gone /wiki-talk2\n    Redirect 308 /wikitanvirbot https://wikitanvirbot.toolforge.org\n    Redirect 308 /wiki-task-locator https://wiki-task-locator.toolforge.org\n    Redirect 308 /wikitasks https://wikitasks.toolforge.org\n    Redirect 308 /wikitei https://wikitei.toolforge.org\n    Redirect 308 /wiki-tennis https://wiki-tennis.toolforge.org\n    Redirect 308 /wikitest-rtl https://wikitest-rtl.toolforge.org\n    Redirect 308 /wikitext-deprecation https://wikitext-deprecation.toolforge.org\n    Redirect 308 /wikitime https://wikitime.toolforge.org\n    Redirect 308 /wiki-todo https://wiki-todo.toolforge.org\n    Redirect gone /wikitool\n    Redirect 308 /wikitools https://wikitools.toolforge.org\n    Redirect 308 /wiki-topic https://wiki-topic.toolforge.org\n    Redirect gone /wikitranslator\n    Redirect 308 /wikitree https://wikitree.toolforge.org\n    Redirect 308 /wikitrends https://wikitrends.toolforge.org\n    Redirect 308 /wikitrip https://wikitrip.toolforge.org\n    Redirect 308 /wikitweets https://wikitweets.toolforge.org\n    Redirect 308 /wikiviewstats https://wikiviewstats.toolforge.org\n    Redirect 308 /wikiviewstats2 https://wikiviewstats2.toolforge.org\n    Redirect 308 /wikivisualization https://wikivisualization.toolforge.org\n    Redirect 308 /wikiviz https://wikiviz.toolforge.org\n    Redirect 308 /wikivoyage https://wikivoyage.toolforge.org\n    Redirect 308 /wikiwatchdog https://wikiwatchdog.toolforge.org\n    Redirect 308 /wikiwhatsappbot https://wikiwhatsappbot.toolforge.org\n    Redirect 308 /wikiwho https://wikiwho.toolforge.org\n    Redirect 308 /wiki-zulip-bot https://wiki-zulip-bot.toolforge.org\n    Redirect 308 /wiktioutils https://wiktioutils.toolforge.org\n    Redirect 308 /wikt-mwtest https://wikt-mwtest.toolforge.org\n    Redirect 308 /wikyrillomat https://wikyrillomat.toolforge.org\n    Redirect 308 /william-avery-bot https://william-avery-bot.toolforge.org\n    Redirect 308 /winput https://winput.toolforge.org\n    Redirect 308 /winter https://winter.toolforge.org\n    Redirect 308 /wiper https://wiper.toolforge.org\n    Redirect 308 /wiper-languagetool https://wiper-languagetool.toolforge.org\n    Redirect 308 /withoutaname https://withoutaname.toolforge.org\n    Redirect 308 /wits https://wits.toolforge.org\n    Redirect 308 /wiwosm https://wiwosm.toolforge.org\n    Redirect 308 /wizarbot https://wizarbot.toolforge.org\n    Redirect 308 /wle https://wle.toolforge.org\n    Redirect 308 /wlm https://wlm.toolforge.org\n    Redirect 308 /wlm-analytics https://wlm-analytics.toolforge.org\n    Redirect gone /wlm-de-redirect\n    Redirect 308 /wlm-de-utils https://wlm-de-utils.toolforge.org\n    Redirect gone /wlmin\n    Redirect 308 /wlm-italy https://wlm-italy.toolforge.org\n    Redirect 308 /wlmitaly2019 https://wlmitaly2019.toolforge.org\n    Redirect 308 /wlmjudging https://wlmjudging.toolforge.org\n    Redirect gone /wlm-jury-at\n    Redirect gone /wlm-jury-yarl\n    Redirect 308 /wlm-maps https://wlm-maps.toolforge.org\n    Redirect 308 /wlm-nl-table-gen https://wlm-nl-table-gen.toolforge.org\n    Redirect 308 /wlmpacommonscat https://wlmpacommonscat.toolforge.org\n    Redirect 308 /wlm-stats https://wlm-stats.toolforge.org\n    Redirect 308 /wlmtrafo https://wlmtrafo.toolforge.org\n    Redirect 308 /wlmuk https://wlmuk.toolforge.org\n    Redirect gone /wlmus\n    Redirect 308 /wlm-us https://wlm-us.toolforge.org\n    Redirect 308 /wlxjury https://wlxjury.toolforge.org\n    Redirect 308 /wm-bot https://wm-bot.toolforge.org\n    Redirect 308 /wm-cee-spring https://wm-cee-spring.toolforge.org\n    Redirect 308 /wmcharts https://wmcharts.toolforge.org\n    Redirect 308 /wm-commons-emoji-bot https://wm-commons-emoji-bot.toolforge.org\n    Redirect 308 /wmcounter https://wmcounter.toolforge.org\n    Redirect gone /wmcsbot\n    Redirect 308 /wmcz https://wmcz.toolforge.org\n    Redirect 308 /wmde-access https://wmde-access.toolforge.org\n    Redirect gone /wmde-editconflict-test\n    Redirect gone /wmde-graphql-demo\n    Redirect gone /wmde-inline-movedparagraphs\n    Redirect gone /wmde-reference-previews\n    Redirect gone /wmde-uca-test\n    Redirect 308 /wmde-wd-team https://wmde-wd-team.toolforge.org\n    Redirect gone /wmfdbbot\n    Redirect gone /wmflabs-collection\n    Redirect 308 /wmf-sitematrix https://wmf-sitematrix.toolforge.org\n    Redirect gone /wmf-task-samtar\n    Redirect 308 /wmf-wiki-info https://wmf-wiki-info.toolforge.org\n    Redirect 308 /wmit https://wmit.toolforge.org\n    Redirect 308 /wmk-dev https://wmk-dev.toolforge.org\n    Redirect 308 /wmk-tools https://wmk-tools.toolforge.org\n    Redirect 308 /wm-metrics https://wm-metrics.toolforge.org\n    Redirect 308 /wmopbot https://wmopbot.toolforge.org\n    Redirect 308 /wmpt https://wmpt.toolforge.org\n    Redirect 308 /wmtran https://wmtran.toolforge.org\n    Redirect 308 /wmukevents https://wmukevents.toolforge.org\n    Redirect 308 /wmve https://wmve.toolforge.org\n    Redirect 308 /wmve-dev https://wmve-dev.toolforge.org\n    Redirect 308 /wm-ve-needcheck-reporter https://wm-ve-needcheck-reporter.toolforge.org\n    Redirect 308 /wnegar https://wnegar.toolforge.org\n    Redirect 308 /women-in-red https://women-in-red.toolforge.org\n    Redirect 308 /wordcount https://wordcount.toolforge.org\n    Redirect 308 /wordpile https://wordpile.toolforge.org\n    Redirect gone /wordtowiki\n    Redirect gone /wordtowiki-dev\n    Redirect 308 /worklist-tool https://worklist-tool.toolforge.org\n    Redirect gone /wpb\n    Redirect 308 /wpcleaner https://wpcleaner.toolforge.org\n    Redirect 308 /wpp https://wpp.toolforge.org\n    Redirect 308 /wprequests https://wprequests.toolforge.org\n    Redirect 308 /wp-signpost https://wp-signpost.toolforge.org\n    Redirect 308 /wptestblog https://wptestblog.toolforge.org\n    Redirect gone /wptestblog2\n    Redirect gone /wpv\n    Redirect 308 /wp-world https://wp-world.toolforge.org\n    Redirect 308 /wrating https://wrating.toolforge.org\n    Redirect 308 /wrcp https://wrcp.toolforge.org\n    Redirect gone /ws2wd\n    Redirect 308 /ws-cat-browser https://ws-cat-browser.toolforge.org\n    Redirect 308 /wscontest https://wscontest.toolforge.org\n    Redirect 308 /wsdetool https://wsdetool.toolforge.org\n    Redirect 308 /wsexport https://wsexport.toolforge.org\n    Redirect 308 /wsexport-test https://wsexport-test.toolforge.org\n    Redirect 308 /ws-google-ocr https://ws-google-ocr.toolforge.org\n    Redirect gone /w-slackbot\n    Redirect gone /wsm\n    Redirect 308 /ws-search https://ws-search.toolforge.org\n    Redirect 308 /wudele https://wudele.toolforge.org\n    Redirect 308 /wugbot https://wugbot.toolforge.org\n    Redirect 308 /www https://www.toolforge.org\n    Redirect gone /www-portal-builder\n    Redirect 308 /www-portal-staging https://www-portal-staging.toolforge.org\n    Redirect gone /wyimportbot\n    Redirect 308 /xdebugtesting https://xdebugtesting.toolforge.org\n    Redirect 308 /xdebugtesting1 https://xdebugtesting1.toolforge.org\n    Redirect 308 /xdebugtesting2 https://xdebugtesting2.toolforge.org\n    Redirect 308 /xecfork https://xecfork.toolforge.org\n    Redirect 308 /xfd-stats https://xfd-stats.toolforge.org\n    Redirect 308 /xiplus https://xiplus.toolforge.org\n    Redirect 308 /xlinkbot https://xlinkbot.toolforge.org\n    Redirect gone /xmlfeed\n    Redirect 308 /xn--dk8hv9g https://xn--dk8hv9g.toolforge.org\n    Redirect gone /xoxoxo-dev\n    Redirect 308 /xqtools https://xqtools.toolforge.org\n    Redirect gone /xslack\n    Redirect 308 /xstools https://xstools.toolforge.org\n    Redirect 308 /xtools https://xtools.toolforge.org\n    Redirect 308 /xtools-articleinfo https://xtools-articleinfo.toolforge.org\n    Redirect gone /xtools-autoedits\n    Redirect 308 /xtools-dev https://xtools-dev.toolforge.org\n    Redirect 308 /xtools-ec https://xtools-ec.toolforge.org\n    Redirect 308 /xtools-mab-dev https://xtools-mab-dev.toolforge.org\n    Redirect gone /xtools-pages\n    Redirect 308 /xxn-testtool https://xxn-testtool.toolforge.org\n    Redirect 308 /xxn-tools https://xxn-tools.toolforge.org\n    Redirect 308 /xyzbot https://xyzbot.toolforge.org\n    Redirect 308 /yabbr https://yabbr.toolforge.org\n    Redirect 308 /yabot https://yabot.toolforge.org\n    Redirect 308 /yacbot https://yacbot.toolforge.org\n    Redirect 308 /yadfa https://yadfa.toolforge.org\n    Redirect 308 /yadkard https://yadkard.toolforge.org\n    Redirect 308 /yapperbot https://yapperbot.toolforge.org\n    Redirect 308 /yarl https://yarl.toolforge.org\n    Redirect 308 /yashe https://yashe.toolforge.org\n    Redirect 308 /yellowbot https://yellowbot.toolforge.org\n    Redirect 308 /yellowcard https://yellowcard.toolforge.org\n    Redirect gone /yemen\n    Redirect 308 /yichengtry https://yichengtry.toolforge.org\n    Redirect 308 /yifeibot https://yifeibot.toolforge.org\n    Redirect 308 /yjsw https://yjsw.toolforge.org\n    Redirect 308 /youtube-channel https://youtube-channel.toolforge.org\n    Redirect 308 /ytcleaner https://ytcleaner.toolforge.org\n    Redirect gone /ytrb\n    Redirect gone /yunomi\n    Redirect 308 /zayenbot https://zayenbot.toolforge.org\n    Redirect 308 /zbot https://zbot.toolforge.org\n    Redirect 308 /zedlikbot https://zedlikbot.toolforge.org\n    Redirect 308 /zenithbot https://zenithbot.toolforge.org\n    Redirect 308 /zerabot https://zerabot.toolforge.org\n    Redirect 308 /zhaofeng-test https://zhaofeng-test.toolforge.org\n    Redirect 308 /zhdeletionpedia https://zhdeletionpedia.toolforge.org\n    Redirect gone /zhnotofu\n    Redirect 308 /zhtest https://zhtest.toolforge.org\n    Redirect 308 /zhuyifei1999-test https://zhuyifei1999-test.toolforge.org\n    Redirect 308 /zhwiki https://zhwiki.toolforge.org\n    Redirect 308 /zhwiki-qualifications-check https://zhwiki-qualifications-check.toolforge.org\n    Redirect 308 /zhwiki-teleirc https://zhwiki-teleirc.toolforge.org\n    Redirect 308 /zhwiki-username-check https://zhwiki-username-check.toolforge.org\n    Redirect 308 /zimmerbot https://zimmerbot.toolforge.org\n    Redirect 308 /zkbot https://zkbot.toolforge.org\n    Redirect 308 /zonestamp https://zonestamp.toolforge.org\n    Redirect 308 /zoomable-images https://zoomable-images.toolforge.org\n    Redirect 308 /zoomproof https://zoomproof.toolforge.org\n    Redirect 308 /zoomviewer https://zoomviewer.toolforge.org\n    Redirect gone /zoranzoki21bot\n    Redirect gone /zoranzoki21wiki\n    Redirect gone /zppixbot\n    Redirect gone /zppixbot-test\n    Redirect 308 /zumraband https://zumraband.toolforge.org\n    Redirect 308 /zurichpopulation https://zurichpopulation.toolforge.org\n    Redirect 308 /zygimantus-dev https://zygimantus-dev.toolforge.org\n    Redirect 308 /zygserv https://zygserv.toolforge.org\n\n    # This must be listed last given Apache processes Redirect rules in order.\n    # Also, do a 302 in case something goes horribly wrong with the rules before this.\n    Redirect 302 / https://toolforge.org/\n</VirtualHost>\n","ensure":"present","priority":50}},{"type":"Httpd::Site","title":"www.toolserver.org","tags":["httpd::site","httpd","site","www.toolserver.org","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":28,"exported":false,"kind":"defined_type","parameters":{"content":"# SPDX-License-Identifier: Apache-2.0\n#####################################################################\n### THIS FILE IS MANAGED BY PUPPET\n### puppet:///toolserver_legacy/www.toolserver.org.erb\n#####################################################################\n# vim: filetype=apache\n\n<VirtualHost *:80>\n    ServerAdmin root@toolserver.org\n    ServerName www.toolserver.org\n    ServerAlias toolserver.org\n    ServerAlias *.www.toolserver.org\n    ServerAlias stable.toolserver.org\n    ServerAlias wiki.toolserver.org\n    ServerAlias status.toolserver.org\n\n    DocumentRoot /var/www/www.toolserver.org/\n\n    RewriteEngine on\n    RewriteCond %{SERVER_PORT} !^443$\n    RewriteRule ^/(.*)$ https://www.toolserver.org/$1 [L,NE,R]\n\n    CustomLog /var/log/apache2/www.toolserver.org-access.log wmf\n    ErrorLog /var/log/apache2/www.toolserver.org-error.log\n    LogLevel warn\n    ServerSignature Off\n</VirtualHost>\n\n<VirtualHost *:443>\n    ServerAdmin root@toolserver.org\n    ServerName www.toolserver.org\n    ServerAlias toolserver.org\n    ServerAlias *.www.toolserver.org\n    ServerAlias stable.toolserver.org\n    ServerAlias wiki.toolserver.org\n\n    SSLEngine on\n    SSLCertificateFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.crt\n    SSLCertificateChainFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.chained.crt\n    SSLCertificateKeyFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.key\n    SSLProtocol all -SSLv2 -SSLv3\n    SSLCipherSuite -ALL:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA\n    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256\n    SSLHonorCipherOrder On\n    SSLOpenSSLConfCmd DHParameters \"/etc/ssl/dhparam.pem\"\n\n    Header always set Report-To '{\"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{\"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\"}]}'\n    Header always set NEL '{\"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}'\n\n    DocumentRoot /var/www/www.toolserver.org/\n\n    CustomLog /var/log/apache2/www.toolserver.org-access.log wmf\n    ErrorLog /var/log/apache2/www.toolserver.org-error.log\n    LogLevel warn\n    ServerSignature Off\n\n    ErrorDocument 404 /notfound.html\n\n    RewriteEngine on\n\n    # Redirect wiki.toolserver.org to mediawiki.org.\n    RewriteCond %{HTTP_HOST} =wiki.toolserver.org [NC]\n    RewriteRule ^/view/(.*)$ https://www.mediawiki.org/wiki/Toolserver:$1 [L,R]\n\n    # T224265 - Redirect ~nikola/svgtranslate.php?svg=* to svgtranslate tool\n    RewriteCond %{QUERY_STRING} ^svg=(.*)$\n    RewriteRule ^/~nikola/svgtranslate.php$ https://svgtranslate.toolforge.org/search?filename=%1 [L,R=301]\n\n    # Redirects from www.toolserver.org\n    #\n    Redirect 301 /~acc https://accounts.wmflabs.org\n    Redirect 301 /~alexxw/Denkmalliste https://denkmalliste.toolforge.org\n    Redirect 301 /~alexz/pop/config.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/edit.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/requests.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/view.php https://popularpages.toolforge.org/view.php\n    Redirect 301 /~alexz/pop/graph.php https://popularpages.toolforge.org/graph.php\n    Redirect 301 /~alexz/pop/list.php https://popularpages.toolforge.org/list.php\n    Redirect 301 /~alexz/pop/index.php https://popularpages.toolforge.org/index.php\n    Redirect 301 /~alexz/amdb https://amdb.toolforge.org\n    Redirect 301 /~alexz/coord https://geophotoreq.toolforge.org\n    Redirect 301 /~apper/pd/person https://persondata.toolforge.org/p\n    Redirect 301 /~apper/pd https://persondata.toolforge.org\n    Redirect 301 /~apper/sc https://spellcheck.toolforge.org\n    Redirect 301 /~apper/ipp https://ipp.toolforge.org\n    Redirect 301 /~beta16 https://betabot.toolforge.org\n    Redirect 301 /~betacommand https://betacommand-dev.toolforge.org\n    Redirect 301 /~bryan/flickr https://flickr.toolforge.org/byebye.html\n    Redirect 301 /~chm/blockcalc https://blockcalc.toolforge.org\n    Redirect 301 /~chm/blockcalc.php https://blockcalc.toolforge.org\n    Redirect 301 /~dalba/gbcfarsi.fcgi https://yadkard.toolforge.org\n    Redirect 301 /~dalba/yadkard.fcgi https://yadkard.toolforge.org\n    Redirect 301 /~dalba https://wikitech.wikimedia.org/wiki/User:Dalba\n    Redirect 301 /~daniel/WikiSense/CatScan.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~daniel/potd https://potd-feed.toolforge.org/potd.php\n    Redirect 301 /~daniel/WikiSense/CategoryIntersect.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~daniel/WikiSense/Contributors.php https://xtools.toolforge.org/articleinfo\n    Redirect 301 /~daniel/WikiSense https://wikisense.toolforge.org\n    Redirect 301 /~dapete/ime https://imagemapedit.toolforge.org\n    Redirect 301 /~dapete/random/dewiki-exzellent.php https://random-featured.toolforge.org/redirect/dewiki\n    Redirect 301 /~dapete/random/dewiki-lesenswert.php https://random-featured.toolforge.org/redirect/dewiki-lesenswert\n    Redirect 301 /~dapete/random/enwiki-featured.php https://random-featured.toolforge.org/redirect/enwiki\n    Redirect 301 /~dapete/random/enwiki-good.php https://random-featured.toolforge.org/redirect/enwiki-good\n    Redirect 301 /~dapete/random/nowiki-utmerkede.php https://random-featured.toolforge.org/redirect/nowiki\n    Redirect 301 /~dapete/random/nowiki-anbefalte.php https://random-featured.toolforge.org/redirect/nowiki-anbefalte\n    Redirect 301 /~dapete/rss/dewikinews.php https://dewikinews-rss.toolforge.org\n    Redirect 301 /~dapete/wikinews-rss/rss-de-cat.php https://dewikinews-rss.toolforge.org/kategorie\n    Redirect 301 /~dapete/catgraph/graph.php https://vcat.toolforge.org/catgraphRedirect\n    Redirect 301 /~dapete/catgraph https://vcat.toolforge.org/catgraphConvert\n    Redirect 301 /~dartar/cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 301 /~dcoetzee/duplicationdetector https://dupdet.toolforge.org\n    Redirect 301 /~dereckson/translate https://translate.toolforge.org\n    Redirect 301 /~dispenser https://dispenser.toolforge.org\n    Redirect 301 /~dschwen/wma/iframe.html https://wma.wmflabs.org/iframe.html\n    Redirect 301 /~dschwen/wma https://wma.wmflabs.org\n    Redirect 301 /~dungodung https://rightstool.toolforge.org\n    Redirect 301 /~earwig/copyvios https://copyvios.toolforge.org\n    Redirect 301 /~earwig/settings https://copyvios.toolforge.org/settings\n    Redirect 301 /~earwig https://copyvios.toolforge.org\n    Redirect 301 /~eccenux/authors https://authors.toolforge.org\n    Redirect 301 /~eccenux https://dna.toolforge.org\n    Redirect 301 /~emijrp/wikimediacounter https://wmcounter.toolforge.org\n    Redirect 301 /~emijrp/wlm/stats.php https://wlm-stats.toolforge.org\n    Redirect 301 /~emijrp/wmcharts https://wmcharts.toolforge.org\n    Redirect 301 /~emijrp/wlm/spain https://wlm-maps.toolforge.org/\n    Redirect 301 /~enwp10 https://enwp10.toolforge.org/\n    Redirect 301 /~erfgoed https://heritage.toolforge.org\n    Redirect 301 /~erwin85 https://erwin85.toolforge.org\n    Redirect 301 /~geohack https://geohack.toolforge.org/\n    Redirect 301 /~hoo https://hoo.toolforge.org\n    Redirect 301 /~jarry/svgtranslate/doc/index.html /~jarry/svgtranslate/doc/index.php\n    Redirect 301 /~jarry/svgcheck https://svgcheck.toolforge.org\n    Redirect 301 /~jarry/wikicup https://wikicup.toolforge.org\n    Redirect 301 /~jarry/grep https://grep.toolforge.org\n    Redirect 301 /~jarry/templatecount https://templatecount.toolforge.org\n    Redirect 301 /~jarry/yourpaintings/index.php https://jarry-common.toolforge.org/migration.php\n    Redirect 301 /~jarry/imagechecker https://imagechecker.toolforge.org\n    Redirect 301 /~jbarta/resize.html https://image-resize-calc.toolforge.org\n    Redirect 301 /~jimmy https://jimmy.toolforge.org\n    Redirect 301 /~jitse/tool.php https://new.toolforge.org/tool.php\n    Redirect 301 /~johang/wikitrends https://wikitrends.toolforge.org\n    Redirect 301 /~johang/2012.html https://wikitrends.toolforge.org/2012.html\n    Redirect 301 /~johang/2013.html https://wikitrends.toolforge.org/2013.html\n    Redirect 301 /~kolossos/openlayers/kml-on-ol.php https://wiwosm.toolforge.org/osm-on-ol/kml-on-ol.php\n    Redirect 301 /~kolossos/openlayers/kml-on-ol-json3.php https://wiwosm.toolforge.org/osm-on-ol/kml-on-ol.php\n    Redirect 301 /~kolossos/openlayers/embed.html https://wiwosm.toolforge.org/osm-on-ol/embed-labs.html\n    Redirect 301 /~kolossos/wp-world/umkreis.php https://wp-world.toolforge.org/umkreis.php\n    Redirect 301 /~kolossos/openlayers/commons-on-osm.php https://wiwosm.toolforge.org/osm-on-ol/commons-on-osm.php\n    Redirect 301 /~kolossos/templatetiger https://templatetiger.toolforge.org\n    Redirect 301 /~kolossos/earth.php https://wp-world.toolforge.org/earth.php\n    Redirect 301 /~kolossos/world-link.php https://wp-world.toolforge.org/world-link.php\n    Redirect 301 /~kolossos/geoworld https://wp-world.toolforge.org\n    Redirect 301 /~kolossos/qtm2 https://query2map.toolforge.org\n    Redirect 301 /~kolossos/image https://zoomable-images.toolforge.org\n    Redirect 301 /~kolossos/osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 301 /~krinkle https://krinkle-redirect.toolforge.org\n    Redirect 301 /~legoktm https://meta.wikimedia.org/wiki/User:Legoktm/Toolserver?from=\n    Redirect 301 /~liangent https://liangent-toolserver.toolforge.org\n    Redirect 301 /~locator https://locator.toolforge.org\n    Redirect 301 /~luxo/contributions/contributions.php https://guc.toolforge.org/index.php\n    Redirect 301 /~lvova https://connectivity.toolforge.org/\n    Redirect 301 /~magnus/commonsapi.php https://magnus-toolserver.toolforge.org/commonsapi.php\n    Redirect 301 /~magnus/ts2/geneawiki2 https://reasonator.toolforge.org/geneawiki2\n    Redirect 301 /~magnus/catscan_rewrite.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~magnus/geograph_org2commons.php https://geograph2commons.toolforge.org\n    Redirect 301 /~magnus/catfood.php https://catfood.toolforge.org/catfood.php\n    Redirect 301 /~magnus/commonshelper.php https://commonshelper.toolforge.org\n    Redirect 301 /~magnus/templator.php https://templator.toolforge.org\n    Redirect 301 /~magnus/transparent.php https://magnustools.toolforge.org/transparent.php\n    Redirect 301 /~magnus/wd_terminator.php https://wikidata-terminator.toolforge.org/index.php\n    Redirect 301 /~magnus/commons_sumitup.php https://multidesc.toolforge.org\n    Redirect 301 /~magnus/whatisthat.php https://multidesc.toolforge.org\n    Redirect 301 /~magnus/isin.php https://isin.toolforge.org\n    Redirect 301 /~magnus/catnap.php https://catnap.toolforge.org\n    Redirect 301 /~magnus/flickr2commons.php https://flickr2commons.toolforge.org\n    Redirect 301 /~magnus/isbn2wiki.php https://isbn2wiki.toolforge.org\n    Redirect 301 /~magnus/dnb_link_finder.php https://dnbtools.toolforge.org/dnb_link_finder.php\n    Redirect 301 /~magnus/prepbio.php https://magnustools.toolforge.org/prepbio.php\n    Redirect 301 /~magnus/tab2wiki.php https://magnustools.toolforge.org/tab2wiki.php\n    Redirect 301 /~magnus/flickrfree.php https://magnustools.toolforge.org/flickrfree.php\n    Redirect 301 /~magnus/pages_in_cats.php https://catscan2.toolforge.org/pages_in_cats.php\n    Redirect 301 /~magnus/dnb_wikisource.php https://dnbtools.toolforge.org/dnb_wikisource.php\n    Redirect 301 /~magnus/dnb/map2wp.php https://dnbtools.toolforge.org/map2wp.php\n    Redirect 301 /~magnus/category_intersection.php https://catscan2.toolforge.org/quick_intersection.php\n    Redirect 301 /~magnus/get_article_intro.php https://magnustools.toolforge.org/get_article_intro.php\n    Redirect 301 /~magnus/get_distinct_authors.php https://magnustools.toolforge.org/get_distinct_authors.php\n    Redirect 301 /~magnus/update_article_counter.php https://magnustools.toolforge.org/update_article_counter.php\n    Redirect 301 /~magnus/most_wanted.php https://most-wanted.toolforge.org\n    Redirect 301 /~magnus/widget https://glamtools.toolforge.org/widget\n    Redirect 301 /~magnus/userdupes.php https://filedupes.toolforge.org\n    Redirect 301 /~magnus/commons_dupes.php https://filedupes.toolforge.org\n    Redirect 301 /~magnus/makeref.php https://makeref.toolforge.org\n    Redirect 301 /~magnus/wikitodo.php https://wiki-todo.toolforge.org\n    Redirect 301 /~magnus/wp_data_url.php https://magnustools.toolforge.org/wp_data_url.php\n    Redirect 301 /~magnus/wiki2playlist.php https://magnustools.toolforge.org/wiki2playlist.php\n    Redirect 301 /~magnus/iCommons.php https://icommons.toolforge.org\n    Redirect 301 /~magnus/glamorous.php https://glamtools.toolforge.org/glamorous.php\n    Redirect 301 /~magnus/baglama.php https://glamtools.toolforge.org/baglama.php\n    Redirect 301 /~magnus/file_reuse https://magnustools.toolforge.org/file_reuse\n    Redirect 301 /~magnus/all_no_information.php https://add-information.toolforge.org/no_information.php\n    Redirect 301 /~magnus/mynoinfo.php https://add-information.toolforge.org/no_information.php\n    Redirect 301 /~magnus/fist.php https://fist.toolforge.org/fist.php\n    Redirect 301 /~magnus/missingtopics.php https://missingtopics.toolforge.org/?\n    Redirect 301 /~magnus/book2scroll https://book2scroll.toolforge.org\n    Redirect 301 /~magnus/html2wiki.php https://magnustools.toolforge.org/html2wiki.php\n    Redirect 301 /~magnus/url2commons.php https://url2commons.toolforge.org\n    Redirect 301 /~magnus/file_siblings.php https://file-siblings.toolforge.org\n    Redirect 301 /~magnus/commons_image_feed.php https://catfood.toolforge.org/commons_image_feed.php\n    Redirect 301 /~magnus/bad_boys.php https://usualsuspects.toolforge.org\n    Redirect 301 /~magnus/bad_old_ones.php https://usualsuspects.toolforge.org\n    Redirect 301 /~magnus/cas.php https://magnustools.toolforge.org/cas.php\n    Redirect 301 /~magnus/add_information.php https://add-information.toolforge.org\n    Redirect 301 /~magnus/random_out_of_sight.php https://sighting.toolforge.org/random_out_of_sight.php\n    Redirect 301 /~magnus/outofsight.php https://sighting.toolforge.org/outofsight.php\n    Redirect 301 /~magnus/deep_insight.php https://sighting.toolforge.org/deep_insight.php\n    Redirect 301 /~magnus/deep_out_of_sight.php https://sighting.toolforge.org/deep_out_of_sight.php\n    Redirect 301 /~magnus/cgi-bin/flommons.pl https://magnustools.toolforge.org/flommons.pl\n    Redirect 301 /~magnus/wikishootme https://wikishootme.toolforge.org\n    Redirect 301 /~magnus/ts2/geneawiki https://magnus-toolserver.toolforge.org/ts2/geneawiki\n    Redirect 301 /~magnus/geohack https://geohack.toolforge.org\n    Redirect 301 /~magnus/geo https://geohack.toolforge.org\n    Redirect 301 /~magnus/joanjoc/sugart.php https://joanjoc.toolforge.org/sugart.php\n    Redirect 301 /~magnus https://magnustools.toolforge.org\n    Redirect 301 /~master https://wiwosm.toolforge.org\n    Redirect 303 /~mathbot https://mathbot.toolforge.org/\n    Redirect 301 /~multichill/coordinates.php https://locator.toolforge.org/coordinates.php\n    Redirect 301 /~multichill/coordinates2.php https://locator.toolforge.org/coordinates.php\n    Redirect 301 /~multichill/monapi/api.php https://heritage.toolforge.org/api/api.php\n    Redirect 301 /~multichill/temp/queries https://multichill.toolforge.org/queries\n    Redirect 301 /~multichill https://multichill.toolforge.org\n    Redirect 301 /~mxn https://tilde.toolforge.org\n    Redirect 301 /~mzmcbride/yanker https://pirsquared.toolforge.org/ts_archive/mzmcbride/yanker.py\n    Redirect 301 /~nikola/articlesby.php https://xpages.toolforge.org\n    Redirect 301 /~nikola/svgtranslate.php https://svgtranslate.toolforge.org/\n    Redirect 301 /~nlwikibots https://nlwikibots.toolforge.org\n    Redirect 301 /~para/region.php https://para.toolforge.org/geo/worldadmin98\n    Redirect 301 /~para/GeoCommons/kml.php https://geocommons.toolforge.org/kml\n    Redirect 301 /~para/GeoCommons/GeoCommons-simple.kml https://geocommons.toolforge.org/web.kml\n    Redirect 301 /~para/GeoCommons/GeoCommons.kml https://geocommons.toolforge.org/geocommons.kml\n    Redirect 301 /~para/cgi-bin/kmlexport https://kmlexport.toolforge.org\n    Redirect 301 /~para/Commons:Special:NewFiles https://para.toolforge.org/Commons:Special:NewFiles\n    Redirect 301 /~para/GeoCommons/earth.php https://geocommons.toolforge.org/earth.kml\n    Redirect 301 /~para/GeoCommons/info.php https://geocommons.toolforge.org/info.php\n    Redirect 301 /~para/GeoCommons/proximityrama https://geocommons.toolforge.org/proximityrama\n    Redirect 301 /~para/earth.php https://geocommons.toolforge.org/earth.kml\n    Redirect 301 /~para/GeoCommons/geocodingtodo.php https://geocommons.toolforge.org/geocodingtodo\n    Redirect 301 /~para/cgi-bin/wgs2tky https://para.toolforge.org/geo/convert/wgs2tky\n    Redirect 301 /~para/WGS84toRT90.php https://para.toolforge.org/geo/convert/WGS84toRT90\n    Redirect 301 /~para/kkj.php https://para.toolforge.org/geo/convert/kkj\n    Redirect 301 /~para/kkj2wiki.php https://para.toolforge.org/geo/convert/kkj2wiki\n    Redirect 301 /~para/geoportail.php https://para.toolforge.org/ripts/geoportail-changed-links.html\n    Redirect 301 /~para/geonotices.php https://para.toolforge.org/geo/geonotices\n    Redirect 301 /~para/coordmissing https://para.toolforge.org/ripts/coordmissing\n    Redirect 301 /~para https://para.toolforge.org/ripts\n    Redirect 301 /~pathoschild https://pathoschild-contrib.toolforge.org\n    Redirect 301 /~phe/statistics.php https://phetools.toolforge.org/statistics.php\n    Redirect 301 /~phe/stats.html https://phetools.toolforge.org/stats.html\n    Redirect 301 /~phe/transclusions.html https://phetools.toolforge.org/transclusions.html\n    Redirect 301 /~phe/ocr.php https://phetools.toolforge.org/ocr.php\n    Redirect 301 /~phe/robot.php https://phetools.toolforge.org/match_and_split.php\n    Redirect 301 /~phe https://phetools.toolforge.org\n    Redirect 301 /~pietrodn/intersectContribs.php https://intersect-contribs.toolforge.org\n    Redirect 301 /~render https://render.toolforge.org\n    Redirect 301 /~robin https://robin.toolforge.org\n    Redirect 301 /~russell/cgi-bin/csd.py https://russbot.toolforge.org/csd.py\n    Redirect 301 /~russell/cgi-bin/long_disambig_pages.py https://russbot.toolforge.org/long_disambig_pages.py\n    Redirect 301 /~seth/grep_regexp_from_url.cgi https://searchsbl.toolforge.org\n    Redirect 301 /~seth/google_url_converter.cgi https://url-converter.toolforge.org\n    Redirect 301 /~sk/checkwiki https://checkwiki.toolforge.org/cgi-bin/checkwiki.cgi\n    Redirect 301 /~snottywong https://jackbot.toolforge.org/snottywong\n    Redirect 301 /~soxred93 https://xtools.toolforge.org\n    Redirect 301 /~stewardbots https://stewardbots.toolforge.org\n    Redirect 301 /~timl/wikilint https://wikilint.toolforge.org\n    Redirect 301 /~timl https://de.wikipedia.org/wiki/Benutzer:Tim.landscheidt\n    Redirect 301 /~tparis https://xtools.toolforge.org\n    Redirect 301 /~verisimilus/Timeline https://timescale.toolforge.org/?Ma=\n    Redirect 301 /~vvv/adminstats.php https://xtools.toolforge.org/adminstats\n    Redirect 301 /~webboy/wikirc https://jeltebot.toolforge.org\n    Redirect 301 /~wiegels/wikipedia-termine.php https://icalendar.toolforge.org/\n    Redirect 301 /~wikifeeds https://wikifeeds.toolforge.org/\n\n    # things that are GONE and clients should stop even trying\n    # contact http://wiki.openstreetmap.org/wiki/User:Colin_Marquardt\n    Redirect gone /~cmarqu\n    # https://phabricator.wikimedia.org/T282889\n    Redirect gone /tiles\n    Redirect gone /~mzmcbride\n    Redirect gone /~timl/templatecheck.php\n    Redirect gone /~webboy/commonswiki/stats.php\n    Redirect gone /~webboy/nowiki/stats.php\n    Redirect gone /~webboy/stats.php\n\n    # Redirects from stable.toolserver.org\n    #\n    Redirect 301 /geohack https://geohack.toolforge.org\n\n</VirtualHost>\n","ensure":"present","priority":50}},{"type":"File","title":"/var/www/www.toolserver.org","tags":["file","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":32,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0555","source":"puppet:///modules/profile/toolforge/legacy_redirector/www.toolserver.org/","recurse":true,"purge":true}},{"type":"Ferm::Service","title":"http","tags":["ferm::service","ferm","service","http","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":42,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port":"80","desc":"HTTP webserver for the entire world","ensure":"present","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Ferm::Service","title":"https","tags":["ferm::service","ferm","service","https","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":48,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port":"443","desc":"HTTPS webserver for the entire world","ensure":"present","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Prometheus::Blackbox::Check::Http","title":"tools.wmflabs.org main page","tags":["prometheus::blackbox::check::http","prometheus","blackbox","check","http","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"port":443,"prometheus_instance":"tools","team":"wmcs","timeout":"10s","severity":"warning","server_name":"tools.wmflabs.org","path":"/","status_matches":[302],"header_matches":[{"header":"Location","regexp":"^https://toolforge.org/$"}],"instance_label":"tools-legacy-redirector-3","ip4":"172.16.18.124","ip6":"2a02:ec80:a000:1::304","ip_families":["ip4","ip6"],"force_tls":false,"insecure_tls":false,"certificate_expiry_days":10,"use_client_auth":false,"client_auth_cert":"/etc/prometheus/ssl/cert.pem","client_auth_key":"/etc/prometheus/ssl/server.key","req_headers":{},"header_not_matches":[],"body_regex_matches":[],"body_regex_not_matches":[],"body":{},"method":"GET","follow_redirects":false,"site":"eqiad","probe_runbook":"https://wikitech.wikimedia.org/wiki/Runbook#{{ $labels.instance }}","probe_description":"{{ $labels.instance }} failed when probed by {{ $labels.module }} from {{ $externalLabels.site }}. Availability is {{ $value }}%.","probe_summary":"Service {{ $labels.instance }} has failed probes ({{ $labels.module }})","probe_dashboard":"https://grafana.wikimedia.org/d/O0nHhdhnz/network-probes-overview?var-job={{ $labels.job }}&var-module=All","ssl_expired_runbook":"https://wikitech.wikimedia.org/wiki/TLS/Runbook#{{ $labels.instance }}","ssl_expired_description":"The certificate presented by service {{ $labels.instance }} is going to expire in {{ $value | humanizeDuration }}","ssl_expired_summary":"Certificate for service {{ $labels.instance }} is about to expire","ssl_expired_dashboard":"https://grafana.wikimedia.org/d/K1dRhGCnz/probes-tls-dashboard","alert_after":"2m"}},{"type":"Prometheus::Blackbox::Check::Http","title":"tools.wmflabs.org tool","tags":["prometheus::blackbox::check::http","prometheus","blackbox","check","http","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"port":443,"prometheus_instance":"tools","team":"wmcs","timeout":"10s","severity":"warning","server_name":"tools.wmflabs.org","path":"/sal/aaa","status_matches":[308],"header_matches":[{"header":"Location","regexp":"^https://sal.toolforge.org/aaa$"}],"instance_label":"tools-legacy-redirector-3","ip4":"172.16.18.124","ip6":"2a02:ec80:a000:1::304","ip_families":["ip4","ip6"],"force_tls":false,"insecure_tls":false,"certificate_expiry_days":10,"use_client_auth":false,"client_auth_cert":"/etc/prometheus/ssl/cert.pem","client_auth_key":"/etc/prometheus/ssl/server.key","req_headers":{},"header_not_matches":[],"body_regex_matches":[],"body_regex_not_matches":[],"body":{},"method":"GET","follow_redirects":false,"site":"eqiad","probe_runbook":"https://wikitech.wikimedia.org/wiki/Runbook#{{ $labels.instance }}","probe_description":"{{ $labels.instance }} failed when probed by {{ $labels.module }} from {{ $externalLabels.site }}. Availability is {{ $value }}%.","probe_summary":"Service {{ $labels.instance }} has failed probes ({{ $labels.module }})","probe_dashboard":"https://grafana.wikimedia.org/d/O0nHhdhnz/network-probes-overview?var-job={{ $labels.job }}&var-module=All","ssl_expired_runbook":"https://wikitech.wikimedia.org/wiki/TLS/Runbook#{{ $labels.instance }}","ssl_expired_description":"The certificate presented by service {{ $labels.instance }} is going to expire in {{ $value | humanizeDuration }}","ssl_expired_summary":"Certificate for service {{ $labels.instance }} is about to expire","ssl_expired_dashboard":"https://grafana.wikimedia.org/d/K1dRhGCnz/probes-tls-dashboard","alert_after":"2m"}},{"type":"Prometheus::Blackbox::Check::Http","title":"toolserver.org main page","tags":["prometheus::blackbox::check::http","prometheus","blackbox","check","http","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"port":443,"prometheus_instance":"tools","team":"wmcs","timeout":"10s","severity":"warning","server_name":"toolserver.org","path":"/","status_matches":[200],"body_regex_matches":["Toolserver was"],"instance_label":"tools-legacy-redirector-3","ip4":"172.16.18.124","ip6":"2a02:ec80:a000:1::304","ip_families":["ip4","ip6"],"force_tls":false,"insecure_tls":false,"certificate_expiry_days":10,"use_client_auth":false,"client_auth_cert":"/etc/prometheus/ssl/cert.pem","client_auth_key":"/etc/prometheus/ssl/server.key","req_headers":{},"header_matches":[],"header_not_matches":[],"body_regex_not_matches":[],"body":{},"method":"GET","follow_redirects":false,"site":"eqiad","probe_runbook":"https://wikitech.wikimedia.org/wiki/Runbook#{{ $labels.instance }}","probe_description":"{{ $labels.instance }} failed when probed by {{ $labels.module }} from {{ $externalLabels.site }}. Availability is {{ $value }}%.","probe_summary":"Service {{ $labels.instance }} has failed probes ({{ $labels.module }})","probe_dashboard":"https://grafana.wikimedia.org/d/O0nHhdhnz/network-probes-overview?var-job={{ $labels.job }}&var-module=All","ssl_expired_runbook":"https://wikitech.wikimedia.org/wiki/TLS/Runbook#{{ $labels.instance }}","ssl_expired_description":"The certificate presented by service {{ $labels.instance }} is going to expire in {{ $value | humanizeDuration }}","ssl_expired_summary":"Certificate for service {{ $labels.instance }} is about to expire","ssl_expired_dashboard":"https://grafana.wikimedia.org/d/K1dRhGCnz/probes-tls-dashboard","alert_after":"2m"}},{"type":"Prometheus::Blackbox::Check::Http","title":"toolserver.org redirects","tags":["prometheus::blackbox::check::http","prometheus","blackbox","check","http","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/toolforge/legacy_redirector.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"port":443,"prometheus_instance":"tools","team":"wmcs","timeout":"10s","severity":"warning","server_name":"toolserver.org","path":"/~legoktm","status_matches":[301],"header_matches":[{"header":"Location","regexp":"^https://meta.wikimedia.org/wiki/User:Legoktm/Toolserver\\?from=$"}],"instance_label":"tools-legacy-redirector-3","ip4":"172.16.18.124","ip6":"2a02:ec80:a000:1::304","ip_families":["ip4","ip6"],"force_tls":false,"insecure_tls":false,"certificate_expiry_days":10,"use_client_auth":false,"client_auth_cert":"/etc/prometheus/ssl/cert.pem","client_auth_key":"/etc/prometheus/ssl/server.key","req_headers":{},"header_not_matches":[],"body_regex_matches":[],"body_regex_not_matches":[],"body":{},"method":"GET","follow_redirects":false,"site":"eqiad","probe_runbook":"https://wikitech.wikimedia.org/wiki/Runbook#{{ $labels.instance }}","probe_description":"{{ $labels.instance }} failed when probed by {{ $labels.module }} from {{ $externalLabels.site }}. Availability is {{ $value }}%.","probe_summary":"Service {{ $labels.instance }} has failed probes ({{ $labels.module }})","probe_dashboard":"https://grafana.wikimedia.org/d/O0nHhdhnz/network-probes-overview?var-job={{ $labels.job }}&var-module=All","ssl_expired_runbook":"https://wikitech.wikimedia.org/wiki/TLS/Runbook#{{ $labels.instance }}","ssl_expired_description":"The certificate presented by service {{ $labels.instance }} is going to expire in {{ $value | humanizeDuration }}","ssl_expired_summary":"Certificate for service {{ $labels.instance }} is about to expire","ssl_expired_dashboard":"https://grafana.wikimedia.org/d/K1dRhGCnz/probes-tls-dashboard","alert_after":"2m"}},{"type":"File","title":"/lib/systemd/system/prometheus_puppet_agent_stats.service","tags":["file","systemd::unit","systemd","unit","prometheus_puppet_agent_stats.service","systemd::timer::job","timer","job","prometheus_puppet_agent_stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Regular job to collect puppet agent stats\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\nAfter=puppet-agent-timer.service\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/prometheus-puppet-agent-stats --outfile /var/lib/prometheus/node.d/puppet_agent.prom\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus_puppet_agent_stats.service (prometheus_puppet_agent_stats.service)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus_puppet_agent_stats.service (prometheus_puppet_agent_stats.service)","tags":["exec","systemd::unit","systemd","unit","prometheus_puppet_agent_stats.service","systemd::timer::job","timer","job","prometheus_puppet_agent_stats","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"prometheus_puppet_agent_stats","tags":["systemd::service","systemd","service","prometheus_puppet_agent_stats","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of prometheus_puppet_agent_stats.service\n\n[Timer]\nUnit=prometheus_puppet_agent_stats.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=minutely\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[prometheus_puppet_agent_stats.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/prometheus_puppet_agent_stats","tags":["file","systemd::syslog","systemd","syslog","prometheus_puppet_agent_stats","systemd::timer::job","timer","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"prometheus_puppet_agent_stats","tags":["rsyslog::conf","rsyslog","conf","prometheus_puppet_agent_stats","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"prometheus_puppet_agent_stats\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/prometheus_puppet_agent_stats/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/prometheus_puppet_agent_stats]","mode":"0444"}},{"type":"Logrotate::Conf","title":"prometheus_puppet_agent_stats","tags":["logrotate::conf","logrotate","conf","prometheus_puppet_agent_stats","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"# logrotate(8) config for prometheus_puppet_agent_stats\n\n/var/log/prometheus_puppet_agent_stats/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/clean_puppet_client_bucket.service","tags":["file","systemd::unit","systemd","unit","clean_puppet_client_bucket.service","systemd::timer::job","timer","job","clean_puppet_client_bucket","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Delete old files from the puppet client bucket\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/bin/find /var/lib/puppet/clientbucket/ -type f -mtime +14 -atime +14 -delete\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for clean_puppet_client_bucket.service (clean_puppet_client_bucket.service)]"}},{"type":"Exec","title":"systemd daemon-reload for clean_puppet_client_bucket.service (clean_puppet_client_bucket.service)","tags":["exec","systemd::unit","systemd","unit","clean_puppet_client_bucket.service","systemd::timer::job","timer","job","clean_puppet_client_bucket","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"clean_puppet_client_bucket","tags":["systemd::service","systemd","service","clean_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of clean_puppet_client_bucket.service\n\n[Timer]\nUnit=clean_puppet_client_bucket.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=24h\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[clean_puppet_client_bucket.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/lib/systemd/system/puppet-agent-timer.service","tags":["file","systemd::unit","systemd","unit","puppet-agent-timer.service","systemd::timer::job","timer","job","puppet-agent-timer","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Run Puppet agent every 30 minutes\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=-/usr/local/sbin/puppet-run\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for puppet-agent-timer.service (puppet-agent-timer.service)]"}},{"type":"Exec","title":"systemd daemon-reload for puppet-agent-timer.service (puppet-agent-timer.service)","tags":["exec","systemd::unit","systemd","unit","puppet-agent-timer.service","systemd::timer::job","timer","job","puppet-agent-timer","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"puppet-agent-timer","tags":["systemd::service","systemd","service","puppet-agent-timer","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of puppet-agent-timer.service\n\n[Timer]\nUnit=puppet-agent-timer.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:6/30:00\nOnStartupSec=1min\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[puppet-agent-timer.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/puppet-agent-timer","tags":["file","systemd::syslog","systemd","syslog","puppet-agent-timer","systemd::timer::job","timer","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"puppet-agent-timer","tags":["rsyslog::conf","rsyslog","conf","puppet-agent-timer","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"puppet-agent-timer\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/puppet-agent-timer/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/puppet-agent-timer]","mode":"0444"}},{"type":"Logrotate::Conf","title":"puppet-agent-timer","tags":["logrotate::conf","logrotate","conf","puppet-agent-timer","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for puppet-agent-timer\n\n/var/log/puppet-agent-timer/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/etc/logrotate.d/puppet","tags":["file","logrotate::conf","logrotate","conf","puppet","logrotate::rule","rule","class","profile::puppet::agent","profile","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# This file is managed by Puppet.\n# puppet:///logrotate/logrotate.erb\n\n/var/log/puppet /var/log/puppet.log {\n    notifempty\n    daily\n    rotate 7\n    compress\n    delaycompress\n    missingok\n    sharedscripts\n    postrotate\n        /usr/lib/rsyslog/rsyslog-rotate\n    endscript\n}\n"}},{"type":"Concat_fragment","title":"debian","tags":["_etc_apt_sources.list.d_debian.sources","concat_fragment","debian","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","tag":"_etc_apt_sources.list.d_debian.sources","order":"10","content":"Types: deb deb-src\nURIs: http://deb.debian.org/debian\nSuites: bookworm\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\n"}},{"type":"Concat_fragment","title":"debian-security","tags":["_etc_apt_sources.list.d_debian.sources","concat_fragment","debian-security","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","tag":"_etc_apt_sources.list.d_debian.sources","order":"10","content":"Types: deb deb-src\nURIs: http://security.debian.org/debian-security\nSuites: bookworm-security\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\n"}},{"type":"Concat_fragment","title":"debian-updates","tags":["_etc_apt_sources.list.d_debian.sources","concat_fragment","debian-updates","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian.sources","tag":"_etc_apt_sources.list.d_debian.sources","order":"10","content":"Types: deb deb-src\nURIs: http://deb.debian.org/debian\nSuites: bookworm-updates\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\n"}},{"type":"Concat_file","title":"/etc/apt/sources.list.d/wikimedia.sources","tags":["_etc_apt_sources.list.d_wikimedia.sources","concat_file","concat","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_apt_sources.list.d_wikimedia.sources","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"wikimedia-header","tags":["_etc_apt_sources.list.d_wikimedia.sources","concat_fragment","wikimedia-header","concat::fragment","concat","fragment","apt::repository","apt","repository","wikimedia","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia.sources","tag":"_etc_apt_sources.list.d_wikimedia.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat_fragment","title":"wikimedia","tags":["_etc_apt_sources.list.d_wikimedia.sources","concat_fragment","wikimedia","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia.sources","tag":"_etc_apt_sources.list.d_wikimedia.sources","order":"10","content":"Types: deb deb-src\nURIs: http://apt.wikimedia.org/wikimedia\nSuites: bookworm-wikimedia\nComponents: main\nSigned-By: /etc/apt/keyrings/wikimedia-archive-keyring.gpg\n"}},{"type":"Concat_file","title":"/etc/apt/sources.list.d/wikimedia-private.sources","tags":["_etc_apt_sources.list.d_wikimedia-private.sources","concat_file","concat","apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":152,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","tag":"_etc_apt_sources.list.d_wikimedia-private.sources","backup":"puppet"}},{"type":"Concat_fragment","title":"wikimedia-private-header","tags":["_etc_apt_sources.list.d_wikimedia-private.sources","concat_fragment","wikimedia-private-header","concat::fragment","concat","fragment","apt::repository","apt","repository","wikimedia-private","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia-private.sources","tag":"_etc_apt_sources.list.d_wikimedia-private.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat_fragment","title":"wikimedia-private","tags":["_etc_apt_sources.list.d_wikimedia-private.sources","concat_fragment","wikimedia-private","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/wikimedia-private.sources","tag":"_etc_apt_sources.list.d_wikimedia-private.sources","order":"10","content":"Types: deb deb-src\nURIs: http://apt.wikimedia.org:8080\nSuites: bookworm-wikimedia-private\nComponents: thirdparty/hwraid\nSigned-By: /etc/apt/keyrings/wikimedia-archive-keyring.gpg\n"}},{"type":"Concat_file","title":"/etc/apt/sources.list.d/debian-backports.sources","tags":["_etc_apt_sources.list.d_debian-backports.sources","concat_file","concat","apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_apt_sources.list.d_debian-backports.sources","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"debian-backports-header","tags":["_etc_apt_sources.list.d_debian-backports.sources","concat_fragment","debian-backports-header","concat::fragment","concat","fragment","apt::repository","apt","repository","debian-backports","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian-backports.sources","tag":"_etc_apt_sources.list.d_debian-backports.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat_fragment","title":"debian-backports","tags":["_etc_apt_sources.list.d_debian-backports.sources","concat_fragment","debian-backports","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian-backports.sources","tag":"_etc_apt_sources.list.d_debian-backports.sources","order":"10","content":"Types: deb deb-src\nURIs: http://deb.debian.org/debian/\nSuites: bookworm-backports\nComponents: main contrib non-free non-free-firmware\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n"}},{"type":"Concat_file","title":"/etc/apt/sources.list.d/debian-debug.sources","tags":["_etc_apt_sources.list.d_debian-debug.sources","concat_file","concat","apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_apt_sources.list.d_debian-debug.sources","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"debian-debug-header","tags":["_etc_apt_sources.list.d_debian-debug.sources","concat_fragment","debian-debug-header","concat::fragment","concat","fragment","apt::repository","apt","repository","debian-debug","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian-debug.sources","tag":"_etc_apt_sources.list.d_debian-debug.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat_fragment","title":"debian-debug","tags":["_etc_apt_sources.list.d_debian-debug.sources","concat_fragment","debian-debug","concat::fragment","concat","fragment","apt::repository","apt","repository","class","profile::apt","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/debian-debug.sources","tag":"_etc_apt_sources.list.d_debian-debug.sources","order":"10","content":"Types: deb\nURIs: http://deb.debian.org/debian-debug\nSuites: bookworm-debug\nComponents: main contrib non-free\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_systemd-timesyncd.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_systemd-timesyncd.service","systemd::timer::job","timer","job","wmf_auto_restart_systemd-timesyncd","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: systemd-timesyncd\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s systemd-timesyncd\n","unit":"wmf_auto_restart_systemd-timesyncd.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_systemd-timesyncd","tags":["systemd::timer","systemd","timer","wmf_auto_restart_systemd-timesyncd","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 18:16:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_systemd-timesyncd.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_systemd-timesyncd","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_systemd-timesyncd","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_prometheus-node-exporter.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_prometheus-node-exporter.service","systemd::timer::job","timer","job","wmf_auto_restart_prometheus-node-exporter","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: prometheus-node-exporter\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s prometheus-node-exporter\n","unit":"wmf_auto_restart_prometheus-node-exporter.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_prometheus-node-exporter","tags":["systemd::timer","systemd","timer","wmf_auto_restart_prometheus-node-exporter","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 18:27:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_prometheus-node-exporter.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_prometheus-node-exporter","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_prometheus-node-exporter","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_rsyslog.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_rsyslog.service","systemd::timer::job","timer","job","wmf_auto_restart_rsyslog","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: rsyslog\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s rsyslog\n","unit":"wmf_auto_restart_rsyslog.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_rsyslog","tags":["systemd::timer","systemd","timer","wmf_auto_restart_rsyslog","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 0:10:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_rsyslog.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_rsyslog","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_rsyslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/etc/rsyslog.d/10-exporter-base.conf","tags":["file","rsyslog::conf","rsyslog","conf","exporter-base","prometheus::rsyslog_exporter","prometheus","rsyslog_exporter","base","class","profile::prometheus::rsyslog_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"module(\n  load=\"impstats\"\n  interval=\"10\"\n  format=\"json\"\n  resetCounters=\"off\"\n  ruleset=\"process_stats\"\n)\n\nmodule(\n  load=\"omprog\"\n)\n\nruleset(name=\"process_stats\") {\n  action(\n    type=\"omprog\"\n    name=\"to_exporter\"\n    # forceSingleInstance has been fixed in rsyslog 8.38\n    # https://github.com/rsyslog/rsyslog/commit/a978072b864324a3a6678660983779b3d2410a1b\n    forceSingleInstance=\"on\"\n    binary=\"/usr/bin/prometheus-rsyslog-exporter -silent -web.listen-address 172.16.18.124:9105\"\n  )\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/rsyslog.d/10-exporter.conf","tags":["file","rsyslog::conf","rsyslog","conf","exporter","prometheus::rsyslog_exporter","prometheus","rsyslog_exporter","base","class","profile::prometheus::rsyslog_exporter","profile","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/systemd/system/cadvisor.service.d/puppet-override.conf","tags":["file","systemd::unit","systemd","unit","cadvisor","systemd::service","service","class","prometheus::cadvisor","prometheus","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"# Disable Docker to stop collecting extra labels/info T337856\n[Service]\nExecStart=\nExecStart=/usr/bin/cadvisor --listen_ip=172.16.18.124 --port=4194 --enable_metrics=app,cpu,disk,diskIO,memory,network,oom_event,perf_event --docker=/dev/null\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for cadvisor.service (cadvisor)]"}},{"type":"Exec","title":"systemd daemon-reload for cadvisor.service (cadvisor)","tags":["exec","systemd::unit","systemd","unit","cadvisor","systemd::service","service","class","prometheus::cadvisor","prometheus","profile::prometheus::cadvisor","profile","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Class","title":"Sysctl","tags":["class","sysctl","sysctl::conffile","conffile","sysctl::parameters","parameters","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"exported":false,"kind":"unknown"},{"type":"File","title":"/etc/sysctl.d","tags":["file","class","sysctl","sysctl::conffile","conffile","sysctl::parameters","parameters","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/init.pp","line":9,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0644","recurse":true,"purge":true,"force":true,"source":"puppet:///modules/sysctl/sysctl.d-empty"}},{"type":"Exec","title":"update_sysctl","tags":["exec","update_sysctl","class","sysctl","sysctl::conffile","conffile","sysctl::parameters","parameters","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/init.pp","line":20,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl restart systemd-sysctl.service","refreshonly":true}},{"type":"File","title":"/etc/sysctl.d/51-ubuntu-defaults.conf","tags":["file","sysctl::conffile","sysctl","conffile","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nfs.protected_hardlinks = 1\nfs.protected_symlinks = 1\nkernel.kptr_restrict = 1\nkernel.printk = 4 4 1 7\nkernel.yama.ptrace_scope = 1\nnet.ipv4.conf.all.rp_filter = 1\nnet.ipv4.conf.default.rp_filter = 1\nnet.ipv4.tcp_syncookies = 1\nvm.mmap_min_addr = 65536\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"File","title":"/etc/sysctl.d/60-wikimedia-base.conf","tags":["file","sysctl::conffile","sysctl","conffile","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.core.netdev_max_backlog = 2500\nnet.core.rmem_max = 16777216\nnet.core.somaxconn = 1024\nnet.core.wmem_max = 16777216\nnet.ipv4.tcp_challenge_ack_limit = 987654321\nnet.ipv4.tcp_keepalive_intvl = 1\nnet.ipv4.tcp_keepalive_probes = 2\nnet.ipv4.tcp_keepalive_time = 300\nnet.ipv4.tcp_max_syn_backlog = 4096\nnet.ipv4.tcp_no_metrics_save = 1\nnet.ipv4.tcp_rmem = 4096 87380 16777216\nnet.ipv4.tcp_wmem = 4096 65536 16777216\nnet.ipv6.route.max_size = 131072\nvm.swappiness = 0\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"File","title":"/etc/sysctl.d/70-disable_unprivileged_bpf.conf","tags":["file","sysctl::conffile","sysctl","conffile","disable_unprivileged_bpf","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nkernel.unprivileged_bpf_disabled = 1\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"File","title":"/etc/sysctl.d/70-unprivileged_userns_clone.conf","tags":["file","sysctl::conffile","sysctl","conffile","unprivileged_userns_clone","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nkernel.unprivileged_userns_clone = 0\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"File","title":"/etc/sysctl.d/70-fastopen.conf","tags":["file","sysctl::conffile","sysctl","conffile","fastopen","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.ipv4.tcp_fastopen_blackhole_timeout_sec = 3600\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"File","title":"/etc/sysctl.d/70-tcp_min_snd_mss.conf","tags":["file","sysctl::conffile","sysctl","conffile","tcp_min_snd_mss","sysctl::parameters","parameters","class","base::sysctl","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.ipv4.route.min_pmtu = 576\nnet.ipv4.tcp_min_snd_mss = 536\nnet.ipv4.tcp_sack = 1\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_lldpd.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_lldpd.service","systemd::timer::job","timer","job","wmf_auto_restart_lldpd","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: lldpd\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s lldpd\n","unit":"wmf_auto_restart_lldpd.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_lldpd","tags":["systemd::timer","systemd","timer","wmf_auto_restart_lldpd","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 16:2:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_lldpd.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_lldpd","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_lldpd","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_systemd-journald.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_systemd-journald.service","systemd::timer::job","timer","job","wmf_auto_restart_systemd-journald","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: systemd-journald\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s systemd-journald\n","unit":"wmf_auto_restart_systemd-journald.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_systemd-journald","tags":["systemd::timer","systemd","timer","wmf_auto_restart_systemd-journald","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 19:23:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_systemd-journald.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_systemd-journald","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_systemd-journald","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/etc/sysctl.d/70-core_dumps.conf","tags":["file","sysctl::conffile","sysctl","conffile","core_dumps","sysctl::parameters","parameters","class","base::sysctl::core_dumps","base","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nkernel.core_pattern = core\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_ssh.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_ssh.service","systemd::timer::job","timer","job","wmf_auto_restart_ssh","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: ssh\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s ssh\n","unit":"wmf_auto_restart_ssh.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_ssh","tags":["systemd::timer","systemd","timer","wmf_auto_restart_ssh","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 19:45:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_ssh.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_ssh","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_ssh","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/lib/systemd/system/kernel-purge.service","tags":["file","systemd::unit","systemd","unit","kernel-purge.service","systemd::timer::job","timer","job","kernel-purge","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Purge unused kernels\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/kernel-purge -p\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for kernel-purge.service (kernel-purge.service)]"}},{"type":"Exec","title":"systemd daemon-reload for kernel-purge.service (kernel-purge.service)","tags":["exec","systemd::unit","systemd","unit","kernel-purge.service","systemd::timer::job","timer","job","kernel-purge","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"kernel-purge","tags":["systemd::service","systemd","service","kernel-purge","systemd::timer","timer","systemd::timer::job","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of kernel-purge.service\n\n[Timer]\nUnit=kernel-purge.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=monthly\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[kernel-purge.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/kernel-purge","tags":["file","systemd::syslog","systemd","syslog","kernel-purge","systemd::timer::job","timer","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"kernel-purge","tags":["rsyslog::conf","rsyslog","conf","kernel-purge","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"kernel-purge\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/kernel-purge/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/kernel-purge]","mode":"0444"}},{"type":"Logrotate::Conf","title":"kernel-purge","tags":["logrotate::conf","logrotate","conf","kernel-purge","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for kernel-purge\n\n/var/log/kernel-purge/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/prometheus-debian-version-textfile.service","tags":["file","systemd::unit","systemd","unit","prometheus-debian-version-textfile.service","systemd::timer::job","timer","job","prometheus-debian-version-textfile","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Update Debian version stat exported by node_exporter\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/prometheus-debian-version /var/lib/prometheus/node.d/debian_version.prom\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus-debian-version-textfile.service (prometheus-debian-version-textfile.service)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus-debian-version-textfile.service (prometheus-debian-version-textfile.service)","tags":["exec","systemd::unit","systemd","unit","prometheus-debian-version-textfile.service","systemd::timer::job","timer","job","prometheus-debian-version-textfile","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"prometheus-debian-version-textfile","tags":["systemd::service","systemd","service","prometheus-debian-version-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of prometheus-debian-version-textfile.service\n\n[Timer]\nUnit=prometheus-debian-version-textfile.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=300s\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[prometheus-debian-version-textfile.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/lib/systemd/system/prometheus-dpkg-success-textfile.service","tags":["file","systemd::unit","systemd","unit","prometheus-dpkg-success-textfile.service","systemd::timer::job","timer","job","prometheus-dpkg-success-textfile","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Update dpkg status exported by node_exporter\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=prometheus\nExecStart=/usr/local/bin/prometheus-dpkg-success /var/lib/prometheus/node.d/dpkg.prom\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus-dpkg-success-textfile.service (prometheus-dpkg-success-textfile.service)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus-dpkg-success-textfile.service (prometheus-dpkg-success-textfile.service)","tags":["exec","systemd::unit","systemd","unit","prometheus-dpkg-success-textfile.service","systemd::timer::job","timer","job","prometheus-dpkg-success-textfile","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"prometheus-dpkg-success-textfile","tags":["systemd::service","systemd","service","prometheus-dpkg-success-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of prometheus-dpkg-success-textfile.service\n\n[Timer]\nUnit=prometheus-dpkg-success-textfile.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:00/30:00\nRandomizedDelaySec=1800\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[prometheus-dpkg-success-textfile.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/lib/systemd/system/send_puppet_failure_emails.service","tags":["file","systemd::unit","systemd","unit","send_puppet_failure_emails.service","systemd::timer::job","timer","job","send_puppet_failure_emails","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Send emails about Puppet failures\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/puppet_alert.py\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for send_puppet_failure_emails.service (send_puppet_failure_emails.service)]"}},{"type":"Exec","title":"systemd daemon-reload for send_puppet_failure_emails.service (send_puppet_failure_emails.service)","tags":["exec","systemd::unit","systemd","unit","send_puppet_failure_emails.service","systemd::timer::job","timer","job","send_puppet_failure_emails","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"send_puppet_failure_emails","tags":["systemd::service","systemd","service","send_puppet_failure_emails","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of send_puppet_failure_emails.service\n\n[Timer]\nUnit=send_puppet_failure_emails.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*-*-* 08:15:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[send_puppet_failure_emails.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/lib/systemd/system/cleanup_puppet_client_bucket.service","tags":["file","systemd::unit","systemd","unit","cleanup_puppet_client_bucket.service","systemd::timer::job","timer","job","cleanup_puppet_client_bucket","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Delete old files from the puppet client bucket\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/bin/find /var/lib/puppet/clientbucket/ -type f -mtime +14 -atime +14 -delete\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for cleanup_puppet_client_bucket.service (cleanup_puppet_client_bucket.service)]"}},{"type":"Exec","title":"systemd daemon-reload for cleanup_puppet_client_bucket.service (cleanup_puppet_client_bucket.service)","tags":["exec","systemd::unit","systemd","unit","cleanup_puppet_client_bucket.service","systemd::timer::job","timer","job","cleanup_puppet_client_bucket","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"cleanup_puppet_client_bucket","tags":["systemd::service","systemd","service","cleanup_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of cleanup_puppet_client_bucket.service\n\n[Timer]\nUnit=cleanup_puppet_client_bucket.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=24h\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[cleanup_puppet_client_bucket.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"Concat_fragment","title":"/etc/openstack/clouds.yaml_novaobserver","tags":["_etc_openstack_clouds.yaml","concat_fragment","concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/openstack/clouds.yaml","tag":"_etc_openstack_clouds.yaml","order":"10","content":"# SPDX-License-Identifier: Apache-2.0\n  novaobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      project_id: observer\n      user_domain_id: default\n      project_domain_id: default\n    region_name: eqiad1-r\n    identity_api_version: 3\n"}},{"type":"Concat_fragment","title":"/root/.config/openstack/clouds.yaml_novaobserver","tags":["_root_.config_openstack_clouds.yaml","concat_fragment","concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","novaobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/root/.config/openstack/clouds.yaml","tag":"_root_.config_openstack_clouds.yaml","order":"10","content":"# SPDX-License-Identifier: Apache-2.0\n  novaobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      project_id: observer\n      user_domain_id: default\n      project_domain_id: default\n    region_name: eqiad1-r\n    identity_api_version: 3\n"}},{"type":"Concat_fragment","title":"/etc/openstack/clouds.yaml_ossystemobserver","tags":["_etc_openstack_clouds.yaml","concat_fragment","concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/openstack/clouds.yaml","tag":"_etc_openstack_clouds.yaml","order":"10","content":"# SPDX-License-Identifier: Apache-2.0\n  ossystemobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      user_domain_id: default\n      project_domain_id: default\n      system_scope: all\n    region_name: eqiad1-r\n    identity_api_version: 3\n"}},{"type":"Concat_fragment","title":"/root/.config/openstack/clouds.yaml_ossystemobserver","tags":["_root_.config_openstack_clouds.yaml","concat_fragment","concat::fragment","concat","fragment","openstack::util::envscript","openstack","util","envscript","ossystemobserver","class","profile::openstack::base::observerenv","profile","base","observerenv","profile::openstack::eqiad1::observerenv","eqiad1","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/root/.config/openstack/clouds.yaml","tag":"_root_.config_openstack_clouds.yaml","order":"10","content":"# SPDX-License-Identifier: Apache-2.0\n  ossystemobserver:\n    auth:\n      auth_url: https://openstack.eqiad1.wikimediacloud.org:25000/v3\n      username: novaobserver\n      password: Fs6Dq2RtG8KwmM2Z\n      user_domain_id: default\n      project_domain_id: default\n      system_scope: all\n    region_name: eqiad1-r\n    identity_api_version: 3\n"}},{"type":"Concat_file","title":"/etc/security/access.conf","tags":["_etc_security_access.conf","concat_file","concat","class","security::access","security","access","security::access::config","config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_security_access.conf","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Class","title":"Security::Pam","tags":["class","security::pam","security","pam","security::pam::config","config","local-pam-access","security::access","access","security::access::config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"exported":false,"kind":"unknown"},{"type":"Exec","title":"pam-auth-update","tags":["exec","pam-auth-update","class","security::pam","security","pam","security::pam::config","config","local-pam-access","security::access","access","security::access::config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/pam.pp","line":9,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/pam-auth-update --package","refreshonly":true}},{"type":"File","title":"/usr/share/pam-configs/local-pam-access","tags":["file","security::pam::config","security","pam","config","local-pam-access","class","security::access","access","security::access::config","labs-local","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/pam/config.pp","line":37,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/security/local-pam-access","owner":"root","group":"root","mode":"0444","notify":"Exec[pam-auth-update]"}},{"type":"Concat_fragment","title":"security-access-labs-local","tags":["_etc_security_access.conf","concat_fragment","security-access-labs-local","concat::fragment","concat","fragment","security::access::config","security","access","config","labs-local","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/security/access.conf","tag":"_etc_security_access.conf","order":0,"content":"+:ALL:LOCAL\n"}},{"type":"Concat_fragment","title":"security-access-labs-restrict-to-project","tags":["_etc_security_access.conf","concat_fragment","security-access-labs-restrict-to-project","concat::fragment","concat","fragment","security::access::config","security","access","config","labs-restrict-to-project","class","profile::ldap::client::labs","profile","ldap","client","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/security/access.conf","tag":"_etc_security_access.conf","order":99,"content":"-:ALL EXCEPT (project-tools) root:ALL\n"}},{"type":"File","title":"/etc/systemd/system/sssd-nss.service.d","tags":["file","systemd::unit","systemd","unit","sssd-nss.service-sssd-nss-auto-restart","systemd::override","override","sssd-nss-auto-restart","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":61,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0555"}},{"type":"File","title":"/etc/systemd/system/sssd-nss.service.d/sssd-nss-auto-restart.conf","tags":["file","systemd::unit","systemd","unit","sssd-nss.service-sssd-nss-auto-restart","systemd::override","override","sssd-nss-auto-restart","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/ldap/client/sssd/sssd-nss-auto-restart.override.service","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for sssd-nss.service (sssd-nss.service-sssd-nss-auto-restart)]"}},{"type":"Exec","title":"systemd daemon-reload for sssd-nss.service (sssd-nss.service-sssd-nss-auto-restart)","tags":["exec","systemd::unit","systemd","unit","sssd-nss.service-sssd-nss-auto-restart","systemd::override","override","sssd-nss-auto-restart","class","ldap::client::sssd","ldap","client","sssd","profile::ldap::client::labs","profile","labs","profile::wmcs::instance","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/lib/systemd/system/prometheus_ssh_open_sessions.service","tags":["file","systemd::unit","systemd","unit","prometheus_ssh_open_sessions.service","systemd::timer::job","timer","job","prometheus_ssh_open_sessions","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Regular job to collect active shell session information\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/prometheus-ssh_open_sessions /var/lib/prometheus/node.d/ssh_open_sessions.prom\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus_ssh_open_sessions.service (prometheus_ssh_open_sessions.service)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus_ssh_open_sessions.service (prometheus_ssh_open_sessions.service)","tags":["exec","systemd::unit","systemd","unit","prometheus_ssh_open_sessions.service","systemd::timer::job","timer","job","prometheus_ssh_open_sessions","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"prometheus_ssh_open_sessions","tags":["systemd::service","systemd","service","prometheus_ssh_open_sessions","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of prometheus_ssh_open_sessions.service\n\n[Timer]\nUnit=prometheus_ssh_open_sessions.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*-*-* *:0/5:0\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[prometheus_ssh_open_sessions.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/prometheus_ssh_open_sessions","tags":["file","systemd::syslog","systemd","syslog","prometheus_ssh_open_sessions","systemd::timer::job","timer","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"prometheus_ssh_open_sessions","tags":["rsyslog::conf","rsyslog","conf","prometheus_ssh_open_sessions","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"prometheus_ssh_open_sessions\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/prometheus_ssh_open_sessions/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/prometheus_ssh_open_sessions]","mode":"0444"}},{"type":"Logrotate::Conf","title":"prometheus_ssh_open_sessions","tags":["logrotate::conf","logrotate","conf","prometheus_ssh_open_sessions","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for prometheus_ssh_open_sessions\n\n/var/log/prometheus_ssh_open_sessions/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/etc/update-motd.d/50-infrastructure-banner","tags":["file","motd::script","motd","script","infrastructure-banner","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/motd/manifests/script.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/toolforge/40-tools-infrastructure-banner.sh","mode":"0555","owner":"root","group":"root"}},{"type":"Concat::Fragment","title":"security-access-toolforge-admin-only","tags":["concat::fragment","concat","fragment","security-access-toolforge-admin-only","security::access::config","security","access","config","toolforge-admin-only","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/security/manifests/access/config.pp","line":44,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/security/access.conf","content":"-:ALL EXCEPT (tools.admin) root:ALL\n","order":90}},{"type":"File","title":"/etc/sudoers.d/toolforge-admin-root","tags":["file","sudo::group","sudo","group","toolforge-admin-root","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sudo/manifests/group.pp","line":35,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0440","content":"# This file is managed by Puppet!\n\n%tools.admin ALL = (ALL) NOPASSWD: ALL\n","validate_cmd":"/usr/sbin/visudo -cqf %"}},{"type":"Exec","title":"apt_repository_project-aptly","tags":["exec","apt_repository_project-aptly","apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":36,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update ","refreshonly":true}},{"type":"Concat","title":"/etc/apt/sources.list.d/project-aptly.sources","tags":["concat","apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":93,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","notify":"Exec[apt_repository_project-aptly]","path":"/etc/apt/sources.list.d/project-aptly.sources","warn":false,"show_diff":true,"backup":"puppet","replace":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat::Fragment","title":"project-aptly-header","tags":["concat::fragment","concat","fragment","project-aptly-header","apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":100,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/project-aptly.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat::Fragment","title":"project-aptly","tags":["concat::fragment","concat","fragment","project-aptly","apt::repository","apt","repository","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":105,"exported":false,"kind":"defined_type","parameters":{"target":"/etc/apt/sources.list.d/project-aptly.sources","content":"Types: deb\nURIs: http://deb.svc.toolforge.org/repo\nSuites: bookworm-tools\nComponents: main\nTrusted: yes\n","order":"10"}},{"type":"File","title":"/etc/apt/sources.list.d/project-aptly.list","tags":["file","apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/repository.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"Exec","title":"apt_pin_project-aptly","tags":["exec","apt_pin_project-aptly","apt::pin","apt","pin","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/pin.pp","line":19,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/apt-get update","refreshonly":true}},{"type":"File","title":"/etc/apt/preferences.d/project_aptly.pref","tags":["file","apt::pin","apt","pin","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/pin.pp","line":29,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Package: *\nPin: origin deb.svc.toolforge.org\nPin-Priority: 1500\n","notify":"Exec[apt_pin_project-aptly]"}},{"type":"File","title":"/etc/apt/apt.conf.d/52unattended-upgrades-aptly","tags":["file","apt::conf","apt","conf","unattended-upgrades-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/apt/manifests/conf.pp","line":13,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"Unattended-Upgrade::Origins-Pattern:: \"site=deb.svc.toolforge.org\";\n","notify":"Exec[apt-get update]"}},{"type":"Systemd::Unit","title":"ferm-ferm-service-status-restart","tags":["systemd::unit","systemd","unit","ferm-ferm-service-status-restart","systemd::override","override","ferm-service-status-restart","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/override.pp","line":14,"exported":false,"kind":"defined_type","parameters":{"override_filename":"ferm-service-status-restart","override":true,"unit":"ferm","source":"puppet:///modules/ferm/ferm_systemd_override","ensure":"present","restart":false,"require":["Class[Systemd]"]}},{"type":"Exec","title":"update_alternative_iptables","tags":["exec","update_alternative_iptables","alternatives::select","alternatives","select","iptables","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/alternatives/manifests/select.pp","line":25,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/update-alternatives --force --set iptables /usr/sbin/iptables-legacy","unless":"/usr/bin/update-alternatives --query iptables | /bin/grep 'Value: /usr/sbin/iptables-legacy'"}},{"type":"Exec","title":"update_alternative_ip6tables","tags":["exec","update_alternative_ip6tables","alternatives::select","alternatives","select","ip6tables","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/alternatives/manifests/select.pp","line":25,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/update-alternatives --force --set ip6tables /usr/sbin/ip6tables-legacy","unless":"/usr/bin/update-alternatives --query ip6tables | /bin/grep 'Value: /usr/sbin/ip6tables-legacy'"}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_ulogd2","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_ulogd2","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","user":"root","description":"Auto restart job: ulogd2","command":"/usr/local/sbin/wmf-auto-restart -s ulogd2","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 7:36:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Ferm::Rule","title":"filter_log_filter-bootp","tags":["ferm::rule","ferm","rule","filter_log_filter-bootp","ferm::filter_log","filter_log","filter-bootp","class","profile::firewall::log::ferm","profile","firewall","log","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/filter_log.pp","line":30,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","rule":"proto udp  daddr 255.255.255.255 sport 67 dport 68 DROP;","prio":"98","domain":"(ip ip6)","table":"filter","chain":"INPUT","desc":""}},{"type":"File","title":"/etc/ferm/conf.d/98_log-everything","tags":["ferm","file","ferm::rule","rule","log-everything","class","profile::firewall::log::ferm","profile","firewall","log","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/rule.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# 98_log-everything: \n\ndomain (ip ip6) {\n\ttable filter {\n\t\tchain INPUT {\n\t\t\tNFLOG mod limit limit 1/second limit-burst 5 nflog-prefix \"[fw-in-drop]\";\n\t\t}\n\t}\n}\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"Sysctl::Conffile","title":"ferm_conntrack","tags":["sysctl::conffile","sysctl","conffile","ferm_conntrack","sysctl::parameters","parameters","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":63,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.netfilter.nf_conntrack_max = 262144\nnet.netfilter.nf_conntrack_tcp_timeout_time_wait = 65\n","priority":70,"no_priority_prefix":false}},{"type":"Udev::Rule","title":"ferm_conntrack","tags":["udev::rule","udev","rule","ferm_conntrack","sysctl::parameters","sysctl","parameters","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/parameters.pp","line":78,"exported":false,"kind":"defined_type","parameters":{"content":"ACTION==\"add\", SUBSYSTEM==\"module\", KERNEL==\"nf_conntrack\", \\\n    RUN+=\"/usr/lib/systemd/systemd-sysctl --prefix net.netfilter\"\n","priority":70,"ensure":"present"}},{"type":"Ferm::Service","title":"ssh_from_bastion","tags":["ferm::service","ferm","service","ssh_from_bastion","firewall::service","firewall","ssh-from-bastion","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/firewall/manifests/service.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port":22,"srange":["172.16.17.143","2a02:ec80:a000:1::156","172.16.18.237","2a02:ec80:a000:1::442","172.16.1.220"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Ferm::Service","title":"ssh_from_cumin_masters","tags":["ferm::service","ferm","service","ssh_from_cumin_masters","firewall::service","firewall","ssh-from-cumin-masters","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/firewall/manifests/service.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port":22,"src_sets":["CUMIN_MASTERS"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Ferm::Service","title":"full_monitoring_metrics_access_udp","tags":["ferm::service","ferm","service","full_monitoring_metrics_access_udp","firewall::service","firewall","full-monitoring-metrics-access-udp","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/firewall/manifests/service.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"proto":"udp","port_range":[1,65535],"srange":["tools-prometheus-8.tools.eqiad1.wikimedia.cloud","tools-prometheus-9.tools.eqiad1.wikimedia.cloud"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Ferm::Service","title":"full_monitoring_metrics_access_tcp","tags":["ferm::service","ferm","service","full_monitoring_metrics_access_tcp","firewall::service","firewall","full-monitoring-metrics-access-tcp","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/firewall/manifests/service.pp","line":40,"exported":false,"kind":"defined_type","parameters":{"proto":"tcp","port_range":[1,65535],"srange":["tools-prometheus-8.tools.eqiad1.wikimedia.cloud","tools-prometheus-9.tools.eqiad1.wikimedia.cloud"],"ensure":"present","desc":"","prio":10,"unrestricted_access":false,"notrack":false}},{"type":"Class","title":"Confd","tags":["class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"exported":false,"kind":"unknown","parameters":{"ensure":"present","instances":{"main":{}}}},{"type":"Package","title":"confd","tags":["package","confd","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","provider":"apt"}},{"type":"Package","title":"python3-toml","tags":["package","python3-toml","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":14,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/usr/local/bin/confd-lint-wrap","tags":["file","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":19,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","mode":"0555","source":"puppet:///modules/confd/confd-lint-wrap.py","owner":"root","group":"root"}},{"type":"Nrpe::Plugin","title":"check_confd_lint","tags":["nrpe::plugin","nrpe","plugin","check_confd_lint","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":25,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/confd/check_confd_lint.sh","ensure":"present"}},{"type":"Systemd::Tmpfile","title":"/var/run/confd-template","tags":["systemd::tmpfile","systemd","tmpfile","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":34,"exported":false,"kind":"defined_type","parameters":{"content":"d /var/run/confd-template 0755 root root","ensure":"present","owner":"root","group":"root"}},{"type":"Systemd::Timer::Job","title":"clean-confd-rundir","tags":["systemd::timer::job","systemd","timer","job","clean-confd-rundir","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":38,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Clean old stale files in /var/run/confd-template","user":"root","interval":{"start":"OnCalendar","interval":"*:0/30"},"command":"/usr/bin/find /var/run/confd-template -type f -mtime +30 -delete","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Nrpe::Plugin","title":"check_confd_template","tags":["nrpe::plugin","nrpe","plugin","check_confd_template","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":47,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/confd/check_confd_template","ensure":"present"}},{"type":"File","title":"/usr/local/bin/confd-prometheus-metrics","tags":["file","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":52,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","mode":"0555","source":"puppet:///modules/confd/confd_prometheus_metrics.py","owner":"root","group":"root"}},{"type":"Logrotate::Conf","title":"confd","tags":["logrotate::conf","logrotate","conf","confd","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":59,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","source":"puppet:///modules/confd/logrotate.conf"}},{"type":"Rsyslog::Conf","title":"confd","tags":["rsyslog::conf","rsyslog","conf","confd","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":64,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/confd/rsyslog.conf","priority":20,"require":"File[/etc/logrotate.d/confd]","ensure":"present","mode":"0444"}},{"type":"Confd::Instance","title":"main","tags":["confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/init.pp","line":70,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","running":true,"backend":"etcd","srv_dns":"tools.eqiad1.wikimedia.cloud","scheme":"https","interval":3}},{"type":"File","title":"/etc/confd/templates/_etc_ferm_conf.d_00_defs_requestctl.tmpl","tags":["file","confd::file","confd","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/file.pp","line":62,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","mode":"0400","content":"{{/* SPDX-License-Identifier: Apache-2.0 */}}\n{{- range gets \"/request-ipblocks/abuse/*\" }}\n  {{- $ipblock := json .Value }}\n@def ${{ toUpper (base .Key) }} = (\n  {{- range $cidr := $ipblock.cidrs }}\n  {{ $cidr }}\n  {{- end }}\n);\n{{- end }}\n","require":"Package[confd]","before":"File[/etc/confd/conf.d/_etc_ferm_conf.d_00_defs_requestctl.toml]","owner":"root","group":"root"}},{"type":"File","title":"/etc/confd/conf.d/_etc_ferm_conf.d_00_defs_requestctl.toml","tags":["file","confd::file","confd","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/file.pp","line":71,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"# This file is managed by Puppet!\n# Confd config file for /etc/ferm/conf.d/00_defs_requestctl\n\n[template]\nsrc = \"_etc_ferm_conf.d_00_defs_requestctl.tmpl\"\ndest = \"/etc/ferm/conf.d/00_defs_requestctl\"\n\n\nmode = \"0444\"\n\nkeys = [\n        \"/request-ipblocks/abuse\",\n    ]\n\nprefix = \"/conftool/v1\"\n\nreload_cmd = \"/bin/systemctl reload ferm\"\n","notify":"Service[confd]","owner":"root","group":"root"}},{"type":"File","title":"/etc/ferm/conf.d/00_defs_requestctl","tags":["file","confd::file","confd","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/file.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root"}},{"type":"File","title":"/etc/ferm/conf.d/01_drop-blocked-nets","tags":["ferm","file","ferm::rule","rule","drop-blocked-nets","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/rule.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# 01_drop-blocked-nets: drop abuse/blocked_nets.yaml defined in the requestctl private repo\n\ndomain (ip ip6) {\n\ttable filter {\n\t\tchain INPUT {\n\t\t\tsaddr $BLOCKED_NETS DROP;\n\t\t}\n\t}\n}\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/02_main","tags":["ferm","file","ferm::conf","conf","main","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","source":"puppet:///modules/base/firewall/main-input-default-drop.conf","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/99_dscp-default","tags":["ferm","file","ferm::rule","rule","dscp-default","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/rule.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# 99_dscp-default: \n\ndomain (ip ip6) {\n\ttable mangle {\n\t\tchain POSTROUTING {\n\t\t\tDSCP set-dscp-class CS0;\n\t\t}\n\t}\n}\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/00_defs","tags":["ferm","file","ferm::conf","conf","defs","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"\n@def $LINK_LOCAL = (169.254.0.0/16 fe80::/10);\n@def $INTERNAL = (10.0.0.0/8 2620:0:860:100::/56 2620:0:861:100::/56 2620:0:863:100::/56 2001:df2:e500:100::/56 2a02:ec80:300:100::/56 2a02:ec80:600:100::/56 2a02:ec80:700:100::/56 2a02:ec80:ff00:100::/56);\n# $DOMAIN_NETWORKS is a set of all networks belonging to a domain.\n# a domain is a realm currently, but the notion is more generic than that on purpose\n@def $DOMAIN_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 );\n\n# $PRODUCTION_NETWORKS is a set of all production networks\n@def $PRODUCTION_NETWORKS = (10.128.0.0/24 10.128.1.0/24 10.128.2.0/24 10.132.0.0/24 10.132.2.0/24 10.136.0.0/24 10.136.1.0/24 10.140.0.0/24 10.140.1.0/24 10.140.2.0/24 10.192.0.0/22 10.192.10.0/24 10.192.11.0/24 10.192.12.0/24 10.192.13.0/24 10.192.14.0/24 10.192.15.0/24 10.192.16.0/22 10.192.20.0/24 10.192.21.0/24 10.192.22.0/24 10.192.23.0/24 10.192.24.0/23 10.192.26.0/24 10.192.27.0/24 10.192.28.0/24 10.192.29.0/24 10.192.30.0/24 10.192.31.0/24 10.192.32.0/22 10.192.36.0/24 10.192.37.0/24 10.192.38.0/24 10.192.39.0/24 10.192.4.0/24 10.192.40.0/24 10.192.41.0/24 10.192.42.0/24 10.192.43.0/24 10.192.44.0/24 10.192.45.0/24 10.192.46.0/24 10.192.47.0/24 10.192.48.0/22 10.192.5.0/24 10.192.52.0/24 10.192.56.0/24 10.192.57.0/24 10.192.58.0/24 10.192.59.0/24 10.192.6.0/24 10.192.64.0/21 10.192.7.0/24 10.192.72.0/24 10.192.76.0/24 10.192.8.0/24 10.192.80.0/20 10.192.9.0/24 10.192.96.0/21 10.194.0.0/20 10.194.128.0/17 10.194.16.0/21 10.194.61.0/24 10.194.62.0/23 10.194.64.0/20 10.194.80.0/21 10.2.1.0/24 10.2.2.0/24 10.2.3.0/24 10.2.4.0/24 10.2.5.0/24 10.2.6.0/24 10.2.7.0/24 10.64.0.0/22 10.64.130.0/24 10.64.131.0/24 10.64.132.0/24 10.64.133.0/24 10.64.134.0/24 10.64.135.0/24 10.64.136.0/24 10.64.137.0/24 10.64.138.0/24 10.64.139.0/24 10.64.140.0/24 10.64.141.0/24 10.64.142.0/24 10.64.143.0/24 10.64.144.0/24 10.64.145.0/24 10.64.148.0/24 10.64.149.0/24 10.64.150.0/24 10.64.151.0/24 10.64.152.0/24 10.64.153.0/24 10.64.154.0/24 10.64.155.0/24 10.64.156.0/24 10.64.157.0/24 10.64.158.0/24 10.64.159.0/24 10.64.16.0/22 10.64.160.0/24 10.64.161.0/24 10.64.162.0/24 10.64.163.0/24 10.64.164.0/24 10.64.165.0/24 10.64.166.0/24 10.64.167.0/24 10.64.169.0/24 10.64.170.0/24 10.64.171.0/24 10.64.172.0/24 10.64.173.0/24 10.64.174.0/24 10.64.175.0/24 10.64.176.0/24 10.64.177.0/24 10.64.178.0/24 10.64.179.0/24 10.64.180.0/24 10.64.181.0/24 10.64.182.0/24 10.64.183.0/24 10.64.184.0/24 10.64.185.0/24 10.64.186.0/24 10.64.187.0/24 10.64.188.0/24 10.64.189.0/24 10.64.190.0/24 10.64.20.0/24 10.64.21.0/24 10.64.24.0/23 10.64.32.0/22 10.64.36.0/24 10.64.48.0/22 10.64.5.0/24 10.64.53.0/24 10.64.64.0/21 10.64.72.0/24 10.64.76.0/24 10.67.0.0/20 10.67.128.0/17 10.67.16.0/21 10.67.24.0/21 10.67.32.0/20 10.67.64.0/20 10.67.80.0/21 10.80.0.0/24 10.80.1.0/24 10.80.2.0/24 103.102.166.0/28 103.102.166.224/27 103.102.166.96/27 185.15.58.0/27 185.15.58.224/27 185.15.58.32/27 185.15.59.0/27 185.15.59.224/27 185.15.59.32/27 185.15.59.96/27 195.200.68.0/27 195.200.68.224/27 195.200.68.32/27 195.200.68.96/27 198.35.26.0/27 198.35.26.32/27 198.35.26.96/27 198.35.26.96/27 2001:df2:e500:101::/64 2001:df2:e500:103::/64 2001:df2:e500:1::/64 2001:df2:e500:3::/64 2001:df2:e500:ed1a::/64 208.80.152.128/27 208.80.153.0/27 208.80.153.224/27 208.80.153.32/27 208.80.153.64/27 208.80.153.96/27 208.80.154.0/26 208.80.154.128/26 208.80.154.224/27 208.80.154.64/26 208.80.155.96/27 2620:0:860:100::/64 2620:0:860:101::/64 2620:0:860:102::/64 2620:0:860:103::/64 2620:0:860:104::/64 2620:0:860:105::/64 2620:0:860:106::/64 2620:0:860:107::/64 2620:0:860:108::/64 2620:0:860:109::/64 2620:0:860:10a::/64 2620:0:860:10b::/64 2620:0:860:10c::/64 2620:0:860:10d::/64 2620:0:860:10e::/64 2620:0:860:10f::/64 2620:0:860:110::/64 2620:0:860:111::/64 2620:0:860:112::/64 2620:0:860:113::/64 2620:0:860:114::/64 2620:0:860:115::/64 2620:0:860:116::/64 2620:0:860:118::/64 2620:0:860:119::/64 2620:0:860:11a::/64 2620:0:860:11b::/64 2620:0:860:11c::/64 2620:0:860:11d::/64 2620:0:860:11e::/64 2620:0:860:11f::/64 2620:0:860:120::/64 2620:0:860:121::/64 2620:0:860:122::/64 2620:0:860:123::/64 2620:0:860:124::/64 2620:0:860:125::/64 2620:0:860:126::/64 2620:0:860:127::/64 2620:0:860:12b::/64 2620:0:860:12c::/64 2620:0:860:12d::/64 2620:0:860:12e::/64 2620:0:860:140::/64 2620:0:860:1::/64 2620:0:860:2::/64 2620:0:860:300::/64 2620:0:860:301::/64 2620:0:860:302::/64 2620:0:860:303::/64 2620:0:860:304::/64 2620:0:860:305::/64 2620:0:860:307::/64 2620:0:860:308::/64 2620:0:860:3::/64 2620:0:860:4::/64 2620:0:860:5::/64 2620:0:860:babe::/64 2620:0:860:babf::/64 2620:0:860:cabe::/64 2620:0:860:cabf::/64 2620:0:860:ed1a::/64 2620:0:861:100::/64 2620:0:861:101::/64 2620:0:861:102::/64 2620:0:861:103::/64 2620:0:861:104::/64 2620:0:861:105::/64 2620:0:861:106::/64 2620:0:861:107::/64 2620:0:861:108::/64 2620:0:861:109::/64 2620:0:861:10a::/64 2620:0:861:10b::/64 2620:0:861:10c::/64 2620:0:861:10d::/64 2620:0:861:10e::/64 2620:0:861:10f::/64 2620:0:861:110::/64 2620:0:861:111::/64 2620:0:861:112::/64 2620:0:861:113::/64 2620:0:861:114::/64 2620:0:861:115::/64 2620:0:861:116::/64 2620:0:861:117::/64 2620:0:861:118::/64 2620:0:861:119::/64 2620:0:861:11a::/64 2620:0:861:11c::/64 2620:0:861:11d::/64 2620:0:861:11e::/64 2620:0:861:11f::/64 2620:0:861:120::/64 2620:0:861:121::/64 2620:0:861:122::/64 2620:0:861:123::/64 2620:0:861:124::/64 2620:0:861:125::/64 2620:0:861:126::/64 2620:0:861:127::/64 2620:0:861:128::/64 2620:0:861:129::/64 2620:0:861:12a::/64 2620:0:861:12b::/64 2620:0:861:12c::/64 2620:0:861:12d::/64 2620:0:861:12e::/64 2620:0:861:12f::/64 2620:0:861:131::/64 2620:0:861:132::/64 2620:0:861:133::/64 2620:0:861:134::/64 2620:0:861:135::/64 2620:0:861:136::/64 2620:0:861:137::/64 2620:0:861:138::/64 2620:0:861:139::/64 2620:0:861:13a::/64 2620:0:861:13b::/64 2620:0:861:13c::/64 2620:0:861:13d::/64 2620:0:861:13e::/64 2620:0:861:13f::/64 2620:0:861:140::/64 2620:0:861:141::/64 2620:0:861:142::/64 2620:0:861:143::/64 2620:0:861:144::/64 2620:0:861:145::/64 2620:0:861:1::/64 2620:0:861:2::/64 2620:0:861:300::/64 2620:0:861:301::/116 2620:0:861:302::/64 2620:0:861:303::/116 2620:0:861:304::/116 2620:0:861:305::/64 2620:0:861:3::/64 2620:0:861:4::/64 2620:0:861:babe::/64 2620:0:861:babf::/116 2620:0:861:cabe::/64 2620:0:861:cabf::/116 2620:0:861:ed1a::/64 2620:0:863:101::/64 2620:0:863:102::/64 2620:0:863:103::/64 2620:0:863:1::/64 2620:0:863:2::/64 2620:0:863:3::/64 2620:0:863:ed1a::/64 2a02:ec80:300:101::/64 2a02:ec80:300:102::/64 2a02:ec80:300:103::/64 2a02:ec80:300:1::/64 2a02:ec80:300:2::/64 2a02:ec80:300:3::/64 2a02:ec80:300:ed1a::/64 2a02:ec80:600:101::/64 2a02:ec80:600:102::/64 2a02:ec80:600:1::/64 2a02:ec80:600:2::/64 2a02:ec80:600:ed1a::/64 2a02:ec80:700:101::/64 2a02:ec80:700:102::/64 2a02:ec80:700:103::/64 2a02:ec80:700:1::/64 2a02:ec80:700:2::/64 2a02:ec80:700:3::/64 2a02:ec80:700:ed1a::/64 );\n# $CLOUD_NETWORKS is a set of all Cloud VPS instance networks\n@def $CLOUD_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 );\n# $LABS_NETWORKS is a deprecated alias for $CLOUD_NETWORKS\n@def $LABS_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 );\n# $CLOUD_NETWORKS_PUBLIC is meant to be a set of all Cloud public networks\n@def $CLOUD_NETWORKS_PUBLIC = (185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:4000::/64 2a02:ec80:a100:4000::/64 );\n# $CLOUD_PRIVATE_NETWORKS is the cloud-private networks with WMCS\n# hardware with cloud realm private 172.20.x.x addresses. These\n# hosts are dual-homed, usually also in at least cloud-hosts.\n@def $CLOUD_PRIVATE_NETWORKS = (172.20.1.0/24 172.20.2.0/24 172.20.3.0/24 172.20.4.0/24 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 172.20.5.0/24 2a02:ec80:a100:205::/64);\n# $FRACK_NETWORKS is meant to be a set of all fundraising networks\n@def $FRACK_NETWORKS = (10.195.0.0/27 10.195.0.128/29 10.195.0.32/27 10.195.0.64/28 10.195.0.80/29 10.195.0.96/27 10.195.1.0/25 10.64.40.0/27 10.64.40.160/27 10.64.40.192/26 10.64.40.32/27 10.64.40.64/27 10.64.40.96/27 208.80.152.224/28 208.80.155.0/27 );\n\n@def $ANALYTICS_NETWORKS = (10.64.137.0/24 10.64.138.0/24 10.64.139.0/24 10.64.140.0/24 10.64.142.0/24 10.64.143.0/24 10.64.144.0/24 10.64.145.0/24 10.64.153.0/24 10.64.155.0/24 10.64.157.0/24 10.64.159.0/24 10.64.161.0/24 10.64.163.0/24 10.64.165.0/24 10.64.167.0/24 10.64.170.0/24 10.64.172.0/24 10.64.174.0/24 10.64.176.0/24 10.64.178.0/24 10.64.180.0/24 10.64.182.0/24 10.64.184.0/24 10.64.186.0/24 10.64.188.0/24 10.64.190.0/24 10.64.21.0/24 10.64.36.0/24 10.64.5.0/24 10.64.53.0/24 2620:0:861:100::/64 2620:0:861:104::/64 2620:0:861:105::/64 2620:0:861:106::/64 2620:0:861:108::/64 2620:0:861:110::/64 2620:0:861:111::/64 2620:0:861:112::/64 2620:0:861:114::/64 2620:0:861:115::/64 2620:0:861:116::/64 2620:0:861:117::/64 2620:0:861:11a::/64 2620:0:861:121::/64 2620:0:861:123::/64 2620:0:861:125::/64 2620:0:861:127::/64 2620:0:861:129::/64 2620:0:861:12b::/64 2620:0:861:12d::/64 2620:0:861:12f::/64 2620:0:861:132::/64 2620:0:861:134::/64 2620:0:861:136::/64 2620:0:861:138::/64 2620:0:861:13a::/64 2620:0:861:13c::/64 2620:0:861:13e::/64 2620:0:861:141::/64 2620:0:861:143::/64 2620:0:861:145::/64 );\n@def $MW_APPSERVER_NETWORKS = (172.16.0.0/21 172.16.128.0/24 172.16.129.0/24 172.16.130.0/24 172.16.131.0/24 172.16.16.0/21 172.16.24.0/24 172.16.8.0/21 172.20.1.0/24 172.20.2.0/24 172.20.254.0/24 172.20.255.0/24 172.20.3.0/24 172.20.4.0/24 172.20.5.0/24 185.15.56.0/25 185.15.56.160/28 185.15.57.0/29 185.15.57.16/29 185.15.57.24/29 2a02:ec80:a000:100::/64 2a02:ec80:a000:1::/64 2a02:ec80:a000:201::/64 2a02:ec80:a000:202::/64 2a02:ec80:a000:203::/64 2a02:ec80:a000:204::/64 2a02:ec80:a000:2ff::/64 2a02:ec80:a000:4000::/64 2a02:ec80:a100:100::/64 2a02:ec80:a100:1::/64 2a02:ec80:a100:205::/64 2a02:ec80:a100:2ff::/64 2a02:ec80:a100:4000::/64 127.0.0.1 );\n@def $WIKIKUBE_KUBEPODS_NETWORKS  = (10.67.128.0/17 2620:0:861:cabe::/64 10.194.128.0/17 2620:0:860:cabe::/64 );\n@def $STAGING_KUBEPODS_NETWORKS  = (10.64.64.0/21 2620:0:861:babe::/64 10.192.64.0/21 2620:0:860:babe::/64 );\n@def $MLSERVE_KUBEPODS_NETWORKS = (10.67.16.0/21 2620:0:861:300::/64 10.194.16.0/21 2620:0:860:300::/64 );\n@def $MLSTAGE_KUBEPODS_NETWORKS = (10.194.61.0/24 2620:0:860:302::/64 );\n@def $DSE_KUBEPODS_NETWORKS = (10.67.24.0/21 2620:0:861:302::/64 10.192.96.0/21 2620:0:860:308::/64 );\n@def $AUX_KUBEPODS_NETWORKS = (10.67.80.0/21 2620:0:861:305::/64 10.194.80.0/21 2620:0:860:305::/64 );\n\n@def $NETWORK_INFRA = (185.15.59.128/27 2a02:ec80:300:fe00::/55 198.35.26.128/27 2620:0:863:fe00::/55 208.80.153.192/27 2620:0:860:fe00::/55 10.192.255.0/24 2620:0:860:13f::/64 10.192.253.0/24 2620:0:860:139::/64 208.80.154.192/27 2620:0:861:fe00::/55 10.64.146.0/24 2620:0:861:11b::/128 10.64.168.0/24 2620:0:861:130::/64 10.64.147.0/24 103.102.166.128/27 2001:df2:e500:fe00::/55 185.15.58.128/27 2a02:ec80:600:fe00::/55 195.200.68.128/27 2a02:ec80:700:fe00::/55);\n@def $MGMT_NETWORKS = (10.65.0.0/16 10.128.128.0/17 10.193.0.0/16 10.80.128.0/17 10.132.128.0/17 10.136.128.0/17 10.140.128.0/17 );\n@def $SANDBOX_NETWORKS = (103.102.166.72/29 185.15.59.72/29 195.200.68.64/29 198.35.26.240/28 2001:df2:e500:202::/64 208.80.152.240/28 208.80.155.64/28 2620:0:860:201::/64 2620:0:861:202::/64 2620:0:863:201::/64 2a02:ec80:300:202::/64 2a02:ec80:700:201::/64 );\n\n@def $DEPLOYMENT_HOSTS = (10.64.16.93 2620:0:861:102:10:64:16:93 10.192.32.7 2620:0:860:103:10:192:32:7 );\n@def $CUMIN_MASTERS = (172.16.1.220 );\n@def $CACHES = (172.16.19.232 2a02:ec80:a000:1::2f3 172.16.17.55 2a02:ec80:a000:1::31d );\n@def $LOAD_BALANCER_HEALTH_CHECKS = ();\n@def $KAFKA_BROKERS_MAIN = (10.192.5.9 2620:0:860:106:10:192:5:9 10.192.22.6 2620:0:860:112:10:192:22:6 10.192.32.4 2620:0:860:103:10:192:32:4 10.192.48.33 2620:0:860:104:10:192:48:33 10.192.48.35 2620:0:860:104:10:192:48:35 10.64.0.101 2620:0:861:101:10:64:0:101 10.64.16.30 2620:0:861:102:10:64:16:30 10.64.32.45 2620:0:861:103:10:64:32:45 10.64.48.37 2620:0:861:107:10:64:48:37 10.64.152.5 2620:0:861:120:10:64:152:5 );\n@def $KAFKA_BROKERS_JUMBO = (10.64.130.10 2620:0:861:109:10:64:130:10 10.64.131.16 2620:0:861:10a:10:64:131:16 10.64.132.21 2620:0:861:10b:10:64:132:21 10.64.134.9 2620:0:861:10d:10:64:134:9 10.64.135.16 2620:0:861:10e:10:64:135:16 10.64.136.11 2620:0:861:10f:10:64:136:11 10.64.154.15 2620:0:861:122:10:64:154:15 10.64.160.16 2620:0:861:128:10:64:160:16 10.64.0.126 2620:0:861:101:10:64:0:126 );\n@def $KAFKA_BROKERS_LOGGING = (10.64.16.205 2620:0:861:102:10:64:16:205 10.64.133.11 2620:0:861:10c:10:64:133:11 10.64.183.12 2620:0:861:13d:10:64:183:12 10.64.131.13 2620:0:861:10a:10:64:131:13 10.64.135.13 2620:0:861:10e:10:64:135:13 10.192.23.29 2620:0:860:113:10:192:23:29 10.192.11.28 2620:0:860:10c:10:192:11:28 10.192.26.22 2620:0:860:105:10:192:26:22 10.192.11.27 2620:0:860:10c:10:192:11:27 10.192.39.25 2620:0:860:11e:10:192:39:25 );\n@def $KAFKAMON_HOSTS = (10.64.32.11 2620:0:861:103:10:64:32:11 10.192.16.139 2620:0:860:102:10:192:16:139 );\n@def $ZOOKEEPER_HOSTS_MAIN = (10.64.0.207 2620:0:861:101:10:64:0:207 10.64.16.110 2620:0:861:102:10:64:16:110 10.64.48.154 2620:0:861:107:10:64:48:154 10.192.16.45 2620:0:860:102:10:192:16:45 10.192.32.52 2620:0:860:103:10:192:32:52 10.192.48.59 2620:0:860:104:10:192:48:59 );\n@def $ZOOKEEPER_FLINK_HOSTS = (10.64.16.9 2620:0:861:102:10:64:16:9 10.64.0.8 2620:0:861:101:10:64:0:8 10.64.32.41 2620:0:861:103:10:64:32:41 10.192.16.227 2620:0:860:102:10:192:16:227 10.192.32.179 2620:0:860:103:10:192:32:179 10.192.48.219 2620:0:860:104:10:192:48:219 );\n@def $DRUID_PUBLIC_HOSTS = (10.64.131.9 2620:0:861:10a:10:64:131:9 10.64.132.12 2620:0:861:10b:10:64:132:12 10.64.135.9 2620:0:861:10e:10:64:135:9 10.64.32.101 2620:0:861:103:10:64:32:101 10.64.48.185 2620:0:861:107:10:64:48:185 );\n@def $LABSTORE_HOSTS = (208.80.154.142 2620:0:861:2:208:80:154:142 208.80.154.71 2620:0:861:3:208:80:154:71 );\n@def $MYSQL_ROOT_CLIENTS = (10.64.16.90 10.192.16.191 10.64.16.154 10.192.32.49 208.80.155.103 208.80.154.9 10.64.0.20 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-codfw-bgp-private-vips\n@def $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV4 = (172.20.254.0/24);\n@def $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV6 = (2a02:ec80:a100:2ff::/64);\n@def $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS = ($CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV4 $CODFW_PRIVATE_CLOUD_CODFW_BGP_PRIVATE_VIPS_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances-flat3-codfw\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV4 = (172.16.129.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV6 = (2a02:ec80:a100:1::/64);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW = ($CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV4 $CODFW_PRIVATE_CLOUD_INSTANCES_FLAT3_CODFW_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances-octavia-lb-mgmt-net-codfw1dev\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV4 = (172.16.131.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV6 = (2a02:ec80:a100:100::/64);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV = ($CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV4 $CODFW_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_CODFW1DEV_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances-vxlan-ipv4-only-codfw\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_VXLAN_IPV4_ONLY_CODFW_IPV4 = (172.16.130.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES_VXLAN_IPV4_ONLY_CODFW = ($CODFW_PRIVATE_CLOUD_INSTANCES_VXLAN_IPV4_ONLY_CODFW_IPV4 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-instances2-b-codfw\n@def $CODFW_PRIVATE_CLOUD_INSTANCES2_B_CODFW_IPV4 = (172.16.128.0/24);\n@def $CODFW_PRIVATE_CLOUD_INSTANCES2_B_CODFW = ($CODFW_PRIVATE_CLOUD_INSTANCES2_B_CODFW_IPV4 );\n\n# Realm: cloud, # Site: codfw, # Sphere: private, # Network: cloud-private-b1-codfw\n@def $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV4 = (172.20.5.0/24);\n@def $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV6 = (2a02:ec80:a100:205::/64);\n@def $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW = ($CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV4 $CODFW_PRIVATE_CLOUD_PRIVATE_B1_CODFW_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: public, # Network: cloud-codfw1dev-bgp-public-vips\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV4 = (185.15.57.24/29);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV6 = (2a02:ec80:a100:4000::/64);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS = ($CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV4 $CODFW_PUBLIC_CLOUD_CODFW1DEV_BGP_PUBLIC_VIPS_IPV6 );\n\n# Realm: cloud, # Site: codfw, # Sphere: public, # Network: cloud-codfw1dev-floating\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_IPV4 = (185.15.57.0/29);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING = ($CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_IPV4 );\n\n# Realm: cloud, # Site: codfw, # Sphere: public, # Network: cloud-codfw1dev-floating-additional\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_ADDITIONAL_IPV4 = (185.15.57.16/29);\n@def $CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_ADDITIONAL = ($CODFW_PUBLIC_CLOUD_CODFW1DEV_FLOATING_ADDITIONAL_IPV4 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-eqiad-bgp-private-vips\n@def $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV4 = (172.20.255.0/24);\n@def $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV6 = (2a02:ec80:a000:2ff::/64);\n@def $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS = ($EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV4 $EQIAD_PRIVATE_CLOUD_EQIAD_BGP_PRIVATE_VIPS_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances-octavia-lb-mgmt-net-eqiad1\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV4 = (172.16.24.0/24);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV6 = (2a02:ec80:a000:100::/64);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1 = ($EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV4 $EQIAD_PRIVATE_CLOUD_INSTANCES_OCTAVIA_LB_MGMT_NET_EQIAD1_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances-vxlan-dualstack-eqiad\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV4 = (172.16.16.0/21);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV6 = (2a02:ec80:a000:1::/64);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD = ($EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_DUALSTACK_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances-vxlan-v4only-eqiad\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_V4ONLY_EQIAD_IPV4 = (172.16.8.0/21);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_V4ONLY_EQIAD = ($EQIAD_PRIVATE_CLOUD_INSTANCES_VXLAN_V4ONLY_EQIAD_IPV4 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-instances2-b-eqiad\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES2_B_EQIAD_IPV4 = (172.16.0.0/21);\n@def $EQIAD_PRIVATE_CLOUD_INSTANCES2_B_EQIAD = ($EQIAD_PRIVATE_CLOUD_INSTANCES2_B_EQIAD_IPV4 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-c8-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV4 = (172.20.1.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV6 = (2a02:ec80:a000:201::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_C8_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-d5-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV4 = (172.20.2.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV6 = (2a02:ec80:a000:202::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_D5_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-e4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV4 = (172.20.3.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV6 = (2a02:ec80:a000:203::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_E4_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: private, # Network: cloud-private-f4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV4 = (172.20.4.0/24);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV6 = (2a02:ec80:a000:204::/64);\n@def $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD = ($EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_PRIVATE_F4_EQIAD_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: public, # Network: cloud-eqiad1-bgp-public-vips\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV4 = (185.15.56.160/28);\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV6 = (2a02:ec80:a000:4000::/64);\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS = ($EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV4 $EQIAD_PUBLIC_CLOUD_EQIAD1_BGP_PUBLIC_VIPS_IPV6 );\n\n# Realm: cloud, # Site: eqiad, # Sphere: public, # Network: cloud-eqiad1-floating\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_FLOATING_IPV4 = (185.15.56.0/25);\n@def $EQIAD_PUBLIC_CLOUD_EQIAD1_FLOATING = ($EQIAD_PUBLIC_CLOUD_EQIAD1_FLOATING_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-administration-codfw\n@def $CODFW_PRIVATE_FRACK_ADMINISTRATION_CODFW_IPV4 = (10.195.0.64/28);\n@def $CODFW_PRIVATE_FRACK_ADMINISTRATION_CODFW = ($CODFW_PRIVATE_FRACK_ADMINISTRATION_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-bastion-codfw\n@def $CODFW_PRIVATE_FRACK_BASTION_CODFW_IPV4 = (10.195.0.128/29);\n@def $CODFW_PRIVATE_FRACK_BASTION_CODFW = ($CODFW_PRIVATE_FRACK_BASTION_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-fundraising-codfw\n@def $CODFW_PRIVATE_FRACK_FUNDRAISING_CODFW_IPV4 = (10.195.0.32/27);\n@def $CODFW_PRIVATE_FRACK_FUNDRAISING_CODFW = ($CODFW_PRIVATE_FRACK_FUNDRAISING_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-listenerdmz-codfw\n@def $CODFW_PRIVATE_FRACK_LISTENERDMZ_CODFW_IPV4 = (10.195.0.80/29);\n@def $CODFW_PRIVATE_FRACK_LISTENERDMZ_CODFW = ($CODFW_PRIVATE_FRACK_LISTENERDMZ_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-management-codfw\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_CODFW_IPV4 = (10.195.1.0/25);\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_CODFW = ($CODFW_PRIVATE_FRACK_MANAGEMENT_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-management-legacy-codfw\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_LEGACY_CODFW_IPV4 = (10.195.0.96/27);\n@def $CODFW_PRIVATE_FRACK_MANAGEMENT_LEGACY_CODFW = ($CODFW_PRIVATE_FRACK_MANAGEMENT_LEGACY_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: private, # Network: frack-payments-codfw\n@def $CODFW_PRIVATE_FRACK_PAYMENTS_CODFW_IPV4 = (10.195.0.0/27);\n@def $CODFW_PRIVATE_FRACK_PAYMENTS_CODFW = ($CODFW_PRIVATE_FRACK_PAYMENTS_CODFW_IPV4 );\n\n# Realm: frack, # Site: codfw, # Sphere: public, # Network: frack-external-codfw\n@def $CODFW_PUBLIC_FRACK_EXTERNAL_CODFW_IPV4 = (208.80.152.224/28);\n@def $CODFW_PUBLIC_FRACK_EXTERNAL_CODFW = ($CODFW_PUBLIC_FRACK_EXTERNAL_CODFW_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-administration1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_ADMINISTRATION1_E15_EQIAD_IPV4 = (10.64.40.64/27);\n@def $EQIAD_PRIVATE_FRACK_ADMINISTRATION1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_ADMINISTRATION1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-bastion1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_BASTION1_E15_EQIAD_IPV4 = (10.64.40.32/27);\n@def $EQIAD_PRIVATE_FRACK_BASTION1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_BASTION1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-fundraising1-e16-eqiad\n@def $EQIAD_PRIVATE_FRACK_FUNDRAISING1_E16_EQIAD_IPV4 = (10.64.40.96/27);\n@def $EQIAD_PRIVATE_FRACK_FUNDRAISING1_E16_EQIAD = ($EQIAD_PRIVATE_FRACK_FUNDRAISING1_E16_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-listenerdmz1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_LISTENERDMZ1_E15_EQIAD_IPV4 = (10.64.40.160/27);\n@def $EQIAD_PRIVATE_FRACK_LISTENERDMZ1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_LISTENERDMZ1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-management1-eqiad\n@def $EQIAD_PRIVATE_FRACK_MANAGEMENT1_EQIAD_IPV4 = (10.64.40.192/26);\n@def $EQIAD_PRIVATE_FRACK_MANAGEMENT1_EQIAD = ($EQIAD_PRIVATE_FRACK_MANAGEMENT1_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: private, # Network: frack-payments1-e15-eqiad\n@def $EQIAD_PRIVATE_FRACK_PAYMENTS1_E15_EQIAD_IPV4 = (10.64.40.0/27);\n@def $EQIAD_PRIVATE_FRACK_PAYMENTS1_E15_EQIAD = ($EQIAD_PRIVATE_FRACK_PAYMENTS1_E15_EQIAD_IPV4 );\n\n# Realm: frack, # Site: eqiad, # Sphere: public, # Network: frack-external1-eqiad\n@def $EQIAD_PUBLIC_FRACK_EXTERNAL1_EQIAD_IPV4 = (208.80.155.0/27);\n@def $EQIAD_PUBLIC_FRACK_EXTERNAL1_EQIAD = ($EQIAD_PUBLIC_FRACK_EXTERNAL1_EQIAD_IPV4 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: cloud-hosts1-b1-codfw\n@def $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV4 = (10.192.20.0/24);\n@def $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV6 = (2620:0:860:118::/64);\n@def $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW = ($CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV4 $CODFW_PRIVATE_CLOUD_HOSTS1_B1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV4 = (10.192.0.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV6 = (2620:0:860:101::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A_CODFW = ($CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV4 = (10.192.23.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV6 = (2620:0:860:113::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A2_CODFW = ($CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV4 = (10.192.5.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV6 = (2620:0:860:106::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A3_CODFW = ($CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV4 = (10.192.6.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV6 = (2620:0:860:107::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A4_CODFW = ($CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV4 = (10.192.7.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV6 = (2620:0:860:108::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A5_CODFW = ($CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV4 = (10.192.8.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV6 = (2620:0:860:109::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A6_CODFW = ($CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV4 = (10.192.9.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV6 = (2620:0:860:10a::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A7_CODFW = ($CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-a8-codfw\n@def $CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV4 = (10.192.10.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV6 = (2620:0:860:10b::/64);\n@def $CODFW_PRIVATE_PRIVATE1_A8_CODFW = ($CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_A8_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-aux-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV4 = (10.194.80.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV6 = (2620:0:860:305::/64);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_AUX_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-aux-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV4 = (10.194.64.0/20);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV6 = (2620:0:860:304::/64);\n@def $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_AUX_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV4 = (10.192.16.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV6 = (2620:0:860:102::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B_CODFW = ($CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV4 = (10.192.11.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV6 = (2620:0:860:10c::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B2_CODFW = ($CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV4 = (10.192.12.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV6 = (2620:0:860:10d::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B3_CODFW = ($CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV4 = (10.192.13.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV6 = (2620:0:860:10e::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B4_CODFW = ($CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV4 = (10.192.14.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV6 = (2620:0:860:10f::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B5_CODFW = ($CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV4 = (10.192.15.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV6 = (2620:0:860:110::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B6_CODFW = ($CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV4 = (10.192.21.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV6 = (2620:0:860:111::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B7_CODFW = ($CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-b8-codfw\n@def $CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV4 = (10.192.22.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV6 = (2620:0:860:112::/64);\n@def $CODFW_PRIVATE_PRIVATE1_B8_CODFW = ($CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_B8_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV4 = (10.192.32.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV6 = (2620:0:860:103::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C_CODFW = ($CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV4 = (10.192.4.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV6 = (2620:0:860:100::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C1_CODFW = ($CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV4 = (10.192.26.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV6 = (2620:0:860:105::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C2_CODFW = ($CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV4 = (10.192.27.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV6 = (2620:0:860:114::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C3_CODFW = ($CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV4 = (10.192.28.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV6 = (2620:0:860:115::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C4_CODFW = ($CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV4 = (10.192.29.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV6 = (2620:0:860:116::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C5_CODFW = ($CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV4 = (10.192.30.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV6 = (2620:0:860:119::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C6_CODFW = ($CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-c7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV4 = (10.192.31.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV6 = (2620:0:860:11a::/64);\n@def $CODFW_PRIVATE_PRIVATE1_C7_CODFW = ($CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_C7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV4 = (10.192.48.0/22);\n@def $CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV6 = (2620:0:860:104::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D_CODFW = ($CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV4 = (10.192.36.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV6 = (2620:0:860:11b::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D1_CODFW = ($CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV4 = (10.192.37.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV6 = (2620:0:860:11c::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D2_CODFW = ($CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV4 = (10.192.38.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV6 = (2620:0:860:11d::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D3_CODFW = ($CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV4 = (10.192.39.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV6 = (2620:0:860:11e::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D4_CODFW = ($CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV4 = (10.192.40.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV6 = (2620:0:860:11f::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D5_CODFW = ($CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d6-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV4 = (10.192.41.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV6 = (2620:0:860:120::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D6_CODFW = ($CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D6_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d7-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV4 = (10.192.42.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV6 = (2620:0:860:121::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D7_CODFW = ($CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D7_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-d8-codfw\n@def $CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV4 = (10.192.43.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV6 = (2620:0:860:122::/64);\n@def $CODFW_PRIVATE_PRIVATE1_D8_CODFW = ($CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_D8_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-dse-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV4 = (10.192.96.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV6 = (2620:0:860:308::/64);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_DSE_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-dse-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV4 = (10.192.80.0/20);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV6 = (2620:0:860:307::/64);\n@def $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_DSE_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV4 = (10.192.56.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV6 = (2620:0:860:12b::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E1_CODFW = ($CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV4 = (10.192.44.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV6 = (2620:0:860:123::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E2_CODFW = ($CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV4 = (10.192.57.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV6 = (2620:0:860:12c::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E3_CODFW = ($CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV4 = (10.192.45.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV6 = (2620:0:860:124::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E4_CODFW = ($CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-e5-codfw\n@def $CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV4 = (10.192.46.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV6 = (2620:0:860:125::/64);\n@def $CODFW_PRIVATE_PRIVATE1_E5_CODFW = ($CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_E5_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f1-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV4 = (10.192.58.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV6 = (2620:0:860:12d::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F1_CODFW = ($CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F1_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f2-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV4 = (10.192.47.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV6 = (2620:0:860:126::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F2_CODFW = ($CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F2_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f3-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV4 = (10.192.59.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV6 = (2620:0:860:12e::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F3_CODFW = ($CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F3_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-f4-codfw\n@def $CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV4 = (10.192.52.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV6 = (2620:0:860:127::/64);\n@def $CODFW_PRIVATE_PRIVATE1_F4_CODFW = ($CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_F4_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-lvs-codfw\n@def $CODFW_PRIVATE_PRIVATE1_LVS_CODFW_IPV4 = (10.2.1.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_LVS_CODFW = ($CODFW_PRIVATE_PRIVATE1_LVS_CODFW_IPV4 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlserve-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV4 = (10.194.16.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV6 = (2620:0:860:300::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlserve-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV4 = (10.194.0.0/20);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV6 = (2620:0:860:301::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlstage-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV4 = (10.194.61.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV6 = (2620:0:860:302::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-mlstage-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV4 = (10.194.62.0/23);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV6 = (2620:0:860:303::/64);\n@def $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_MLSTAGE_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-services-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV4 = (10.194.128.0/17);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV6 = (2620:0:860:cabe::/64);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-services-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV4 = (10.192.72.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV6 = (2620:0:860:cabf::/64);\n@def $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_SERVICES_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-staging-kubepods-codfw\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV4 = (10.192.64.0/21);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV6 = (2620:0:860:babe::/64);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW = ($CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_STAGING_KUBEPODS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-staging-kubesvc-codfw\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV4 = (10.192.76.0/24);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV6 = (2620:0:860:babf::/64);\n@def $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW = ($CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_STAGING_KUBESVC_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: private, # Network: private1-virtual-codfw\n@def $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV4 = (10.192.24.0/23);\n@def $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV6 = (2620:0:860:140::/64);\n@def $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW = ($CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV4 $CODFW_PRIVATE_PRIVATE1_VIRTUAL_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-a-codfw\n@def $CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV4 = (208.80.153.0/27);\n@def $CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV6 = (2620:0:860:1::/64);\n@def $CODFW_PUBLIC_PUBLIC1_A_CODFW = ($CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_A_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-b-codfw\n@def $CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV4 = (208.80.153.32/27);\n@def $CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV6 = (2620:0:860:2::/64);\n@def $CODFW_PUBLIC_PUBLIC1_B_CODFW = ($CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_B_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-c-codfw\n@def $CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV4 = (208.80.153.64/27);\n@def $CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV6 = (2620:0:860:3::/64);\n@def $CODFW_PUBLIC_PUBLIC1_C_CODFW = ($CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_C_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-d-codfw\n@def $CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV4 = (208.80.153.96/27);\n@def $CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV6 = (2620:0:860:4::/64);\n@def $CODFW_PUBLIC_PUBLIC1_D_CODFW = ($CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_D_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-lvs-codfw\n@def $CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV4 = (208.80.153.224/27);\n@def $CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV6 = (2620:0:860:ed1a::/64);\n@def $CODFW_PUBLIC_PUBLIC1_LVS_CODFW = ($CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_LVS_CODFW_IPV6 );\n\n# Realm: production, # Site: codfw, # Sphere: public, # Network: public1-virtual-codfw\n@def $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV4 = (208.80.152.128/27);\n@def $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV6 = (2620:0:860:5::/64);\n@def $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW = ($CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV4 $CODFW_PUBLIC_PUBLIC1_VIRTUAL_CODFW_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: private, # Network: private1-b12-drmrs\n@def $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV4 = (10.136.0.0/24);\n@def $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV6 = (2a02:ec80:600:101::/64);\n@def $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS = ($DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV4 $DRMRS_PRIVATE_PRIVATE1_B12_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: private, # Network: private1-b13-drmrs\n@def $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV4 = (10.136.1.0/24);\n@def $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV6 = (2a02:ec80:600:102::/64);\n@def $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS = ($DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV4 $DRMRS_PRIVATE_PRIVATE1_B13_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: private, # Network: private1-lvs-drmrs\n@def $DRMRS_PRIVATE_PRIVATE1_LVS_DRMRS_IPV4 = (10.2.6.0/24);\n@def $DRMRS_PRIVATE_PRIVATE1_LVS_DRMRS = ($DRMRS_PRIVATE_PRIVATE1_LVS_DRMRS_IPV4 );\n\n# Realm: production, # Site: drmrs, # Sphere: public, # Network: public1-b12-drmrs\n@def $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV4 = (185.15.58.0/27);\n@def $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV6 = (2a02:ec80:600:1::/64);\n@def $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS = ($DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV4 $DRMRS_PUBLIC_PUBLIC1_B12_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: public, # Network: public1-b13-drmrs\n@def $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV4 = (185.15.58.32/27);\n@def $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV6 = (2a02:ec80:600:2::/64);\n@def $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS = ($DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV4 $DRMRS_PUBLIC_PUBLIC1_B13_DRMRS_IPV6 );\n\n# Realm: production, # Site: drmrs, # Sphere: public, # Network: public1-lvs-drmrs\n@def $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV4 = (185.15.58.224/27);\n@def $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV6 = (2a02:ec80:600:ed1a::/64);\n@def $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS = ($DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV4 $DRMRS_PUBLIC_PUBLIC1_LVS_DRMRS_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-a-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV4 = (10.64.5.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV6 = (2620:0:861:104::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_A_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-b-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV4 = (10.64.21.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV6 = (2620:0:861:105::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_B_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV4 = (10.64.36.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV6 = (2620:0:861:106::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV4 = (10.64.137.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV6 = (2620:0:861:110::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV4 = (10.64.145.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV6 = (2620:0:861:117::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c4-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV4 = (10.64.170.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV6 = (2620:0:861:11a::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c5-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV4 = (10.64.172.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV6 = (2620:0:861:132::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV4 = (10.64.174.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV6 = (2620:0:861:134::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-c7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV4 = (10.64.176.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV6 = (2620:0:861:136::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_C7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV4 = (10.64.53.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV6 = (2620:0:861:108::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d1-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV4 = (10.64.178.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV6 = (2620:0:861:138::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV4 = (10.64.180.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV6 = (2620:0:861:13a::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV4 = (10.64.182.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV6 = (2620:0:861:13c::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d4-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV4 = (10.64.184.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV6 = (2620:0:861:13e::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV4 = (10.64.186.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV6 = (2620:0:861:141::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV4 = (10.64.188.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV6 = (2620:0:861:143::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-d8-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV4 = (10.64.190.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV6 = (2620:0:861:145::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_D8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e1-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV4 = (10.64.138.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV6 = (2620:0:861:100::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV4 = (10.64.139.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV6 = (2620:0:861:111::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV4 = (10.64.140.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV6 = (2620:0:861:112::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e5-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV4 = (10.64.153.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV6 = (2620:0:861:121::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV4 = (10.64.155.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV6 = (2620:0:861:123::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV4 = (10.64.157.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV6 = (2620:0:861:125::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-e8-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV4 = (10.64.159.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV6 = (2620:0:861:127::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_E8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f1-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV4 = (10.64.142.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV6 = (2620:0:861:114::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f2-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV4 = (10.64.143.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV6 = (2620:0:861:115::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f3-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV4 = (10.64.144.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV6 = (2620:0:861:116::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f5-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV4 = (10.64.161.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV6 = (2620:0:861:129::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f6-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV4 = (10.64.163.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV6 = (2620:0:861:12b::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f7-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV4 = (10.64.165.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV6 = (2620:0:861:12d::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: analytics1-f8-eqiad\n@def $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV4 = (10.64.167.0/24);\n@def $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV6 = (2620:0:861:12f::/64);\n@def $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD = ($EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV4 $EQIAD_PRIVATE_ANALYTICS1_F8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-c8-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV4 = (10.64.151.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV6 = (2620:0:861:11f::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_C8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-d5-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV4 = (10.64.150.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV6 = (2620:0:861:11e::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_D5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-e4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV4 = (10.64.148.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV6 = (2620:0:861:11c::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_E4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV4 = (10.64.20.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV6 = (2620:0:861:118::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: cloud-hosts1-f4-eqiad\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV4 = (10.64.149.0/24);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV6 = (2620:0:861:11d::/64);\n@def $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD = ($EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV4 $EQIAD_PRIVATE_CLOUD_HOSTS1_F4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-a-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV4 = (10.64.0.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV6 = (2620:0:861:101::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_A_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_A_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-aux-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV4 = (10.67.80.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV6 = (2620:0:861:305::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_AUX_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-aux-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV4 = (10.67.64.0/20);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV6 = (2620:0:861:304::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_AUX_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-b-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV4 = (10.64.16.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV6 = (2620:0:861:102::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_B_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_B_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV4 = (10.64.32.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV6 = (2620:0:861:103::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV4 = (10.64.133.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV6 = (2620:0:861:10c::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV4 = (10.64.141.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV6 = (2620:0:861:113::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c4-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV4 = (10.64.169.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV6 = (2620:0:861:119::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c5-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV4 = (10.64.171.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV6 = (2620:0:861:131::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV4 = (10.64.173.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV6 = (2620:0:861:133::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-c7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV4 = (10.64.175.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV6 = (2620:0:861:135::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_C7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV4 = (10.64.48.0/22);\n@def $EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV6 = (2620:0:861:107::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d1-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV4 = (10.64.177.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV6 = (2620:0:861:137::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV4 = (10.64.179.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV6 = (2620:0:861:139::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV4 = (10.64.181.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV6 = (2620:0:861:13b::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d4-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV4 = (10.64.183.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV6 = (2620:0:861:13d::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D4_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV4 = (10.64.185.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV6 = (2620:0:861:13f::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV4 = (10.64.187.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV6 = (2620:0:861:142::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-d8-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV4 = (10.64.189.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV6 = (2620:0:861:144::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_D8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-dse-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV4 = (10.67.24.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV6 = (2620:0:861:302::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_DSE_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-dse-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV4 = (10.67.32.0/20);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV6 = (2620:0:861:303::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_DSE_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e1-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV4 = (10.64.130.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV6 = (2620:0:861:109::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV4 = (10.64.131.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV6 = (2620:0:861:10a::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV4 = (10.64.132.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV6 = (2620:0:861:10b::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e5-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV4 = (10.64.152.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV6 = (2620:0:861:120::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV4 = (10.64.154.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV6 = (2620:0:861:122::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV4 = (10.64.156.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV6 = (2620:0:861:124::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-e8-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV4 = (10.64.158.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV6 = (2620:0:861:126::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_E8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f1-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV4 = (10.64.134.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV6 = (2620:0:861:10d::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F1_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f2-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV4 = (10.64.135.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV6 = (2620:0:861:10e::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F2_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f3-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV4 = (10.64.136.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV6 = (2620:0:861:10f::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F3_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f5-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV4 = (10.64.160.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV6 = (2620:0:861:128::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F5_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f6-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV4 = (10.64.162.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV6 = (2620:0:861:12a::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F6_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f7-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV4 = (10.64.164.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV6 = (2620:0:861:12c::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F7_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-f8-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV4 = (10.64.166.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV6 = (2620:0:861:12e::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_F8_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-lvs-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_LVS_EQIAD_IPV4 = (10.2.2.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_LVS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_LVS_EQIAD_IPV4 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-mlserve-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV4 = (10.67.16.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV6 = (2620:0:861:300::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-mlserve-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV4 = (10.67.0.0/20);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV6 = (2620:0:861:301::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_MLSERVE_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-services-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV4 = (10.67.128.0/17);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV6 = (2620:0:861:cabe::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-services-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV4 = (10.64.72.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV6 = (2620:0:861:cabf::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_SERVICES_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-staging-kubepods-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV4 = (10.64.64.0/21);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV6 = (2620:0:861:babe::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBEPODS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-staging-kubesvc-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV4 = (10.64.76.0/24);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV6 = (2620:0:861:babf::/116);\n@def $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_STAGING_KUBESVC_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: private, # Network: private1-virtual-eqiad\n@def $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV4 = (10.64.24.0/23);\n@def $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV6 = (2620:0:861:140::/64);\n@def $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD = ($EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV4 $EQIAD_PRIVATE_PRIVATE1_VIRTUAL_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-a-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV4 = (208.80.154.0/26);\n@def $EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV6 = (2620:0:861:1::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_A_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_A_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-b-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV4 = (208.80.154.128/26);\n@def $EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV6 = (2620:0:861:2::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_B_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_B_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-c-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV4 = (208.80.154.64/26);\n@def $EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV6 = (2620:0:861:3::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_C_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_C_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-d-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV4 = (208.80.155.96/27);\n@def $EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV6 = (2620:0:861:4::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_D_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_D_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqiad, # Sphere: public, # Network: public1-lvs-eqiad\n@def $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV4 = (208.80.154.224/27);\n@def $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV6 = (2620:0:861:ed1a::/64);\n@def $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD = ($EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV4 $EQIAD_PUBLIC_PUBLIC1_LVS_EQIAD_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: private, # Network: private1-eqsin\n@def $EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV4 = (10.132.0.0/24);\n@def $EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV6 = (2001:df2:e500:101::/64);\n@def $EQSIN_PRIVATE_PRIVATE1_EQSIN = ($EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV4 $EQSIN_PRIVATE_PRIVATE1_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: private, # Network: private1-lvs-eqsin\n@def $EQSIN_PRIVATE_PRIVATE1_LVS_EQSIN_IPV4 = (10.2.5.0/24);\n@def $EQSIN_PRIVATE_PRIVATE1_LVS_EQSIN = ($EQSIN_PRIVATE_PRIVATE1_LVS_EQSIN_IPV4 );\n\n# Realm: production, # Site: eqsin, # Sphere: private, # Network: private1-virtual-eqsin\n@def $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV4 = (10.132.2.0/24);\n@def $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV6 = (2001:df2:e500:103::/64);\n@def $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN = ($EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV4 $EQSIN_PRIVATE_PRIVATE1_VIRTUAL_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: public, # Network: public1-eqsin\n@def $EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV4 = (103.102.166.0/28);\n@def $EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV6 = (2001:df2:e500:1::/64);\n@def $EQSIN_PUBLIC_PUBLIC1_EQSIN = ($EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV4 $EQSIN_PUBLIC_PUBLIC1_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: public, # Network: public1-lvs-eqsin\n@def $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV4 = (103.102.166.224/27);\n@def $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV6 = (2001:df2:e500:ed1a::/64);\n@def $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN = ($EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV4 $EQSIN_PUBLIC_PUBLIC1_LVS_EQSIN_IPV6 );\n\n# Realm: production, # Site: eqsin, # Sphere: public, # Network: public1-virtual-eqsin\n@def $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV4 = (103.102.166.96/27);\n@def $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV6 = (2001:df2:e500:3::/64);\n@def $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN = ($EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV4 $EQSIN_PUBLIC_PUBLIC1_VIRTUAL_EQSIN_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-bw27-esams\n@def $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV4 = (10.80.0.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV6 = (2a02:ec80:300:101::/64);\n@def $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV4 $ESAMS_PRIVATE_PRIVATE1_BW27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-by27-esams\n@def $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV4 = (10.80.1.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV6 = (2a02:ec80:300:102::/64);\n@def $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV4 $ESAMS_PRIVATE_PRIVATE1_BY27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-lvs-esams\n@def $ESAMS_PRIVATE_PRIVATE1_LVS_ESAMS_IPV4 = (10.2.3.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_LVS_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_LVS_ESAMS_IPV4 );\n\n# Realm: production, # Site: esams, # Sphere: private, # Network: private1-virtual-esams\n@def $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV4 = (10.80.2.0/24);\n@def $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV6 = (2a02:ec80:300:103::/64);\n@def $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS = ($ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV4 $ESAMS_PRIVATE_PRIVATE1_VIRTUAL_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-bw27-esams\n@def $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV4 = (185.15.59.0/27);\n@def $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV6 = (2a02:ec80:300:1::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_BW27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-by27-esams\n@def $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV4 = (185.15.59.32/27);\n@def $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV6 = (2a02:ec80:300:2::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_BY27_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-lvs-esams\n@def $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV4 = (185.15.59.224/27);\n@def $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV6 = (2a02:ec80:300:ed1a::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_LVS_ESAMS_IPV6 );\n\n# Realm: production, # Site: esams, # Sphere: public, # Network: public1-virtual-esams\n@def $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV4 = (185.15.59.96/27);\n@def $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV6 = (2a02:ec80:300:3::/64);\n@def $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS = ($ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV4 $ESAMS_PUBLIC_PUBLIC1_VIRTUAL_ESAMS_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-b3-magru\n@def $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV4 = (10.140.0.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV6 = (2a02:ec80:700:101::/64);\n@def $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV4 $MAGRU_PRIVATE_PRIVATE1_B3_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-b4-magru\n@def $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV4 = (10.140.1.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV6 = (2a02:ec80:700:102::/64);\n@def $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV4 $MAGRU_PRIVATE_PRIVATE1_B4_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-lvs-magru\n@def $MAGRU_PRIVATE_PRIVATE1_LVS_MAGRU_IPV4 = (10.2.7.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_LVS_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_LVS_MAGRU_IPV4 );\n\n# Realm: production, # Site: magru, # Sphere: private, # Network: private1-virtual-magru\n@def $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV4 = (10.140.2.0/24);\n@def $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV6 = (2a02:ec80:700:103::/64);\n@def $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU = ($MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV4 $MAGRU_PRIVATE_PRIVATE1_VIRTUAL_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-b3-magru\n@def $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV4 = (195.200.68.0/27);\n@def $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV6 = (2a02:ec80:700:1::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_B3_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-b4-magru\n@def $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV4 = (195.200.68.32/27);\n@def $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV6 = (2a02:ec80:700:2::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_B4_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-lvs-magru\n@def $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV4 = (195.200.68.224/27);\n@def $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV6 = (2a02:ec80:700:ed1a::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_LVS_MAGRU_IPV6 );\n\n# Realm: production, # Site: magru, # Sphere: public, # Network: public1-virtual-magru\n@def $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV4 = (195.200.68.96/27);\n@def $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV6 = (2a02:ec80:700:3::/64);\n@def $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU = ($MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV4 $MAGRU_PUBLIC_PUBLIC1_VIRTUAL_MAGRU_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-22-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV4 = (10.128.0.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV6 = (2620:0:863:101::/64);\n@def $ULSFO_PRIVATE_PRIVATE1_22_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV4 $ULSFO_PRIVATE_PRIVATE1_22_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-23-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV4 = (10.128.1.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV6 = (2620:0:863:102::/64);\n@def $ULSFO_PRIVATE_PRIVATE1_23_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV4 $ULSFO_PRIVATE_PRIVATE1_23_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-lvs-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_LVS_ULSFO_IPV4 = (10.2.4.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_LVS_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_LVS_ULSFO_IPV4 );\n\n# Realm: production, # Site: ulsfo, # Sphere: private, # Network: private1-virtual-ulsfo\n@def $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV4 = (10.128.2.0/24);\n@def $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV6 = (2620:0:863:103::/64);\n@def $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO = ($ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV4 $ULSFO_PRIVATE_PRIVATE1_VIRTUAL_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-22-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV4 = (198.35.26.0/27);\n@def $ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV6 = (2620:0:863:1::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_22_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_22_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-23-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV4 = (198.35.26.32/27);\n@def $ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV6 = (2620:0:863:2::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_23_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_23_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-lvs-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV4 = (198.35.26.96/27);\n@def $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV6 = (2620:0:863:ed1a::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_LVS_ULSFO_IPV6 );\n\n# Realm: production, # Site: ulsfo, # Sphere: public, # Network: public1-virtual-ulsfo\n@def $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV4 = (198.35.26.96/27);\n@def $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV6 = (2620:0:863:3::/64);\n@def $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO = ($ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV4 $ULSFO_PUBLIC_PUBLIC1_VIRTUAL_ULSFO_IPV6 );\n\n# Realm: sandbox, # Site: codfw, # Sphere: public, # Network: sandbox1-a-codfw\n@def $CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV4 = (208.80.152.240/28);\n@def $CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV6 = (2620:0:860:201::/64);\n@def $CODFW_PUBLIC_SANDBOX1_A_CODFW = ($CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV4 $CODFW_PUBLIC_SANDBOX1_A_CODFW_IPV6 );\n\n# Realm: sandbox, # Site: eqiad, # Sphere: public, # Network: sandbox1-b-eqiad\n@def $EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV4 = (208.80.155.64/28);\n@def $EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV6 = (2620:0:861:202::/64);\n@def $EQIAD_PUBLIC_SANDBOX1_B_EQIAD = ($EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV4 $EQIAD_PUBLIC_SANDBOX1_B_EQIAD_IPV6 );\n\n# Realm: sandbox, # Site: eqsin, # Sphere: public, # Network: sandbox1-virtual-eqsin\n@def $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV4 = (103.102.166.72/29);\n@def $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV6 = (2001:df2:e500:202::/64);\n@def $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN = ($EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV4 $EQSIN_PUBLIC_SANDBOX1_VIRTUAL_EQSIN_IPV6 );\n\n# Realm: sandbox, # Site: esams, # Sphere: public, # Network: sandbox1-virtual-esams\n@def $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV4 = (185.15.59.72/29);\n@def $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV6 = (2a02:ec80:300:202::/64);\n@def $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS = ($ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV4 $ESAMS_PUBLIC_SANDBOX1_VIRTUAL_ESAMS_IPV6 );\n\n# Realm: sandbox, # Site: magru, # Sphere: public, # Network: sandbox1-virtual-magru\n@def $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV4 = (195.200.68.64/29);\n@def $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV6 = (2a02:ec80:700:201::/64);\n@def $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU = ($MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV4 $MAGRU_PUBLIC_SANDBOX1_VIRTUAL_MAGRU_IPV6 );\n\n# Realm: sandbox, # Site: ulsfo, # Sphere: public, # Network: sandbox1-ulsfo\n@def $ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV4 = (198.35.26.240/28);\n@def $ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV6 = (2620:0:863:201::/64);\n@def $ULSFO_PUBLIC_SANDBOX1_ULSFO = ($ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV4 $ULSFO_PUBLIC_SANDBOX1_ULSFO_IPV6 );\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"Nrpe::Check","title":"check_ferm_active","tags":["nrpe::check","nrpe","check","check_ferm_active","nrpe::monitor_service","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":70,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","command":"/usr/local/lib/nagios/plugins/check_ferm","sudo_user":"root","before":"Monitoring::Service[ferm_active]"}},{"type":"Monitoring::Service","title":"ferm_active","tags":["monitoring::service","monitoring","service","ferm_active","nrpe::monitor_service","nrpe","monitor_service","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":86,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Check whether ferm is active by checking the default input chain","check_command":"nrpe_check!check_ferm_active!10","contact_group":"admins","retries":3,"critical":false,"check_interval":30,"retry_interval":1,"notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/check_ferm","migration_task":"T350694","passive":false,"freshness":36000,"config_dir":"/etc/nagios","host":"tools-legacy-redirector-3"}},{"type":"Package","title":"python3-click","tags":["package","python3-click","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":106,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"Package","title":"python3-box","tags":["package","python3-box","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":106,"kind":"compilable_type","exported":false,"parameters":{"ensure":"installed","provider":"apt"}},{"type":"File","title":"/usr/local/bin/nrpe2nodexp","tags":["file","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":108,"kind":"compilable_type","exported":false,"parameters":{"ensure":"present","source":"puppet:///modules/nrpe/nrpe2nodexp.py","mode":"0555","owner":"root","group":"root"}},{"type":"Prometheus::Alert::Rule","title":"check_ferm_active_bba0a2572329bb500b832470e08b381c","tags":["prometheus::alert::rule","prometheus","alert","rule","check_ferm_active_bba0a2572329bb500b832470e08b381c","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":144,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","alert_name":"nrpe_Check_whether_ferm_is_active_by_checking_the_default_input_chain","instance":"ops","summary":"NRPE CHECK: Check whether ferm is active by checking the default input chain","description":"NRPE CHECK: Check whether ferm is active by checking the default input chain","expr":"(nagios_nrpe_check_result{alert_rule_hash=\"bba0a2572329bb500b832470e08b381c\",check_name=\"check_ferm_active\", status=~\"(WARNING|CRITICAL)\", severity=~\"(warning|critical)\"} > 0) * on (instance) group_left (team) role_owner","for":"32m","group":"nrpechecks","dashboard":"TODO","runbook":"https://wikitech.wikimedia.org/wiki/Monitoring/check_ferm","logs":"https://logstash.wikimedia.org/app/dashboards#/view/2d343ac0-6df8-11f0-8e08-7fab0da52b33?_g=(filters:!((query:(match_phrase:(event.module:check_ferm_active))),(query:(match_phrase:(host.name:{{$labels.instance|stripPort}})))))","team":"observability","severity":"info","def_label_whitelst":["team","severity"],"site":"eqiad"}},{"type":"Systemd::Timer::Job","title":"nrpe2nodexp-ferm_active","tags":["systemd::timer::job","systemd","timer","job","nrpe2nodexp-ferm_active","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":180,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"execution of nrpe2nodexp for the check_ferm_active command.","user":"nagios","group":"prometheus-node-exporter","ignore_errors":true,"command":"/usr/local/bin/nrpe2nodexp --alert-rule-hash \"bba0a2572329bb500b832470e08b381c\" --timeout 10 --check-command \"check_ferm_active\"","interval":[{"start":"OnUnitInactiveSec","interval":"10min"}],"splay":600,"fixed_random_delay":true,"logging_enabled":false,"syslog_identifier":"nrpe2nodexp-ferm_active","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","send_mail_only_on_error":true,"private_tmp":false,"success_exit_status":[]}},{"type":"Rsyslog::Conf","title":"nrpe2nodexp-ferm_active","tags":["rsyslog::conf","rsyslog","conf","nrpe2nodexp-ferm_active","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/nrpe/manifests/monitor_service.pp","line":197,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# SPDX-License-Identifier: Apache-2.0\nif $programname contains \"nrpe2nodexp-ferm_active\" then {\n    if ($msg contains \"\\\"ecs.version\\\": \\\"1.7.0\\\"\") then {\n        # Send logs to kafka\n        set $.log_outputs = \"kafka ecs_170 local\";\n    } else {\n        # Filter out non-relevant nrpe2nodexp messages\n        stop\n    }\n}\n","priority":25,"mode":"0444"}},{"type":"Exec","title":"update_alternative_editor","tags":["exec","update_alternative_editor","alternatives::select","alternatives","select","editor","class","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/alternatives/manifests/select.pp","line":25,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/update-alternatives --force --set editor /bin/nano","unless":"/usr/bin/update-alternatives --query editor | /bin/grep 'Value: /bin/nano'"}},{"type":"File","title":"/etc/logrotate.d/exim4-paniclog","tags":["file","logrotate::conf","logrotate","conf","exim4-paniclog","class","exim4","profile::toolforge::base","profile","toolforge","base","role::wmcs::toolforge::legacy_redirector","role","wmcs","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/exim4/logrotate/exim4-paniclog"}},{"type":"Class","title":"Acme_chief","tags":["class","acme_chief","acme_chief::cert","cert","tools-legacy","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"exported":false,"kind":"unknown"},{"type":"Sslcert::Ca","title":"Lets_Encrypt_Authority_X3","tags":["sslcert::ca","sslcert","ca","lets_encrypt_authority_x3","class","acme_chief","acme_chief::cert","cert","tools-legacy","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/acme_chief/manifests/init.pp","line":8,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/acme_chief/lets-encrypt-x3-cross-signed.pem","ensure":"present"}},{"type":"Sslcert::Ca","title":"Lets_Encrypt_Authority_X4","tags":["sslcert::ca","sslcert","ca","lets_encrypt_authority_x4","class","acme_chief","acme_chief::cert","cert","tools-legacy","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/acme_chief/manifests/init.pp","line":15,"exported":false,"kind":"defined_type","parameters":{"source":"puppet:///modules/acme_chief/lets-encrypt-x4-cross-signed.pem","ensure":"present"}},{"type":"File","title":"/etc/acmecerts","tags":["file","acme_chief::cert","acme_chief","cert","tools-legacy","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/acme_chief/manifests/cert.pp","line":22,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755"}},{"type":"File","title":"/etc/acmecerts/tools-legacy","tags":["file","acme_chief::cert","acme_chief","cert","tools-legacy","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/acme_chief/manifests/cert.pp","line":41,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0640","recurse":true,"purge":true,"show_diff":false,"backup":false,"source":"puppet://tools-acme-chief-3.tools.eqiad1.wikimedia.cloud/acmedata/tools-legacy","force":true,"notify":["Service[apache2]"]}},{"type":"File","title":"/etc/apache2/conf-available/00-defaults.conf","tags":["file","httpd::conf","httpd","conf","defaults","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/httpd/defaults.conf","owner":"root","group":"root","mode":"0444","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/conf-enabled/00-defaults.conf","tags":["file","httpd::conf","httpd","conf","defaults","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"link","target":"/etc/apache2/conf-available/00-defaults.conf","notify":"Service[apache2]","owner":"root","group":"root"}},{"type":"Httpd::Conf","title":"dummy","tags":["httpd::conf","httpd","conf","dummy","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/site.pp","line":50,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","conf_type":"sites","priority":0,"source":"puppet:///modules/httpd/dummy.conf"}},{"type":"Exec","title":"ensure_present_mod_filter","tags":["exec","ensure_present_mod_filter","httpd::mod_conf","httpd","mod_conf","filter","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod filter","creates":"/etc/apache2/mods-enabled/filter.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_access_compat","tags":["exec","ensure_present_mod_access_compat","httpd::mod_conf","httpd","mod_conf","access_compat","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod access_compat","creates":"/etc/apache2/mods-enabled/access_compat.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_status","tags":["exec","ensure_present_mod_status","httpd::mod_conf","httpd","mod_conf","status","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod status","creates":"/etc/apache2/mods-enabled/status.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_alias","tags":["exec","ensure_present_mod_alias","httpd::mod_conf","httpd","mod_conf","alias","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod alias","creates":"/etc/apache2/mods-enabled/alias.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_headers","tags":["exec","ensure_present_mod_headers","httpd::mod_conf","httpd","mod_conf","headers","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod headers","creates":"/etc/apache2/mods-enabled/headers.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_rewrite","tags":["exec","ensure_present_mod_rewrite","httpd::mod_conf","httpd","mod_conf","rewrite","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod rewrite","creates":"/etc/apache2/mods-enabled/rewrite.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_ssl","tags":["exec","ensure_present_mod_ssl","httpd::mod_conf","httpd","mod_conf","ssl","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod ssl","creates":"/etc/apache2/mods-enabled/ssl.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"Exec","title":"ensure_present_mod_mpm_event","tags":["exec","ensure_present_mod_mpm_event","httpd::mod_conf","httpd","mod_conf","mpm_event","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/mod_conf.pp","line":24,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/sbin/a2enmod mpm_event","creates":"/etc/apache2/mods-enabled/mpm_event.load","notify":"Service[apache2]","require":"Package[apache2]"}},{"type":"File","title":"/etc/apache2/conf-available/50-server-status.conf","tags":["file","httpd::conf","httpd","conf","server-status","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/httpd/status.conf","owner":"root","group":"root","mode":"0444","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/conf-enabled/50-server-status.conf","tags":["file","httpd::conf","httpd","conf","server-status","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"link","target":"/etc/apache2/conf-available/50-server-status.conf","notify":"Service[apache2]","owner":"root","group":"root"}},{"type":"Systemd::Unit","title":"apache2-apache2-after-network-online-target","tags":["systemd::unit","systemd","unit","apache2-apache2-after-network-online-target","systemd::override","override","apache2-after-network-online-target","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/override.pp","line":14,"exported":false,"kind":"defined_type","parameters":{"override_filename":"apache2-after-network-online-target","override":true,"ensure":"absent","unit":"apache2","content":"[Unit]\nAfter=network-online.target\nWants=network-online.target\n","restart":false,"require":["Class[Systemd]"]}},{"type":"Systemd::Timer::Job","title":"wmf_auto_restart_apache-htcacheclean","tags":["systemd::timer::job","systemd","timer","job","wmf_auto_restart_apache-htcacheclean","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/profile/manifests/auto_restarts/service.pp","line":29,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","user":"root","description":"Auto restart job: apache-htcacheclean","command":"/usr/local/sbin/wmf-auto-restart -s apache-htcacheclean","interval":{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 5:12:00"},"require":"File[/usr/local/sbin/wmf-auto-restart]","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"File","title":"/etc/apache2/conf-available/50-mpm-event-override.conf","tags":["file","httpd::conf","httpd","conf","mpm_event_override","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/profile/toolforge/legacy_redirector/mpm_event.conf","owner":"root","group":"root","mode":"0444","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/conf-enabled/50-mpm-event-override.conf","tags":["file","httpd::conf","httpd","conf","mpm_event_override","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"link","target":"/etc/apache2/conf-available/50-mpm-event-override.conf","notify":"Service[apache2]","owner":"root","group":"root"}},{"type":"File","title":"mpm-event-override_mods-enabled/mpm_event.conf","tags":["file","httpd::conf","httpd","conf","mpm_event_override","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":87,"exported":false,"kind":"compilable_type","parameters":{"path":"/etc/apache2/mods-enabled/mpm_event.conf","ensure":"absent","owner":"root","group":"root"}},{"type":"Httpd::Conf","title":"tools.wmflabs.org","tags":["httpd::conf","httpd","conf","tools.wmflabs.org","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/site.pp","line":50,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","conf_type":"sites","priority":50,"content":"# SPDX-License-Identifier: Apache-2.0\n# THIS FILE IS MANAGED BY PUPPET\n# vim: filetype=apache\n\n<VirtualHost *:80>\n    ServerAdmin root@toolforge.org\n    ServerName tools.wmflabs.org\n\n    # duplicated here and in the https section so it does only one request to our server\n    Redirect gone /a\n    Redirect gone /aaaaaa\n    Redirect 308 /aaabot https://aaabot.toolforge.org\n    Redirect 308 /abbe98tools https://abbe98tools.toolforge.org\n    Redirect 308 /abbreviso https://abbreviso.toolforge.org\n    Redirect 308 /abcgames https://abcgames.toolforge.org\n    Redirect 308 /abdumubot https://abdumubot.toolforge.org\n    Redirect 308 /abibot https://abibot.toolforge.org\n    Redirect 308 /abigor https://abigor.toolforge.org\n    Redirect 308 /abohadi https://abohadi.toolforge.org\n    Redirect 308 /abohadi1 https://abohadi1.toolforge.org\n    Redirect 308 /abot https://abot.toolforge.org\n    Redirect 308 /abricot https://abricot.toolforge.org\n    Redirect 308 /abshir https://abshir.toolforge.org\n    Redirect gone /abusereport\n    Redirect gone /account\n    Redirect 308 /account-creator https://account-creator.toolforge.org\n    Redirect gone /acc-utilities\n    Redirect 308 /ace2018 https://ace2018.toolforge.org\n    Redirect gone /acoustid\n    Redirect gone /activity\n    Redirect gone /actrial\n    Redirect gone /adas\n    Redirect 308 /add https://add.toolforge.org\n    Redirect gone /addbot\n    Redirect 308 /add-information https://add-information.toolforge.org\n    Redirect 308 /addscholartopics https://addscholartopics.toolforge.org\n    Redirect gone /addshore\n    Redirect gone /addshore-dev\n    Redirect 308 /add-text https://add-text.toolforge.org\n    Redirect 308 /admin https://admin.toolforge.org\n    Redirect 308 /admin-beta https://admin-beta.toolforge.org\n    Redirect 308 /adminstats https://adminstats.toolforge.org\n    Redirect 308 /admin-test https://admin-test.toolforge.org\n    Redirect 308 /advertisedetector https://advertisedetector.toolforge.org\n    Redirect 308 /aemisinfo https://aemisinfo.toolforge.org\n    Redirect 308 /afcbot https://afcbot.toolforge.org\n    Redirect 308 /afch https://afch.toolforge.org\n    Redirect 308 /afch-updater https://afch-updater.toolforge.org\n    Redirect gone /afc-research\n    Redirect 308 /afdstats https://afdstats.toolforge.org\n    Redirect 308 /afrobot https://afrobot.toolforge.org\n    Redirect gone /aftabbot\n    Redirect 308 /aftabbotbnwiki https://aftabbotbnwiki.toolforge.org\n    Redirect 308 /aharonitelegrambot002 https://aharonitelegrambot002.toolforge.org\n    Redirect 308 /ahechtbot https://ahechtbot.toolforge.org\n    Redirect 308 /aiko-citationhunt https://aiko-citationhunt.toolforge.org\n    Redirect 308 /air7538tools https://air7538tools.toolforge.org\n    Redirect 308 /aivanalysis https://aivanalysis.toolforge.org\n    Redirect 308 /aivhelperbot https://aivhelperbot.toolforge.org\n    Redirect 308 /ajapaik2commons https://ajapaik2commons.toolforge.org\n    Redirect 308 /akkakkbot https://akkakkbot.toolforge.org\n    Redirect 308 /alaabot https://alaabot.toolforge.org\n    Redirect gone /alan\n    Redirect 308 /alanajjar https://alanajjar.toolforge.org\n    Redirect 308 /alberobot https://alberobot.toolforge.org\n    Redirect 308 /alchimista https://alchimista.toolforge.org\n    Redirect 308 /aleph https://aleph.toolforge.org\n    Redirect 308 /alessiobot https://alessiobot.toolforge.org\n    Redirect 308 /alex https://alex.toolforge.org\n    Redirect 308 /alfa80 https://alfa80.toolforge.org\n    Redirect gone /algo-news\n    Redirect 308 /alkamidbot https://alkamidbot.toolforge.org\n    Redirect 308 /alphatest https://alphatest.toolforge.org\n    Redirect 308 /alphawakt https://alphawakt.toolforge.org\n    Redirect 308 /altobot https://altobot.toolforge.org\n    Redirect 308 /altostratus https://altostratus.toolforge.org\n    Redirect 308 /alvaro https://alvaro.toolforge.org\n    Redirect 308 /am https://am.toolforge.org\n    Redirect gone /amarbot\n    Redirect 308 /amdb https://amdb.toolforge.org\n    Redirect 308 /ameen https://ameen.toolforge.org\n    Redirect 308 /ameisenbot https://ameisenbot.toolforge.org\n    Redirect 308 /amorybot https://amorybot.toolforge.org\n    Redirect 308 /amstats https://amstats.toolforge.org\n    Redirect 308 /anagrimes https://anagrimes.toolforge.org\n    Redirect 308 /analytalks https://analytalks.toolforge.org\n    Redirect 308 /analytics https://analytics.toolforge.org\n    Redirect 308 /ananthrk-test https://ananthrk-test.toolforge.org\n    Redirect 308 /ancestors2 https://ancestors2.toolforge.org\n    Redirect gone /andrewtesttool\n    Redirect gone /android-maven-repo\n    Redirect 308 /android-sdk-builds https://android-sdk-builds.toolforge.org\n    Redirect 308 /andxor https://andxor.toolforge.org\n    Redirect 308 /aneun-sandbox https://aneun-sandbox.toolforge.org\n    Redirect gone /ankitbot\n    Redirect 308 /anni-me https://anni-me.toolforge.org\n    Redirect 308 /anno https://anno.toolforge.org\n    Redirect 308 /anomiebot https://anomiebot.toolforge.org\n    Redirect 308 /anon https://anon.toolforge.org\n    Redirect gone /anorange\n    Redirect 308 /anticompositebot https://anticompositebot.toolforge.org\n    Redirect 308 /anticompositetest https://anticompositetest.toolforge.org\n    Redirect 308 /anticompositetools https://anticompositetools.toolforge.org\n    Redirect gone /antigng\n    Redirect 308 /antigng-bot https://antigng-bot.toolforge.org\n    Redirect 308 /aobo https://aobo.toolforge.org\n    Redirect 308 /apersonbot https://apersonbot.toolforge.org\n    Redirect gone /api-citations\n    Redirect 308 /apps-gallery https://apps-gallery.toolforge.org\n    Redirect 308 /apt-browser https://apt-browser.toolforge.org\n    Redirect 308 /arambot https://arambot.toolforge.org\n    Redirect 308 /arbclerkbot https://arbclerkbot.toolforge.org\n    Redirect 308 /arcanist https://arcanist.toolforge.org\n    Redirect gone /archaeo\n    Redirect 308 /archiveleaf https://archiveleaf.toolforge.org\n    Redirect 308 /archivesearch https://archivesearch.toolforge.org\n    Redirect 308 /archive-things https://archive-things.toolforge.org\n    Redirect 308 /archive-things-1 https://archive-things-1.toolforge.org\n    Redirect 308 /archive-things-2 https://archive-things-2.toolforge.org\n    Redirect 308 /archive-things-3 https://archive-things-3.toolforge.org\n    Redirect 308 /archive-things-4 https://archive-things-4.toolforge.org\n    Redirect 308 /archiving https://archiving.toolforge.org\n    Redirect 308 /arelph https://arelph.toolforge.org\n    Redirect 308 /arkivbot https://arkivbot.toolforge.org\n    Redirect 308 /arnaubot https://arnaubot.toolforge.org\n    Redirect 308 /arowf https://arowf.toolforge.org\n    Redirect 308 /artemisia https://artemisia.toolforge.org\n    Redirect gone /article\n    Redirect gone /article2\n    Redirect 308 /article-creation-mapper https://article-creation-mapper.toolforge.org\n    Redirect 308 /article-ideas-generator https://article-ideas-generator.toolforge.org\n    Redirect 308 /article-interactions https://article-interactions.toolforge.org\n    Redirect gone /article-locations\n    Redirect 308 /articleplaceholderwiki https://articleplaceholderwiki.toolforge.org\n    Redirect 308 /articlerequest https://articlerequest.toolforge.org\n    Redirect 308 /articlerequest-dev https://articlerequest-dev.toolforge.org\n    Redirect 308 /articles-by-lat-lon-without-images https://articles-by-lat-lon-without-images.toolforge.org\n    Redirect 308 /articles-needing-links https://articles-needing-links.toolforge.org\n    Redirect 308 /articles-recommender https://articles-recommender.toolforge.org\n    Redirect gone /article-suggestion\n    Redirect 308 /artlist https://artlist.toolforge.org\n    Redirect 308 /artuploader https://artuploader.toolforge.org\n    Redirect gone /arturo-test-tool\n    Redirect 308 /asaifmbot https://asaifmbot.toolforge.org\n    Redirect 308 /ascal https://ascal.toolforge.org\n    Redirect gone /asdf\n    Redirect 308 /ashbot https://ashbot.toolforge.org\n    Redirect gone /ash-dev\n    Redirect 308 /ash-django https://ash-django.toolforge.org\n    Redirect 308 /ashotbot https://ashotbot.toolforge.org\n    Redirect 308 /ashottools https://ashottools.toolforge.org\n    Redirect 308 /as-info https://as-info.toolforge.org\n    Redirect 308 /as-info-dev https://as-info-dev.toolforge.org\n    Redirect gone /askbot-01\n    Redirect 308 /assamesecalendar https://assamesecalendar.toolforge.org\n    Redirect 308 /assamesetool https://assamesetool.toolforge.org\n    Redirect 308 /assessor https://assessor.toolforge.org\n    Redirect 308 /asurabot https://asurabot.toolforge.org\n    Redirect 308 /aswnbot https://aswnbot.toolforge.org\n    Redirect 308 /atiro https://atiro.toolforge.org\n    Redirect 308 /ato https://ato.toolforge.org\n    Redirect 308 /atriskwiki https://atriskwiki.toolforge.org\n    Redirect 308 /attribution https://attribution.toolforge.org\n    Redirect 308 /aude https://aude.toolforge.org\n    Redirect 308 /audetools https://audetools.toolforge.org\n    Redirect 308 /auth https://auth.toolforge.org\n    Redirect 308 /author-disambiguator https://author-disambiguator.toolforge.org\n    Redirect 308 /authorlang-game https://authorlang-game.toolforge.org\n    Redirect 308 /authors https://authors.toolforge.org\n    Redirect 308 /autodesc https://autodesc.toolforge.org\n    Redirect 308 /autolist https://autolist.toolforge.org\n    Redirect 308 /autometrics https://autometrics.toolforge.org\n    Redirect 308 /autopromote-status https://autopromote-status.toolforge.org\n    Redirect 308 /avicbot https://avicbot.toolforge.org\n    Redirect 308 /awb https://awb.toolforge.org\n    Redirect 308 /awmd-stats https://awmd-stats.toolforge.org\n    Redirect 308 /awstats https://awstats.toolforge.org\n    Redirect gone /axel\n    Redirect gone /a-z-p\n    Redirect gone /a-z-p-0-9-z\n    Redirect 308 /badges https://badges.toolforge.org\n    Redirect 308 /bajo https://bajo.toolforge.org\n    Redirect 308 /balasankarc https://balasankarc.toolforge.org\n    Redirect 308 /baljeetdhaliwal https://baljeetdhaliwal.toolforge.org\n    Redirect 308 /baljeetsingh https://baljeetsingh.toolforge.org\n    Redirect 308 /bambots https://bambots.toolforge.org\n    Redirect 308 /basebot https://basebot.toolforge.org\n    Redirect gone /base-encode\n    Redirect 308 /base-php-cli https://base-php-cli.toolforge.org\n    Redirect gone /basetool\n    Redirect 308 /bash https://bash.toolforge.org\n    Redirect gone /basyounybot\n    Redirect 308 /batchrevert https://batchrevert.toolforge.org\n    Redirect 308 /bawolff https://bawolff.toolforge.org\n    Redirect 308 /bays https://bays.toolforge.org\n    Redirect 308 /bbc-tv-cite https://bbc-tv-cite.toolforge.org\n    Redirect 308 /bcxfu75kbot https://bcxfu75kbot.toolforge.org\n    Redirect gone /bd808-k8smigrate\n    Redirect 308 /bd808-pywikibot https://bd808-pywikibot.toolforge.org\n    Redirect 308 /bd808-ruby https://bd808-ruby.toolforge.org\n    Redirect 308 /bd808-test https://bd808-test.toolforge.org\n    Redirect 308 /bd808-test2 https://bd808-test2.toolforge.org\n    Redirect gone /bd808-test3\n    Redirect gone /bd808-test4\n    Redirect 308 /beastiebot https://beastiebot.toolforge.org\n    Redirect 308 /become https://become.toolforge.org\n    Redirect 308 /beleg-tally https://beleg-tally.toolforge.org\n    Redirect gone /beleg-test-14568913402\n    Redirect 308 /bene https://bene.toolforge.org\n    Redirect 308 /benin1 https://benin1.toolforge.org\n    Redirect 308 /bennofsplay https://bennofsplay.toolforge.org\n    Redirect 308 /best-image https://best-image.toolforge.org\n    Redirect 308 /betabot https://betabot.toolforge.org\n    Redirect 308 /betacommand-dev https://betacommand-dev.toolforge.org\n    Redirect 308 /betaweb https://betaweb.toolforge.org\n    Redirect 308 /bibleversefinder https://bibleversefinder.toolforge.org\n    Redirect 308 /bibleversefinder2 https://bibleversefinder2.toolforge.org\n    Redirect 308 /bibliodata https://bibliodata.toolforge.org\n    Redirect 308 /bikeshed https://bikeshed.toolforge.org\n    Redirect 308 /bingle https://bingle.toolforge.org\n    Redirect 308 /bing-maps https://bing-maps.toolforge.org\n    Redirect 308 /bingo https://bingo.toolforge.org\n    Redirect 308 /bkllc https://bkllc.toolforge.org\n    Redirect 308 /bkstats-test https://bkstats-test.toolforge.org\n    Redirect 308 /blablabla https://blablabla.toolforge.org\n    Redirect 308 /blahma https://blahma.toolforge.org\n    Redirect 308 /blankpages https://blankpages.toolforge.org\n    Redirect 308 /bl-assist https://bl-assist.toolforge.org\n    Redirect 308 /bldrwnsch https://bldrwnsch.toolforge.org\n    Redirect 308 /blockcalc https://blockcalc.toolforge.org\n    Redirect 308 /blocklog https://blocklog.toolforge.org\n    Redirect 308 /blocksearch https://blocksearch.toolforge.org\n    Redirect 308 /blockyquery https://blockyquery.toolforge.org\n    Redirect 308 /blog https://blog.toolforge.org\n    Redirect gone /blogconverter\n    Redirect gone /blubber\n    Redirect 308 /bn-googleocr https://bn-googleocr.toolforge.org\n    Redirect 308 /bnwiki8 https://bnwiki8.toolforge.org\n    Redirect 308 /bomwiki https://bomwiki.toolforge.org\n    Redirect 308 /book2scroll https://book2scroll.toolforge.org\n    Redirect 308 /bookmanagerv2 https://bookmanagerv2.toolforge.org\n    Redirect 308 /bookreader https://bookreader.toolforge.org\n    Redirect 308 /books-for-binding https://books-for-binding.toolforge.org\n    Redirect 308 /booksplitter https://booksplitter.toolforge.org\n    Redirect 308 /bookworm https://bookworm.toolforge.org\n    Redirect 308 /booster https://booster.toolforge.org\n    Redirect 308 /borracho https://borracho.toolforge.org\n    Redirect 308 /bot24 https://bot24.toolforge.org\n    Redirect 308 /bot873 https://bot873.toolforge.org\n    Redirect 308 /botadventures https://botadventures.toolforge.org\n    Redirect 308 /bot-ash-nazg https://bot-ash-nazg.toolforge.org\n    Redirect 308 /boteas https://boteas.toolforge.org\n    Redirect 308 /bothasava https://bothasava.toolforge.org\n    Redirect 308 /botleo https://botleo.toolforge.org\n    Redirect 308 /botomatik https://botomatik.toolforge.org\n    Redirect 308 /botorder https://botorder.toolforge.org\n    Redirect 308 /botqa https://botqa.toolforge.org\n    Redirect 308 /botriconferme https://botriconferme.toolforge.org\n    Redirect 308 /botsister https://botsister.toolforge.org\n    Redirect 308 /botundo https://botundo.toolforge.org\n    Redirect 308 /botvegas https://botvegas.toolforge.org\n    Redirect 308 /botwatch https://botwatch.toolforge.org\n    Redirect 308 /botwikiawk https://botwikiawk.toolforge.org\n    Redirect 308 /boty https://boty.toolforge.org\n    Redirect 308 /bovlbbot https://bovlbbot.toolforge.org\n    Redirect 308 /bowleerin https://bowleerin.toolforge.org\n    Redirect gone /bracketbot\n    Redirect gone /brandonstools\n    Redirect 308 /brgroup https://brgroup.toolforge.org\n    Redirect 308 /bridgebot https://bridgebot.toolforge.org\n    Redirect 308 /bsaut https://bsaut.toolforge.org\n    Redirect gone /bstorm-tool\n    Redirect gone /bstorm-tool2\n    Redirect gone /bub\n    Redirect 308 /bub2 https://bub2.toolforge.org\n    Redirect 308 /bugello https://bugello.toolforge.org\n    Redirect 308 /bunykbot https://bunykbot.toolforge.org\n    Redirect 308 /bytesadded https://bytesadded.toolforge.org\n    Redirect 308 /calakbot https://calakbot.toolforge.org\n    Redirect 308 /calak-dev https://calak-dev.toolforge.org\n    Redirect 308 /calling-card https://calling-card.toolforge.org\n    Redirect 308 /camelbot https://camelbot.toolforge.org\n    Redirect gone /canary\n    Redirect 308 /canarybot https://canarybot.toolforge.org\n    Redirect 308 /captcha https://captcha.toolforge.org\n    Redirect 308 /captcha-dev https://captcha-dev.toolforge.org\n    Redirect 308 /cargo-hierarchy https://cargo-hierarchy.toolforge.org\n    Redirect 308 /catbot https://catbot.toolforge.org\n    Redirect 308 /catcompare https://catcompare.toolforge.org\n    Redirect 308 /categorie https://categorie.toolforge.org\n    Redirect 308 /category-by-uploaders https://category-by-uploaders.toolforge.org\n    Redirect 308 /catfood https://catfood.toolforge.org\n    Redirect gone /catgraph\n    Redirect gone /catgraph-jsonp\n    Redirect 308 /catimages https://catimages.toolforge.org\n    Redirect gone /catlive\n    Redirect gone /catmonitor\n    Redirect 308 /catnap https://catnap.toolforge.org\n    Redirect 308 /catrename https://catrename.toolforge.org\n    Redirect 308 /catscan2 https://catscan2.toolforge.org\n    Redirect 308 /catscan3 https://catscan3.toolforge.org\n    Redirect 308 /catscan-pop https://catscan-pop.toolforge.org\n    Redirect 308 /catscore https://catscore.toolforge.org\n    Redirect gone /catsize\n    Redirect 308 /cats-php https://cats-php.toolforge.org\n    Redirect 308 /catwatchbot https://catwatchbot.toolforge.org\n    Redirect 308 /cauchy https://cauchy.toolforge.org\n    Redirect 308 /cauchy7 https://cauchy7.toolforge.org\n    Redirect gone /cbench\n    Redirect gone /cbench2\n    Redirect gone /cbng-sql-1\n    Redirect gone /cbng-sql-2\n    Redirect gone /cbng-sql-3\n    Redirect gone /cbng-sql-4\n    Redirect gone /cbng-sql-5\n    Redirect gone /cbng-sql-6\n    Redirect 308 /ccm https://ccm.toolforge.org\n    Redirect 308 /cdnjs https://cdnjs.toolforge.org\n    Redirect 308 /cdnjs-beta https://cdnjs-beta.toolforge.org\n    Redirect 308 /cdrini-dev https://cdrini-dev.toolforge.org\n    Redirect 308 /centralnotice-bannergenerator https://centralnotice-bannergenerator.toolforge.org\n    Redirect 308 /cerabot https://cerabot.toolforge.org\n    Redirect 308 /cewbot https://cewbot.toolforge.org\n    Redirect gone /cgstat\n    Redirect 308 /chaoyueltry https://chaoyueltry.toolforge.org\n    Redirect 308 /charttableconverter https://charttableconverter.toolforge.org\n    Redirect gone /chat\n    Redirect gone /checkdictation-fa\n    Redirect 308 /checker https://checker.toolforge.org\n    Redirect gone /checklinks\n    Redirect 308 /checkpersondata https://checkpersondata.toolforge.org\n    Redirect 308 /checkwiki https://checkwiki.toolforge.org\n    Redirect 308 /chemobot https://chemobot.toolforge.org\n    Redirect 308 /chie-bot https://chie-bot.toolforge.org\n    Redirect 308 /chobot https://chobot.toolforge.org\n    Redirect 308 /chocobot https://chocobot.toolforge.org\n    Redirect 308 /churches https://churches.toolforge.org\n    Redirect 308 /ci https://ci.toolforge.org\n    Redirect 308 /cil2 https://cil2.toolforge.org\n    Redirect 308 /cipherbot https://cipherbot.toolforge.org\n    Redirect gone /citationbase\n    Redirect gone /citation-bot\n    Redirect 308 /citationdetective https://citationdetective.toolforge.org\n    Redirect gone /citationgraph\n    Redirect 308 /citationhunt https://citationhunt.toolforge.org\n    Redirect 308 /citations https://citations.toolforge.org\n    Redirect 308 /citations-dev https://citations-dev.toolforge.org\n    Redirect 308 /citation-template-filling https://citation-template-filling.toolforge.org\n    Redirect 308 /citeimage https://citeimage.toolforge.org\n    Redirect 308 /cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 308 /citeplato https://citeplato.toolforge.org\n    Redirect 308 /citer https://citer.toolforge.org\n    Redirect 308 /cite-web-helper https://cite-web-helper.toolforge.org\n    Redirect 308 /citing-bot https://citing-bot.toolforge.org\n    Redirect 308 /citytime https://citytime.toolforge.org\n    Redirect 308 /cleanup https://cleanup.toolforge.org\n    Redirect 308 /clickstream-api https://clickstream-api.toolforge.org\n    Redirect 308 /cloudvps https://cloudvps.toolforge.org\n    Redirect 308 /clpo13-flask https://clpo13-flask.toolforge.org\n    Redirect 308 /cluebot https://cluebot.toolforge.org\n    Redirect 308 /cluebot3 https://cluebot3.toolforge.org\n    Redirect 308 /cluebotng https://cluebotng.toolforge.org\n    Redirect 308 /cluebotng-staging https://cluebotng-staging.toolforge.org\n    Redirect gone /cluestuff\n    Redirect gone /clunk\n    Redirect 308 /cobain https://cobain.toolforge.org\n    Redirect 308 /cobot https://cobot.toolforge.org\n    Redirect 308 /cocubot https://cocubot.toolforge.org\n    Redirect 308 /cocytus https://cocytus.toolforge.org\n    Redirect 308 /code-essay https://code-essay.toolforge.org\n    Redirect 308 /codelookup https://codelookup.toolforge.org\n    Redirect 308 /codeqc https://codeqc.toolforge.org\n    Redirect 308 /codexbot https://codexbot.toolforge.org\n    Redirect 308 /coh https://coh.toolforge.org\n    Redirect gone /coi\n    Redirect 308 /coibot https://coibot.toolforge.org\n    Redirect gone /comidentgen\n    Redirect 308 /common-interests https://common-interests.toolforge.org\n    Redirect gone /commons\n    Redirect 308 /commons-aiuser https://commons-aiuser.toolforge.org\n    Redirect 308 /commons-android-app https://commons-android-app.toolforge.org\n    Redirect 308 /commons-app-stats https://commons-app-stats.toolforge.org\n    Redirect 308 /commons-app-web https://commons-app-web.toolforge.org\n    Redirect 308 /commonsarchive https://commonsarchive.toolforge.org\n    Redirect 308 /commons-campaign-commander https://commons-campaign-commander.toolforge.org\n    Redirect 308 /commonscategorycount https://commonscategorycount.toolforge.org\n    Redirect 308 /commons-coverage https://commons-coverage.toolforge.org\n    Redirect 308 /commons-delinquent https://commons-delinquent.toolforge.org\n    Redirect gone /commons_describer\n    Redirect 308 /commonsedge https://commonsedge.toolforge.org\n    Redirect 308 /commonsfairuseupload https://commonsfairuseupload.toolforge.org\n    Redirect 308 /commonshelper https://commonshelper.toolforge.org\n    Redirect gone /commonshelper2\n    Redirect gone /commonsinterwiki\n    Redirect 308 /commons-maintenance-bot https://commons-maintenance-bot.toolforge.org\n    Redirect 308 /commons-mass-description https://commons-mass-description.toolforge.org\n    Redirect 308 /commons-mass-description-test https://commons-mass-description-test.toolforge.org\n    Redirect gone /commons-mass-upload\n    Redirect 308 /commonsnotificationbot https://commonsnotificationbot.toolforge.org\n    Redirect 308 /commons-poty https://commons-poty.toolforge.org\n    Redirect gone /commonsuploadsum\n    Redirect gone /commons-video-clicks\n    Redirect 308 /commtech-commons https://commtech-commons.toolforge.org\n    Redirect gone /communityguidelines\n    Redirect 308 /community-tech-tools https://community-tech-tools.toolforge.org\n    Redirect 308 /compare-accounts https://compare-accounts.toolforge.org\n    Redirect 308 /completer https://completer.toolforge.org\n    Redirect 308 /comprende https://comprende.toolforge.org\n    Redirect 308 /congressedits https://congressedits.toolforge.org\n    Redirect 308 /connectivity https://connectivity.toolforge.org\n    Redirect 308 /contact https://contact.toolforge.org\n    Redirect 308 /contentcontributor https://contentcontributor.toolforge.org\n    Redirect 308 /content-gap https://content-gap.toolforge.org\n    Redirect 308 /continuitybot https://continuitybot.toolforge.org\n    Redirect 308 /contraband https://contraband.toolforge.org\n    Redirect 308 /contrabandapp https://contrabandapp.toolforge.org\n    Redirect 308 /contribgraph https://contribgraph.toolforge.org\n    Redirect 308 /contribstats https://contribstats.toolforge.org\n    Redirect gone /contributions-summary\n    Redirect 308 /contributionsurveyor https://contributionsurveyor.toolforge.org\n    Redirect 308 /contropedia https://contropedia.toolforge.org\n    Redirect 308 /convenient-discussions https://convenient-discussions.toolforge.org\n    Redirect 308 /convert https://convert.toolforge.org\n    Redirect 308 /coord https://coord.toolforge.org\n    Redirect 308 /copyclear https://copyclear.toolforge.org\n    Redirect 308 /copypatrol https://copypatrol.toolforge.org\n    Redirect 308 /copyvios https://copyvios.toolforge.org\n    Redirect gone /copywhat\n    Redirect gone /corenlp\n    Redirect gone /corhist\n    Redirect 308 /costar https://costar.toolforge.org\n    Redirect 308 /countcountbot https://countcountbot.toolforge.org\n    Redirect 308 /countcounttest https://countcounttest.toolforge.org\n    Redirect 308 /countryip https://countryip.toolforge.org\n    Redirect 308 /coursestats https://coursestats.toolforge.org\n    Redirect 308 /coverage https://coverage.toolforge.org\n    Redirect 308 /coverme https://coverme.toolforge.org\n    Redirect 308 /covid https://covid.toolforge.org\n    Redirect 308 /covid-obit https://covid-obit.toolforge.org\n    Redirect 308 /cp https://cp.toolforge.org\n    Redirect 308 /cpb https://cpb.toolforge.org\n    Redirect 308 /cradle https://cradle.toolforge.org\n    Redirect gone /crazyometer\n    Redirect gone /creatorlinks\n    Redirect 308 /crisis-response https://crisis-response.toolforge.org\n    Redirect gone /crocodylia\n    Redirect 308 /cropbot https://cropbot.toolforge.org\n    Redirect 308 /cropcrop https://cropcrop.toolforge.org\n    Redirect 308 /croptool https://croptool.toolforge.org\n    Redirect 308 /crossactivity https://crossactivity.toolforge.org\n    Redirect gone /crosswatch\n    Redirect 308 /crosswatch2019 https://crosswatch2019.toolforge.org\n    Redirect gone /crosswatch-monitoring\n    Redirect 308 /csbot https://csbot.toolforge.org\n    Redirect 308 /csfd https://csfd.toolforge.org\n    Redirect 308 /csp-report https://csp-report.toolforge.org\n    Redirect 308 /cssk https://cssk.toolforge.org\n    Redirect 308 /cuddle https://cuddle.toolforge.org\n    Redirect 308 /currentevents https://currentevents.toolforge.org\n    Redirect 308 /custom-utils https://custom-utils.toolforge.org\n    Redirect 308 /cvn https://cvn.toolforge.org\n    Redirect 308 /cvrminer https://cvrminer.toolforge.org\n    Redirect 308 /cyberbot https://cyberbot.toolforge.org\n    Redirect gone /cybertools\n    Redirect 308 /cyberworm https://cyberworm.toolforge.org\n    Redirect 308 /cydebot https://cydebot.toolforge.org\n    Redirect 308 /daahbot https://daahbot.toolforge.org\n    Redirect gone /dabsolver\n    Redirect 308 /dal https://dal.toolforge.org\n    Redirect 308 /danilo https://danilo.toolforge.org\n    Redirect 308 /danmicholobot https://danmicholobot.toolforge.org\n    Redirect 308 /dannys712-bot https://dannys712-bot.toolforge.org\n    Redirect 308 /danorton-dev https://danorton-dev.toolforge.org\n    Redirect 308 /dapete-dev https://dapete-dev.toolforge.org\n    Redirect 308 /dashboard https://dashboard.toolforge.org\n    Redirect 308 /database-reports https://database-reports.toolforge.org\n    Redirect 308 /datacon-schedule-app https://datacon-schedule-app.toolforge.org\n    Redirect gone /data-design-demo\n    Redirect 308 /datasets https://datasets.toolforge.org\n    Redirect 308 /dataviz https://dataviz.toolforge.org\n    Redirect 308 /datbot https://datbot.toolforge.org\n    Redirect gone /datbotcommons\n    Redirect 308 /dateien https://dateien.toolforge.org\n    Redirect 308 /david-tool https://david-tool.toolforge.org\n    Redirect 308 /davod https://davod.toolforge.org\n    Redirect gone /dawiki\n    Redirect 308 /dawikibot https://dawikibot.toolforge.org\n    Redirect 308 /dawikitool https://dawikitool.toolforge.org\n    Redirect gone /db\n    Redirect 308 /dbbot https://dbbot.toolforge.org\n    Redirect 308 /dbreps https://dbreps.toolforge.org\n    Redirect 308 /dbreps-uk https://dbreps-uk.toolforge.org\n    Redirect gone /ddescriptions\n    Redirect 308 /deadlinkfinder https://deadlinkfinder.toolforge.org\n    Redirect 308 /deadlinks https://deadlinks.toolforge.org\n    Redirect 308 /death-anomalies https://death-anomalies.toolforge.org\n    Redirect gone /declare\n    Redirect gone /deep-learning-services\n    Redirect 308 /defconbot https://defconbot.toolforge.org\n    Redirect gone /dekel\n    Redirect 308 /delinker https://delinker.toolforge.org\n    Redirect 308 /dellie https://dellie.toolforge.org\n    Redirect 308 /deltabot https://deltabot.toolforge.org\n    Redirect 308 /deltaquad-bots https://deltaquad-bots.toolforge.org\n    Redirect 308 /demibot https://demibot.toolforge.org\n    Redirect 308 /demo-unicorn https://demo-unicorn.toolforge.org\n    Redirect 308 /denisa https://denisa.toolforge.org\n    Redirect 308 /denkmalbot https://denkmalbot.toolforge.org\n    Redirect 308 /denkmalliste https://denkmalliste.toolforge.org\n    Redirect 308 /depiction-game https://depiction-game.toolforge.org\n    Redirect 308 /depictions https://depictions.toolforge.org\n    Redirect 308 /depicts https://depicts.toolforge.org\n    Redirect 308 /deprecated-fixer-bot https://deprecated-fixer-bot.toolforge.org\n    Redirect 308 /derivative https://derivative.toolforge.org\n    Redirect 308 /desh https://desh.toolforge.org\n    Redirect gone /design-research-methods\n    Redirect gone /deskana\n    Redirect gone /deskana2\n    Redirect 308 /detox https://detox.toolforge.org\n    Redirect gone /detoxresearch\n    Redirect gone /devlibrarycard\n    Redirect 308 /devyasha https://devyasha.toolforge.org\n    Redirect 308 /devys https://devys.toolforge.org\n    Redirect 308 /dewikigreetbot https://dewikigreetbot.toolforge.org\n    Redirect 308 /dewikinews-rss https://dewikinews-rss.toolforge.org\n    Redirect 308 /dewikivpncheck https://dewikivpncheck.toolforge.org\n    Redirect 308 /dewkin https://dewkin.toolforge.org\n    Redirect gone /dewpmonobookupdater\n    Redirect 308 /dexbot https://dexbot.toolforge.org\n    Redirect gone /dexibotnet\n    Redirect gone /dibot\n    Redirect 308 /dibyadutta https://dibyadutta.toolforge.org\n    Redirect 308 /dicompte https://dicompte.toolforge.org\n    Redirect 308 /digero https://digero.toolforge.org\n    Redirect gone /digitaltmuseum\n    Redirect 308 /dijkstrasproject https://dijkstrasproject.toolforge.org\n    Redirect 308 /dimastbkbot https://dimastbkbot.toolforge.org\n    Redirect 308 /dimensioner https://dimensioner.toolforge.org\n    Redirect 308 /dioceses https://dioceses.toolforge.org\n    Redirect 308 /directory https://directory.toolforge.org\n    Redirect 308 /disambinator https://disambinator.toolforge.org\n    Redirect 308 /disclaim https://disclaim.toolforge.org\n    Redirect gone /discogs2pistes\n    Redirect gone /discord-irc\n    Redirect gone /discordwiki\n    Redirect 308 /dispatcher https://dispatcher.toolforge.org\n    Redirect 308 /dispenser https://dispenser.toolforge.org\n    Redirect 308 /dixondbot https://dixondbot.toolforge.org\n    Redirect 308 /dixtosa https://dixtosa.toolforge.org\n    Redirect 308 /dluxbot https://dluxbot.toolforge.org\n    Redirect 308 /dna https://dna.toolforge.org\n    Redirect 308 /dnbtools https://dnbtools.toolforge.org\n    Redirect 308 /dockerregistry https://dockerregistry.toolforge.org\n    Redirect 308 /docker-registry https://docker-registry.toolforge.org\n    Redirect 308 /doi-bot https://doi-bot.toolforge.org\n    Redirect gone /douglasbot\n    Redirect 308 /dow https://dow.toolforge.org\n    Redirect 308 /dpkg https://dpkg.toolforge.org\n    Redirect 308 /dplbot https://dplbot.toolforge.org\n    Redirect 308 /draftifyhistory https://draftifyhistory.toolforge.org\n    Redirect gone /draft-uncategorize-script\n    Redirect gone /dramaboard\n    Redirect 308 /drawshield https://drawshield.toolforge.org\n    Redirect 308 /drbot https://drbot.toolforge.org\n    Redirect 308 /dreamyjazzbot https://dreamyjazzbot.toolforge.org\n    Redirect 308 /drewbot https://drewbot.toolforge.org\n    Redirect 308 /dribper https://dribper.toolforge.org\n    Redirect 308 /drini https://drini.toolforge.org\n    Redirect 308 /droog https://droog.toolforge.org\n    Redirect gone /drtrigonbot\n    Redirect 308 /drvstats https://drvstats.toolforge.org\n    Redirect 308 /dschwenbot https://dschwenbot.toolforge.org\n    Redirect gone /dspull\n    Redirect 308 /dtz https://dtz.toolforge.org\n    Redirect 308 /dumpcattree https://dumpcattree.toolforge.org\n    Redirect gone /dumpscan\n    Redirect gone /dump-torrents\n    Redirect 308 /dupdet https://dupdet.toolforge.org\n    Redirect 308 /duplicate-coords https://duplicate-coords.toolforge.org\n    Redirect 308 /duplicatehunter https://duplicatehunter.toolforge.org\n    Redirect gone /durl-shortener\n    Redirect 308 /dutchbot https://dutchbot.toolforge.org\n    Redirect 308 /dvorapabot https://dvorapabot.toolforge.org\n    Redirect 308 /dvtbot https://dvtbot.toolforge.org\n    Redirect 308 /dykautobot https://dykautobot.toolforge.org\n    Redirect 308 /dykbot https://dykbot.toolforge.org\n    Redirect 308 /dykfeed https://dykfeed.toolforge.org\n    Redirect 308 /dykmoverbot https://dykmoverbot.toolforge.org\n    Redirect 308 /dykstats https://dykstats.toolforge.org\n    Redirect 308 /dynamicbot https://dynamicbot.toolforge.org\n    Redirect 308 /dynbot-srv1 https://dynbot-srv1.toolforge.org\n    Redirect 308 /dynbot-srv2 https://dynbot-srv2.toolforge.org\n    Redirect 308 /eagerbot https://eagerbot.toolforge.org\n    Redirect 308 /eagleeye https://eagleeye.toolforge.org\n    Redirect 308 /earwigbot https://earwigbot.toolforge.org\n    Redirect 308 /earwig-dev https://earwig-dev.toolforge.org\n    Redirect 308 /eatchabot https://eatchabot.toolforge.org\n    Redirect 308 /eathom https://eathom.toolforge.org\n    Redirect gone /ebrahim-dev\n    Redirect gone /ebraminio-dev\n    Redirect 308 /ecmabot https://ecmabot.toolforge.org\n    Redirect 308 /edcounter https://edcounter.toolforge.org\n    Redirect 308 /edgars https://edgars.toolforge.org\n    Redirect 308 /edgarsdev https://edgarsdev.toolforge.org\n    Redirect gone /edin\n    Redirect 308 /edinbot https://edinbot.toolforge.org\n    Redirect gone /edinc\n    Redirect 308 /editathonstat https://editathonstat.toolforge.org\n    Redirect 308 /editcompare https://editcompare.toolforge.org\n    Redirect gone /edit-counter\n    Redirect 308 /editcount-fr https://editcount-fr.toolforge.org\n    Redirect gone /editcountitis\n    Redirect gone /editful\n    Redirect 308 /editgroups https://editgroups.toolforge.org\n    Redirect 308 /editor-retention-dashboard https://editor-retention-dashboard.toolforge.org\n    Redirect gone /edits\n    Redirect gone /editsynergy\n    Redirect 308 /efenbot https://efenbot.toolforge.org\n    Redirect gone /elasticdash\n    Redirect 308 /elobot https://elobot.toolforge.org\n    Redirect gone /elph\n    Redirect 308 /elvisor https://elvisor.toolforge.org\n    Redirect 308 /emausbot https://emausbot.toolforge.org\n    Redirect 308 /embeddeddata https://embeddeddata.toolforge.org\n    Redirect 308 /embeddedincount https://embeddedincount.toolforge.org\n    Redirect 308 /emijrpbot https://emijrpbot.toolforge.org\n    Redirect 308 /emoociev https://emoociev.toolforge.org\n    Redirect 308 /enbbsb https://enbbsb.toolforge.org\n    Redirect 308 /enboten https://enboten.toolforge.org\n    Redirect 308 /endumen https://endumen.toolforge.org\n    Redirect 308 /energybot https://energybot.toolforge.org\n    Redirect 308 /enet https://enet.toolforge.org\n    Redirect gone /enett\n    Redirect 308 /enhourly https://enhourly.toolforge.org\n    Redirect 308 /enterpriseybot-rs https://enterpriseybot-rs.toolforge.org\n    Redirect 308 /entsuggest https://entsuggest.toolforge.org\n    Redirect 308 /enwiki-user-edits https://enwiki-user-edits.toolforge.org\n    Redirect 308 /enwiktdefns https://enwiktdefns.toolforge.org\n    Redirect 308 /enwnbot https://enwnbot.toolforge.org\n    Redirect 308 /enwp10 https://enwp10.toolforge.org\n    Redirect 308 /eranbot https://eranbot.toolforge.org\n    Redirect 308 /erex-yomi https://erex-yomi.toolforge.org\n    Redirect 308 /erwin85 https://erwin85.toolforge.org\n    Redirect 308 /esbackup https://esbackup.toolforge.org\n    Redirect 308 /esfichataxon https://esfichataxon.toolforge.org\n    Redirect 308 /etools https://etools.toolforge.org\n    Redirect 308 /etwelvetest https://etwelvetest.toolforge.org\n    Redirect 308 /etwikibots https://etwikibots.toolforge.org\n    Redirect gone /etwikt\n    Redirect 308 /etytree https://etytree.toolforge.org\n    Redirect 308 /eulenwiki https://eulenwiki.toolforge.org\n    Redirect 308 /eulenwiki2 https://eulenwiki2.toolforge.org\n    Redirect 308 /eulenwiki3 https://eulenwiki3.toolforge.org\n    Redirect 308 /event-live-session https://event-live-session.toolforge.org\n    Redirect 308 /event-streams https://event-streams.toolforge.org\n    Redirect 308 /every https://every.toolforge.org\n    Redirect gone /every-other-wiki-has\n    Redirect gone /everythingisconnected\n    Redirect gone /exambot\n    Redirect 308 /excel2wiki https://excel2wiki.toolforge.org\n    Redirect gone /experimental-embeddings\n    Redirect gone /exportpdf\n    Redirect 308 /expose-data https://expose-data.toolforge.org\n    Redirect gone /extdist\n    Redirect gone /extensionservice\n    Redirect gone /externalitemsuggester\n    Redirect 308 /extjsonuploader https://extjsonuploader.toolforge.org\n    Redirect 308 /ext-lnk-discover https://ext-lnk-discover.toolforge.org\n    Redirect 308 /extreg-wos https://extreg-wos.toolforge.org\n    Redirect 308 /extreme https://extreme.toolforge.org\n    Redirect 308 /fab https://fab.toolforge.org\n    Redirect gone /fab-proxy\n    Redirect 308 /facebook-messenger-chatbot https://facebook-messenger-chatbot.toolforge.org\n    Redirect 308 /faces https://faces.toolforge.org\n    Redirect 308 /fa-checkwiki https://fa-checkwiki.toolforge.org\n    Redirect 308 /faebot https://faebot.toolforge.org\n    Redirect 308 /fajrbot https://fajrbot.toolforge.org\n    Redirect 308 /family https://family.toolforge.org\n    Redirect 308 /farhangestan https://farhangestan.toolforge.org\n    Redirect 308 /farotbot https://farotbot.toolforge.org\n    Redirect gone /farticle\n    Redirect gone /fastilybot\n    Redirect gone /fastilybot-reports\n    Redirect 308 /fatameh https://fatameh.toolforge.org\n    Redirect 308 /fatemi https://fatemi.toolforge.org\n    Redirect 308 /fatg https://fatg.toolforge.org\n    Redirect 308 /fawikiauto https://fawikiauto.toolforge.org\n    Redirect 308 /fawiki-editathon https://fawiki-editathon.toolforge.org\n    Redirect 308 /fb-translate-bot https://fb-translate-bot.toolforge.org\n    Redirect gone /fc-importer\n    Redirect gone /featured-article\n    Redirect 308 /femiwiki https://femiwiki.toolforge.org\n    Redirect 308 /fengtools https://fengtools.toolforge.org\n    Redirect 308 /ferdibot https://ferdibot.toolforge.org\n    Redirect 308 /ffbot https://ffbot.toolforge.org\n    Redirect gone /fikarummet\n    Redirect 308 /filedupes https://filedupes.toolforge.org\n    Redirect 308 /file-reuse https://file-reuse.toolforge.org\n    Redirect 308 /file-reuse-piwik https://file-reuse-piwik.toolforge.org\n    Redirect gone /file-reuse-review\n    Redirect 308 /file-reuse-test https://file-reuse-test.toolforge.org\n    Redirect gone /filesearch\n    Redirect 308 /file-siblings https://file-siblings.toolforge.org\n    Redirect 308 /find-and-replace https://find-and-replace.toolforge.org\n    Redirect 308 /findit https://findit.toolforge.org\n    Redirect 308 /fingerprint https://fingerprint.toolforge.org\n    Redirect 308 /fireflydev https://fireflydev.toolforge.org\n    Redirect 308 /firefly-maintainer1 https://firefly-maintainer1.toolforge.org\n    Redirect 308 /fireflytools https://fireflytools.toolforge.org\n    Redirect 308 /firmenbuch https://firmenbuch.toolforge.org\n    Redirect 308 /first-paragraph-readability https://first-paragraph-readability.toolforge.org\n    Redirect 308 /fischbot https://fischbot.toolforge.org\n    Redirect 308 /fist https://fist.toolforge.org\n    Redirect gone /five-million\n    Redirect 308 /fiwiki-tools https://fiwiki-tools.toolforge.org\n    Redirect gone /fixdatebot\n    Redirect gone /flaggedrevspromotioncheck\n    Redirect gone /flaky-ci\n    Redirect 308 /flickr https://flickr.toolforge.org\n    Redirect 308 /flickr2commons https://flickr2commons.toolforge.org\n    Redirect 308 /flickrdash https://flickrdash.toolforge.org\n    Redirect 308 /flickr-rss https://flickr-rss.toolforge.org\n    Redirect 308 /flossbrowser https://flossbrowser.toolforge.org\n    Redirect 308 /fn https://fn.toolforge.org\n    Redirect 308 /fontcdn https://fontcdn.toolforge.org\n    Redirect gone /footygen\n    Redirect 308 /forrestbot https://forrestbot.toolforge.org\n    Redirect gone /foundation\n    Redirect 308 /fountain https://fountain.toolforge.org\n    Redirect 308 /fountain-test https://fountain-test.toolforge.org\n    Redirect 308 /fourohfour https://fourohfour.toolforge.org\n    Redirect 308 /fpbot https://fpbot.toolforge.org\n    Redirect 308 /fpcbot https://fpcbot.toolforge.org\n    Redirect 308 /fpcstats https://fpcstats.toolforge.org\n    Redirect 308 /framabot https://framabot.toolforge.org\n    Redirect 308 /freddy2001 https://freddy2001.toolforge.org\n    Redirect 308 /freebase https://freebase.toolforge.org\n    Redirect 308 /freefiles https://freefiles.toolforge.org\n    Redirect 308 /fretties https://fretties.toolforge.org\n    Redirect 308 /friskobot https://friskobot.toolforge.org\n    Redirect 308 /friybot https://friybot.toolforge.org\n    Redirect 308 /fronds https://fronds.toolforge.org\n    Redirect gone /fr-wikiversity\n    Redirect 308 /fr-wikiversity-ns https://fr-wikiversity-ns.toolforge.org\n    Redirect 308 /fscbot https://fscbot.toolforge.org\n    Redirect 308 /fshbibbot https://fshbibbot.toolforge.org\n    Redirect 308 /ft https://ft.toolforge.org\n    Redirect 308 /ftl https://ftl.toolforge.org\n    Redirect 308 /ftools https://ftools.toolforge.org\n    Redirect gone /fubar\n    Redirect gone /fun\n    Redirect 308 /fundraising-tools https://fundraising-tools.toolforge.org\n    Redirect 308 /furutani https://furutani.toolforge.org\n    Redirect 308 /fvcbot https://fvcbot.toolforge.org\n    Redirect 308 /g13bot https://g13bot.toolforge.org\n    Redirect 308 /gabrielchihonglee-bot https://gabrielchihonglee-bot.toolforge.org\n    Redirect 308 /gaelan-bot https://gaelan-bot.toolforge.org\n    Redirect 308 /gallery https://gallery.toolforge.org\n    Redirect 308 /gallica https://gallica.toolforge.org\n    Redirect 308 /galobot https://galobot.toolforge.org\n    Redirect 308 /ganreportbot https://ganreportbot.toolforge.org\n    Redirect gone /gblrenamemon\n    Redirect gone /gdk-artists-research\n    Redirect 308 /geekbot https://geekbot.toolforge.org\n    Redirect 308 /gendergapdashboard https://gendergapdashboard.toolforge.org\n    Redirect 308 /genealogy https://genealogy.toolforge.org\n    Redirect 308 /genedb https://genedb.toolforge.org\n    Redirect gone /gennfs\n    Redirect 308 /geocommons https://geocommons.toolforge.org\n    Redirect gone /geodata\n    Redirect 308 /geograph2commons https://geograph2commons.toolforge.org\n    Redirect 308 /geohack https://geohack.toolforge.org\n    Redirect gone /geoloc\n    Redirect 308 /geonotice https://geonotice.toolforge.org\n    Redirect 308 /geophotoreq https://geophotoreq.toolforge.org\n    Redirect 308 /geoplotter https://geoplotter.toolforge.org\n    Redirect 308 /gerakibot https://gerakibot.toolforge.org\n    Redirect 308 /gerakitools https://gerakitools.toolforge.org\n    Redirect 308 /germancon-mobile https://germancon-mobile.toolforge.org\n    Redirect 308 /germancontributioncounts https://germancontributioncounts.toolforge.org\n    Redirect 308 /gerrit-avatar-uploader https://gerrit-avatar-uploader.toolforge.org\n    Redirect 308 /gerrit-newcomer-bot https://gerrit-newcomer-bot.toolforge.org\n    Redirect 308 /gerrit-patch-uploader https://gerrit-patch-uploader.toolforge.org\n    Redirect 308 /gerrit-reports https://gerrit-reports.toolforge.org\n    Redirect 308 /gerrit-reviewer-bot https://gerrit-reviewer-bot.toolforge.org\n    Redirect gone /gerrit-to-redis\n    Redirect gone /getsentry\n    Redirect 308 /ggu https://ggu.toolforge.org\n    Redirect 308 /giftbot https://giftbot.toolforge.org\n    Redirect 308 /giftpast https://giftpast.toolforge.org\n    Redirect 308 /giovannitool https://giovannitool.toolforge.org\n    Redirect 308 /gir https://gir.toolforge.org\n    Redirect 308 /giraffe https://giraffe.toolforge.org\n    Redirect 308 /github https://github.toolforge.org\n    Redirect 308 /github-notif-bot https://github-notif-bot.toolforge.org\n    Redirect 308 /github-pr-closer https://github-pr-closer.toolforge.org\n    Redirect 308 /githubstats https://githubstats.toolforge.org\n    Redirect 308 /glaisher https://glaisher.toolforge.org\n    Redirect 308 /glam2commons https://glam2commons.toolforge.org\n    Redirect 308 /glamalign https://glamalign.toolforge.org\n    Redirect 308 /glamify https://glamify.toolforge.org\n    Redirect 308 /glamingest https://glamingest.toolforge.org\n    Redirect 308 /glamorous-maintenance https://glamorous-maintenance.toolforge.org\n    Redirect 308 /glamtools https://glamtools.toolforge.org\n    Redirect 308 /globalcsd https://globalcsd.toolforge.org\n    Redirect 308 /globaleditcounter https://globaleditcounter.toolforge.org\n    Redirect 308 /global-pandas https://global-pandas.toolforge.org\n    Redirect gone /globalprefs\n    Redirect 308 /globalsearch https://globalsearch.toolforge.org\n    Redirect 308 /global-search https://global-search.toolforge.org\n    Redirect 308 /global-search-test https://global-search-test.toolforge.org\n    Redirect 308 /globalusagecount https://globalusagecount.toolforge.org\n    Redirect 308 /global-wiki-tools https://global-wiki-tools.toolforge.org\n    Redirect 308 /gmt https://gmt.toolforge.org\n    Redirect gone /gns\n    Redirect 308 /gnubotmarcoo https://gnubotmarcoo.toolforge.org\n    Redirect 308 /goatid https://goatid.toolforge.org\n    Redirect gone /goblinbot4\n    Redirect gone /goodarticle\n    Redirect 308 /goodarticlebot https://goodarticlebot.toolforge.org\n    Redirect 308 /goodbot https://goodbot.toolforge.org\n    Redirect gone /google-drive-photos-to-commons\n    Redirect 308 /goransmtool https://goransmtool.toolforge.org\n    Redirect 308 /gorlingor https://gorlingor.toolforge.org\n    Redirect gone /governance-timeline\n    Redirect 308 /gpsexif https://gpsexif.toolforge.org\n    Redirect 308 /gpy https://gpy.toolforge.org\n    Redirect 308 /grafana https://grafana.toolforge.org\n    Redirect gone /grafana-json-datasource\n    Redirect 308 /graham87 https://graham87.toolforge.org\n    Redirect 308 /graminbot https://graminbot.toolforge.org\n    Redirect 308 /granitstein https://granitstein.toolforge.org\n    Redirect 308 /grantmaking https://grantmaking.toolforge.org\n    Redirect 308 /grantmetrics https://grantmetrics.toolforge.org\n    Redirect 308 /grantmetrics-test https://grantmetrics-test.toolforge.org\n    Redirect 308 /grantsbot https://grantsbot.toolforge.org\n    Redirect 308 /grapedog https://grapedog.toolforge.org\n    Redirect 308 /graphql https://graphql.toolforge.org\n    Redirect 308 /gratitude https://gratitude.toolforge.org\n    Redirect 308 /grep https://grep.toolforge.org\n    Redirect gone /gridengine-status\n    Redirect gone /grid-jobs\n    Redirect 308 /grillitus https://grillitus.toolforge.org\n    Redirect 308 /grouplens https://grouplens.toolforge.org\n    Redirect 308 /gsoc https://gsoc.toolforge.org\n    Redirect gone /gsoc-dev\n    Redirect gone /gsociftttdev\n    Redirect 308 /gsoc-ifttt-dev https://gsoc-ifttt-dev.toolforge.org\n    Redirect 308 /gsoc-petscan-query-articles https://gsoc-petscan-query-articles.toolforge.org\n    Redirect 308 /gsoc-worklist-tool https://gsoc-worklist-tool.toolforge.org\n    Redirect gone /gtirloni-sandbox\n    Redirect 308 /guc https://guc.toolforge.org\n    Redirect 308 /gulp https://gulp.toolforge.org\n    Redirect 308 /gun-wd https://gun-wd.toolforge.org\n    Redirect 308 /gurmukhispell https://gurmukhispell.toolforge.org\n    Redirect gone /gutrs\n    Redirect 308 /gyan https://gyan.toolforge.org\n    Redirect 308 /h2bot https://h2bot.toolforge.org\n    Redirect gone /hackmd\n    Redirect 308 /hackprowiki https://hackprowiki.toolforge.org\n    Redirect 308 /hall-of-fame https://hall-of-fame.toolforge.org\n    Redirect 308 /hamishbot https://hamishbot.toolforge.org\n    Redirect gone /harejtest\n    Redirect 308 /hartman https://hartman.toolforge.org\n    Redirect gone /harvesting-data-rafinery\n    Redirect 308 /harvesting-data-refinery https://harvesting-data-refinery.toolforge.org\n    Redirect 308 /hashtags https://hashtags.toolforge.org\n    Redirect 308 /hashtags-hub https://hashtags-hub.toolforge.org\n    Redirect 308 /hashtags-test https://hashtags-test.toolforge.org\n    Redirect 308 /hashtagwatcher https://hashtagwatcher.toolforge.org\n    Redirect gone /hassen\n    Redirect gone /hastagwatcher\n    Redirect 308 /hasteurbot https://hasteurbot.toolforge.org\n    Redirect 308 /hat-collector https://hat-collector.toolforge.org\n    Redirect 308 /hatjitsu https://hatjitsu.toolforge.org\n    Redirect 308 /hauki https://hauki.toolforge.org\n    Redirect 308 /hawk-eye-bot https://hawk-eye-bot.toolforge.org\n    Redirect 308 /hay https://hay.toolforge.org\n    Redirect 308 /hazard-bot https://hazard-bot.toolforge.org\n    Redirect 308 /hcclab https://hcclab.toolforge.org\n    Redirect 308 /hd https://hd.toolforge.org\n    Redirect 308 /hebbot https://hebbot.toolforge.org\n    Redirect 308 /heimdall https://heimdall.toolforge.org\n    Redirect 308 /heinterwiki https://heinterwiki.toolforge.org\n    Redirect 308 /hello-play https://hello-play.toolforge.org\n    Redirect 308 /help https://help.toolforge.org\n    Redirect 308 /helpearwigbot https://helpearwigbot.toolforge.org\n    Redirect 308 /helperbot https://helperbot.toolforge.org\n    Redirect 308 /helperpad https://helperpad.toolforge.org\n    Redirect 308 /hennalabs https://hennalabs.toolforge.org\n    Redirect 308 /herculebot https://herculebot.toolforge.org\n    Redirect 308 /heritage https://heritage.toolforge.org\n    Redirect gone /hermes\n    Redirect 308 /hersfold-hacb https://hersfold-hacb.toolforge.org\n    Redirect 308 /hersfold-irc https://hersfold-irc.toolforge.org\n    Redirect 308 /hersfold-web https://hersfold-web.toolforge.org\n    Redirect 308 /hewiki-tools https://hewiki-tools.toolforge.org\n    Redirect gone /he-wiktionary-rule-checker\n    Redirect gone /hexacore\n    Redirect 308 /hgztools https://hgztools.toolforge.org\n    Redirect 308 /himo https://himo.toolforge.org\n    Redirect 308 /hinotetools https://hinotetools.toolforge.org\n    Redirect gone /hippietest\n    Redirect 308 /hirise https://hirise.toolforge.org\n    Redirect 308 /historicmaps https://historicmaps.toolforge.org\n    Redirect gone /historyview\n    Redirect 308 /histsearch https://histsearch.toolforge.org\n    Redirect 308 /hiw-bot https://hiw-bot.toolforge.org\n    Redirect 308 /hiwiki https://hiwiki.toolforge.org\n    Redirect 308 /hjhhg https://hjhhg.toolforge.org\n    Redirect gone /hkjacksonhk-bot\n    Redirect gone /hll\n    Redirect 308 /holidays-viewer https://holidays-viewer.toolforge.org\n    Redirect 308 /honeypot95 https://honeypot95.toolforge.org\n    Redirect 308 /hoo https://hoo.toolforge.org\n    Redirect gone /hoo-propertysuggester-test\n    Redirect gone /hostbot\n    Redirect 308 /hotarticles https://hotarticles.toolforge.org\n    Redirect 308 /hroest https://hroest.toolforge.org\n    Redirect 308 /hroest2 https://hroest2.toolforge.org\n    Redirect 308 /hroest3 https://hroest3.toolforge.org\n    Redirect 308 /hrwiki https://hrwiki.toolforge.org\n    Redirect 308 /hsfbot https://hsfbot.toolforge.org\n    Redirect 308 /hss https://hss.toolforge.org\n    Redirect 308 /htools https://htools.toolforge.org\n    Redirect 308 /hub https://hub.toolforge.org\n    Redirect 308 /huggle https://huggle.toolforge.org\n    Redirect 308 /huji https://huji.toolforge.org\n    Redirect gone /hujibot\n    Redirect 308 /huntleybots https://huntleybots.toolforge.org\n    Redirect 308 /huwiki https://huwiki.toolforge.org\n    Redirect 308 /hylabels https://hylabels.toolforge.org\n    Redirect 308 /hypobot https://hypobot.toolforge.org\n    Redirect 308 /iabot https://iabot.toolforge.org\n    Redirect 308 /iacrop https://iacrop.toolforge.org\n    Redirect 308 /iamnetx-test https://iamnetx-test.toolforge.org\n    Redirect 308 /ia-upload https://ia-upload.toolforge.org\n    Redirect 308 /ib2test https://ib2test.toolforge.org\n    Redirect 308 /ibrahim https://ibrahim.toolforge.org\n    Redirect gone /ibrahimid\n    Redirect 308 /icalendar https://icalendar.toolforge.org\n    Redirect 308 /icelab https://icelab.toolforge.org\n    Redirect 308 /ichijo https://ichijo.toolforge.org\n    Redirect 308 /icommons https://icommons.toolforge.org\n    Redirect 308 /icu-transliterate https://icu-transliterate.toolforge.org\n    Redirect 308 /ideasbot https://ideasbot.toolforge.org\n    Redirect 308 /ideedarticles https://ideedarticles.toolforge.org\n    Redirect 308 /idsgen https://idsgen.toolforge.org\n    Redirect gone /idwiki-gpu\n    Redirect 308 /idwiki-marathon https://idwiki-marathon.toolforge.org\n    Redirect 308 /iepcbm-bot1 https://iepcbm-bot1.toolforge.org\n    Redirect 308 /iepcbm-bot-2 https://iepcbm-bot-2.toolforge.org\n    Redirect 308 /ifttt https://ifttt.toolforge.org\n    Redirect 308 /ifttt-dev https://ifttt-dev.toolforge.org\n    Redirect gone /ifttt-testing\n    Redirect 308 /igl https://igl.toolforge.org\n    Redirect 308 /igloo https://igloo.toolforge.org\n    Redirect 308 /ignator https://ignator.toolforge.org\n    Redirect 308 /iluvatarbot https://iluvatarbot.toolforge.org\n    Redirect 308 /imagechecker https://imagechecker.toolforge.org\n    Redirect 308 /imagemapedit https://imagemapedit.toolforge.org\n    Redirect gone /image-metadata-viewer\n    Redirect 308 /image-resize-calc https://image-resize-calc.toolforge.org\n    Redirect 308 /imagery https://imagery.toolforge.org\n    Redirect gone /images\n    Redirect 308 /imagetracer https://imagetracer.toolforge.org\n    Redirect gone /img-usage\n    Redirect 308 /import-500px https://import-500px.toolforge.org\n    Redirect 308 /import-freemind https://import-freemind.toolforge.org\n    Redirect 308 /inactiveadmins https://inactiveadmins.toolforge.org\n    Redirect gone /inactive-admins\n    Redirect gone /inactive-bureaucrats\n    Redirect 308 /inaturalistreviewer https://inaturalistreviewer.toolforge.org\n    Redirect 308 /incolabot https://incolabot.toolforge.org\n    Redirect 308 /index-page-mover https://index-page-mover.toolforge.org\n    Redirect 308 /indic-ocr https://indic-ocr.toolforge.org\n    Redirect 308 /indic-techcom https://indic-techcom.toolforge.org\n    Redirect 308 /indic-techcom-wiki https://indic-techcom-wiki.toolforge.org\n    Redirect 308 /indic-wd https://indic-wd.toolforge.org\n    Redirect 308 /indicwiki https://indicwiki.toolforge.org\n    Redirect 308 /indic-wscontest https://indic-wscontest.toolforge.org\n    Redirect 308 /indic-wsstats https://indic-wsstats.toolforge.org\n    Redirect 308 /info-farmer https://info-farmer.toolforge.org\n    Redirect 308 /infogeo https://infogeo.toolforge.org\n    Redirect 308 /inforobbot https://inforobbot.toolforge.org\n    Redirect 308 /inkobot https://inkobot.toolforge.org\n    Redirect gone /inkowik\n    Redirect 308 /inkpen https://inkpen.toolforge.org\n    Redirect 308 /integraality https://integraality.toolforge.org\n    Redirect 308 /intelibot https://intelibot.toolforge.org\n    Redirect 308 /intelirc https://intelirc.toolforge.org\n    Redirect 308 /interaction-timeline https://interaction-timeline.toolforge.org\n    Redirect 308 /interactoa https://interactoa.toolforge.org\n    Redirect 308 /interact-oa https://interact-oa.toolforge.org\n    Redirect 308 /interbot https://interbot.toolforge.org\n    Redirect 308 /interlang https://interlang.toolforge.org\n    Redirect 308 /interpagelinker https://interpagelinker.toolforge.org\n    Redirect 308 /intersect-contribs https://intersect-contribs.toolforge.org\n    Redirect 308 /intuition https://intuition.toolforge.org\n    Redirect 308 /invadibot https://invadibot.toolforge.org\n    Redirect 308 /ios-crashes https://ios-crashes.toolforge.org\n    Redirect 308 /ipa-speaker https://ipa-speaker.toolforge.org\n    Redirect gone /ipchanges\n    Redirect 308 /ipcheck https://ipcheck.toolforge.org\n    Redirect 308 /ipcheck-dev https://ipcheck-dev.toolforge.org\n    Redirect 308 /ipinfo https://ipinfo.toolforge.org\n    Redirect gone /iplookup\n    Redirect 308 /ipp https://ipp.toolforge.org\n    Redirect gone /ip-range-calc\n    Redirect 308 /ipwatcher https://ipwatcher.toolforge.org\n    Redirect 308 /ipython https://ipython.toolforge.org\n    Redirect gone /irc\n    Redirect gone /ircclient\n    Redirect 308 /irc-cloaks https://irc-cloaks.toolforge.org\n    Redirect 308 /irc-cloudbot https://irc-cloudbot.toolforge.org\n    Redirect 308 /irclogbot https://irclogbot.toolforge.org\n    Redirect 308 /irclogs https://irclogs.toolforge.org\n    Redirect 308 /ircredirect https://ircredirect.toolforge.org\n    Redirect 308 /ircredirector https://ircredirector.toolforge.org\n    Redirect 308 /irc-wmt https://irc-wmt.toolforge.org\n    Redirect 308 /ireas https://ireas.toolforge.org\n    Redirect 308 /irfan https://irfan.toolforge.org\n    Redirect 308 /irishbot https://irishbot.toolforge.org\n    Redirect 308 /isa https://isa.toolforge.org\n    Redirect 308 /isbn https://isbn.toolforge.org\n    Redirect 308 /isbn2tpl https://isbn2tpl.toolforge.org\n    Redirect 308 /isbn2wiki https://isbn2wiki.toolforge.org\n    Redirect 308 /isbn-tmptest https://isbn-tmptest.toolforge.org\n    Redirect 308 /isbn-usage https://isbn-usage.toolforge.org\n    Redirect 308 /is-deployed https://is-deployed.toolforge.org\n    Redirect 308 /isin https://isin.toolforge.org\n    Redirect gone /isitdeployed\n    Redirect 308 /isprangefinder https://isprangefinder.toolforge.org\n    Redirect gone /italian-wikipedia-bar\n    Redirect 308 /itemfinder https://itemfinder.toolforge.org\n    Redirect 308 /itemlister https://itemlister.toolforge.org\n    Redirect 308 /itsource https://itsource.toolforge.org\n    Redirect 308 /itwiki https://itwiki.toolforge.org\n    Redirect 308 /itwikiarticlebot https://itwikiarticlebot.toolforge.org\n    Redirect 308 /itwikinews-rss https://itwikinews-rss.toolforge.org\n    Redirect gone /it-wiki-users-leaflet\n    Redirect 308 /itwp-deletions https://itwp-deletions.toolforge.org\n    Redirect 308 /iw https://iw.toolforge.org\n    Redirect 308 /jackbot https://jackbot.toolforge.org\n    Redirect gone /james\n    Redirect 308 /jamesur-usergroupsearch https://jamesur-usergroupsearch.toolforge.org\n    Redirect 308 /janet https://janet.toolforge.org\n    Redirect gone /jarallah\n    Redirect gone /jarallah-ii\n    Redirect gone /jarbot\n    Redirect gone /jarbot-ii\n    Redirect gone /jarbot-iii\n    Redirect 308 /jarry-common https://jarry-common.toolforge.org\n    Redirect 308 /jata https://jata.toolforge.org\n    Redirect 308 /javatest https://javatest.toolforge.org\n    Redirect 308 /jawi https://jawi.toolforge.org\n    Redirect 308 /jayprakashbot https://jayprakashbot.toolforge.org\n    Redirect 308 /jbbot https://jbbot.toolforge.org\n    Redirect 308 /jbbot2 https://jbbot2.toolforge.org\n    Redirect 308 /jeh-dev https://jeh-dev.toolforge.org\n    Redirect 308 /jeltebot https://jeltebot.toolforge.org\n    Redirect 308 /jembot https://jembot.toolforge.org\n    Redirect 308 /jeremy https://jeremy.toolforge.org\n    Redirect 308 /jeremyb https://jeremyb.toolforge.org\n    Redirect 308 /jimmy https://jimmy.toolforge.org\n    Redirect 308 /jira-bugimport https://jira-bugimport.toolforge.org\n    Redirect 308 /jitrixis-test https://jitrixis-test.toolforge.org\n    Redirect 308 /jitse-bot https://jitse-bot.toolforge.org\n    Redirect 308 /jjmc89-bot https://jjmc89-bot.toolforge.org\n    Redirect 308 /jjmc89-bot-dev https://jjmc89-bot-dev.toolforge.org\n    Redirect 308 /joanjoc https://joanjoc.toolforge.org\n    Redirect gone /joaquinito01\n    Redirect gone /jogobot\n    Redirect 308 /jogotools https://jogotools.toolforge.org\n    Redirect gone /johnlewis\n    Redirect 308 /joinedventure https://joinedventure.toolforge.org\n    Redirect 308 /jorobot https://jorobot.toolforge.org\n    Redirect 308 /josve05a-test https://josve05a-test.toolforge.org\n    Redirect 308 /jouncebot https://jouncebot.toolforge.org\n    Redirect 308 /jshint https://jshint.toolforge.org\n    Redirect 308 /jtools https://jtools.toolforge.org\n    Redirect 308 /jurgennl https://jurgennl.toolforge.org\n    Redirect 308 /jury https://jury.toolforge.org\n    Redirect 308 /justincbot https://justincbot.toolforge.org\n    Redirect 308 /k8s-status https://k8s-status.toolforge.org\n    Redirect 308 /kaare https://kaare.toolforge.org\n    Redirect 308 /kaleem-bot https://kaleem-bot.toolforge.org\n    Redirect gone /kaleem-bot-i\n    Redirect 308 /kanjybot https://kanjybot.toolforge.org\n    Redirect gone /kanzatgroup\n    Redirect 308 /karsilayici https://karsilayici.toolforge.org\n    Redirect 308 /kaspar2commons https://kaspar2commons.toolforge.org\n    Redirect 308 /kasparbot https://kasparbot.toolforge.org\n    Redirect 308 /kasper-data-translator https://kasper-data-translator.toolforge.org\n    Redirect 308 /kdb https://kdb.toolforge.org\n    Redirect 308 /kenrick95bot https://kenrick95bot.toolforge.org\n    Redirect 308 /ket-bot https://ket-bot.toolforge.org\n    Redirect 308 /keystone-browser https://keystone-browser.toolforge.org\n    Redirect 308 /khanamalumat https://khanamalumat.toolforge.org\n    Redirect gone /khanomalumat\n    Redirect 308 /kharbot https://kharbot.toolforge.org\n    Redirect 308 /khebi https://khebi.toolforge.org\n    Redirect 308 /kian https://kian.toolforge.org\n    Redirect gone /kirstentest\n    Redirect 308 /klossebot https://klossebot.toolforge.org\n    Redirect 308 /kmlexport https://kmlexport.toolforge.org\n    Redirect gone /kmlexport-cswiki\n    Redirect 308 /knowledgegrapher https://knowledgegrapher.toolforge.org\n    Redirect 308 /kokolores https://kokolores.toolforge.org\n    Redirect 308 /kolbert https://kolbert.toolforge.org\n    Redirect gone /kolega\n    Redirect gone /kolega2357\n    Redirect 308 /kotools https://kotools.toolforge.org\n    Redirect 308 /kowikitools https://kowikitools.toolforge.org\n    Redirect 308 /krdbot https://krdbot.toolforge.org\n    Redirect 308 /krinklebot https://krinklebot.toolforge.org\n    Redirect 308 /krinkle-redirect https://krinkle-redirect.toolforge.org\n    Redirect 308 /ksamsok-rest https://ksamsok-rest.toolforge.org\n    Redirect 308 /ktc https://ktc.toolforge.org\n    Redirect 308 /kuwaity-tool https://kuwaity-tool.toolforge.org\n    Redirect 308 /l235-bot https://l235-bot.toolforge.org\n    Redirect 308 /l235-irc https://l235-irc.toolforge.org\n    Redirect 308 /laaknortools https://laaknortools.toolforge.org\n    Redirect 308 /labelimgohs https://labelimgohs.toolforge.org\n    Redirect gone /labstore-profiling\n    Redirect gone /lahitools\n    Redirect 308 /lalm https://lalm.toolforge.org\n    Redirect 308 /lambdabot https://lambdabot.toolforge.org\n    Redirect 308 /languagebar-ui https://languagebar-ui.toolforge.org\n    Redirect 308 /languageproofing https://languageproofing.toolforge.org\n    Redirect 308 /languageproofing-ui https://languageproofing-ui.toolforge.org\n    Redirect gone /languagetool\n    Redirect 308 /langviews https://langviews.toolforge.org\n    Redirect gone /langviews-test\n    Redirect 308 /largedatasetbot https://largedatasetbot.toolforge.org\n    Redirect gone /lastactiveadms\n    Redirect 308 /lastpics https://lastpics.toolforge.org\n    Redirect 308 /lbenedix https://lbenedix.toolforge.org\n    Redirect 308 /lcm-dashboard https://lcm-dashboard.toolforge.org\n    Redirect 308 /ldap https://ldap.toolforge.org\n    Redirect gone /ldap-beta\n    Redirect 308 /lebot https://lebot.toolforge.org\n    Redirect 308 /legobot https://legobot.toolforge.org\n    Redirect 308 /legobot-2 https://legobot-2.toolforge.org\n    Redirect gone /legoktm-adminbots\n    Redirect 308 /leptibot https://leptibot.toolforge.org\n    Redirect 308 /lestaty https://lestaty.toolforge.org\n    Redirect gone /lets-translate\n    Redirect 308 /lexeme-forms https://lexeme-forms.toolforge.org\n    Redirect 308 /lexeme-senses https://lexeme-senses.toolforge.org\n    Redirect 308 /liangent https://liangent.toolforge.org\n    Redirect 308 /liangent-django https://liangent-django.toolforge.org\n    Redirect 308 /liangent-migration-test https://liangent-migration-test.toolforge.org\n    Redirect 308 /liangent-misc https://liangent-misc.toolforge.org\n    Redirect 308 /liangent-php https://liangent-php.toolforge.org\n    Redirect 308 /liangent-py https://liangent-py.toolforge.org\n    Redirect 308 /liangent-shared https://liangent-shared.toolforge.org\n    Redirect 308 /liangent-toolserver https://liangent-toolserver.toolforge.org\n    Redirect gone /lib\n    Redirect gone /librarybase-db\n    Redirect 308 /librarybase-updater https://librarybase-updater.toolforge.org\n    Redirect 308 /libraryupgrader https://libraryupgrader.toolforge.org\n    Redirect 308 /librewiki https://librewiki.toolforge.org\n    Redirect 308 /liepp https://liepp.toolforge.org\n    Redirect 308 /lifeweb https://lifeweb.toolforge.org\n    Redirect 308 /lighttpd-test https://lighttpd-test.toolforge.org\n    Redirect 308 /lijebot https://lijebot.toolforge.org\n    Redirect gone /lilbit\n    Redirect 308 /lil-cvn https://lil-cvn.toolforge.org\n    Redirect 308 /limesmap https://limesmap.toolforge.org\n    Redirect 308 /lincolnbot https://lincolnbot.toolforge.org\n    Redirect 308 /linedwell https://linedwell.toolforge.org\n    Redirect 308 /lingua-libre https://lingua-libre.toolforge.org\n    Redirect 308 /linkedpageviews https://linkedpageviews.toolforge.org\n    Redirect 308 /linkscount https://linkscount.toolforge.org\n    Redirect 308 /linksearch https://linksearch.toolforge.org\n    Redirect gone /linkspam\n    Redirect 308 /linkstranslator https://linkstranslator.toolforge.org\n    Redirect 308 /linkwatcher https://linkwatcher.toolforge.org\n    Redirect 308 /linkybot https://linkybot.toolforge.org\n    Redirect 308 /linkypedia https://linkypedia.toolforge.org\n    Redirect 308 /list https://list.toolforge.org\n    Redirect 308 /listeria https://listeria.toolforge.org\n    Redirect 308 /listpages https://listpages.toolforge.org\n    Redirect 308 /lists https://lists.toolforge.org\n    Redirect gone /listunpatrolledpages\n    Redirect gone /livingstyleguide-prototype\n    Redirect 308 /lkftools https://lkftools.toolforge.org\n    Redirect gone /local-awb\n    Redirect gone /local-library-fulltext\n    Redirect gone /local-maps\n    Redirect gone /local-oclc-reference\n    Redirect 308 /local-reference-api https://local-reference-api.toolforge.org\n    Redirect 308 /local-root https://local-root.toolforge.org\n    Redirect 308 /local-southparkfan https://local-southparkfan.toolforge.org\n    Redirect gone /local-wikipedia-library-reference\n    Redirect 308 /locator https://locator.toolforge.org\n    Redirect 308 /locatorbot https://locatorbot.toolforge.org\n    Redirect 308 /locator-tool https://locator-tool.toolforge.org\n    Redirect gone /locktool\n    Redirect gone /logger\n    Redirect 308 /logojudge https://logojudge.toolforge.org\n    Redirect 308 /logoscope https://logoscope.toolforge.org\n    Redirect 308 /logs https://logs.toolforge.org\n    Redirect 308 /lolrrit-wm https://lolrrit-wm.toolforge.org\n    Redirect 308 /loltools https://loltools.toolforge.org\n    Redirect 308 /loltools-testing https://loltools-testing.toolforge.org\n    Redirect gone /loltrs\n    Redirect 308 /lonelylinks https://lonelylinks.toolforge.org\n    Redirect gone /low\n    Redirect 308 /lp-tools https://lp-tools.toolforge.org\n    Redirect 308 /lrbot https://lrbot.toolforge.org\n    Redirect 308 /lrtools https://lrtools.toolforge.org\n    Redirect 308 /lst-guard https://lst-guard.toolforge.org\n    Redirect gone /lta\n    Redirect 308 /ltfeedchecker https://ltfeedchecker.toolforge.org\n    Redirect 308 /lua-catscan2 https://lua-catscan2.toolforge.org\n    Redirect 308 /luke081515bot https://luke081515bot.toolforge.org\n    Redirect 308 /luke081515bot-beta https://luke081515bot-beta.toolforge.org\n    Redirect 308 /luke081515bot-dev https://luke081515bot-dev.toolforge.org\n    Redirect 308 /lyan https://lyan.toolforge.org\n    Redirect 308 /lynxbot https://lynxbot.toolforge.org\n    Redirect 308 /lziad https://lziad.toolforge.org\n    Redirect 308 /lziad-cvnbot https://lziad-cvnbot.toolforge.org\n    Redirect 308 /mabot https://mabot.toolforge.org\n    Redirect 308 /macfanbot https://macfanbot.toolforge.org\n    Redirect 308 /macfanlogbot https://macfanlogbot.toolforge.org\n    Redirect 308 /machtsinn https://machtsinn.toolforge.org\n    Redirect 308 /machtsinn-dev https://machtsinn-dev.toolforge.org\n    Redirect 308 /macommune https://macommune.toolforge.org\n    Redirect 308 /magnustools https://magnustools.toolforge.org\n    Redirect 308 /magnus-toolserver https://magnus-toolserver.toolforge.org\n    Redirect 308 /magog https://magog.toolforge.org\n    Redirect 308 /mahdiz https://mahdiz.toolforge.org\n    Redirect gone /maintainers\n    Redirect 308 /maintenance-bot https://maintenance-bot.toolforge.org\n    Redirect 308 /maintgraph https://maintgraph.toolforge.org\n    Redirect gone /maintun\n    Redirect 308 /maiwiki-editathon https://maiwiki-editathon.toolforge.org\n    Redirect 308 /majavah-bot https://majavah-bot.toolforge.org\n    Redirect 308 /makeref https://makeref.toolforge.org\n    Redirect 308 /manishearth https://manishearth.toolforge.org\n    Redirect 308 /manypedia https://manypedia.toolforge.org\n    Redirect 308 /map https://map.toolforge.org\n    Redirect 308 /mapillary-commons https://mapillary-commons.toolforge.org\n    Redirect 308 /maplayers-demo https://maplayers-demo.toolforge.org\n    Redirect gone /maplink-generator\n    Redirect 308 /map-of-monuments https://map-of-monuments.toolforge.org\n    Redirect 308 /maps https://maps.toolforge.org\n    Redirect 308 /map-search https://map-search.toolforge.org\n    Redirect 308 /mapycz https://mapycz.toolforge.org\n    Redirect gone /mardetanha-dev\n    Redirect 308 /maria https://maria.toolforge.org\n    Redirect 308 /masscamps https://masscamps.toolforge.org\n    Redirect 308 /massmailer https://massmailer.toolforge.org\n    Redirect 308 /masssly-test-tool https://masssly-test-tool.toolforge.org\n    Redirect 308 /massviews https://massviews.toolforge.org\n    Redirect gone /massviews-test\n    Redirect gone /math\n    Redirect 308 /mathbot https://mathbot.toolforge.org\n    Redirect 308 /mathqa https://mathqa.toolforge.org\n    Redirect gone /matilda\n    Redirect 308 /matsubot https://matsubot.toolforge.org\n    Redirect 308 /matthewrbot https://matthewrbot.toolforge.org\n    Redirect 308 /matthewrbot-dev https://matthewrbot-dev.toolforge.org\n    Redirect 308 /matthewrbowker https://matthewrbowker.toolforge.org\n    Redirect gone /matthewrbowker-dev\n    Redirect 308 /matthobot https://matthobot.toolforge.org\n    Redirect 308 /matvaretabellen https://matvaretabellen.toolforge.org\n    Redirect 308 /maurelio https://maurelio.toolforge.org\n    Redirect 308 /mavrikant https://mavrikant.toolforge.org\n    Redirect 308 /mbh https://mbh.toolforge.org\n    Redirect 308 /mbrt1 https://mbrt1.toolforge.org\n    Redirect 308 /mc8 https://mc8.toolforge.org\n    Redirect gone /mdaniels-acc-dev\n    Redirect 308 /mdanielsbot https://mdanielsbot.toolforge.org\n    Redirect gone /mdaniels-licencehelper\n    Redirect 308 /mdaniels-ogrebot https://mdaniels-ogrebot.toolforge.org\n    Redirect gone /mdaniels-refill-ng\n    Redirect gone /mdaniels-refill-ng-api\n    Redirect 308 /mdann52bot https://mdann52bot.toolforge.org\n    Redirect 308 /mdvt https://mdvt.toolforge.org\n    Redirect 308 /mediacounts https://mediacounts.toolforge.org\n    Redirect 308 /media-dubiety https://media-dubiety.toolforge.org\n    Redirect gone /mediaplaycounts\n    Redirect 308 /media-reports https://media-reports.toolforge.org\n    Redirect 308 /mediaviews https://mediaviews.toolforge.org\n    Redirect 308 /mediaviews-api https://mediaviews-api.toolforge.org\n    Redirect gone /mediawiki2latex\n    Redirect 308 /mediawiki-feeds https://mediawiki-feeds.toolforge.org\n    Redirect gone /mediawiki-mc\n    Redirect gone /mediawiki-mirror\n    Redirect 308 /medusatest https://medusatest.toolforge.org\n    Redirect 308 /meetbot https://meetbot.toolforge.org\n    Redirect 308 /meetingtimes https://meetingtimes.toolforge.org\n    Redirect 308 /megacron https://megacron.toolforge.org\n    Redirect 308 /mehrdadbot https://mehrdadbot.toolforge.org\n    Redirect 308 /memberbot https://memberbot.toolforge.org\n    Redirect 308 /menobot https://menobot.toolforge.org\n    Redirect 308 /merge2pdf https://merge2pdf.toolforge.org\n    Redirect 308 /merlbot https://merlbot.toolforge.org\n    Redirect 308 /merlbot2 https://merlbot2.toolforge.org\n    Redirect 308 /merlbot-read https://merlbot-read.toolforge.org\n    Redirect 308 /merlbot-web https://merlbot-web.toolforge.org\n    Redirect 308 /merl-dev https://merl-dev.toolforge.org\n    Redirect gone /merliwbot\n    Redirect gone /messenger-chatbot\n    Redirect 308 /meta https://meta.toolforge.org\n    Redirect 308 /meta2 https://meta2.toolforge.org\n    Redirect 308 /meta-dev https://meta-dev.toolforge.org\n    Redirect 308 /metamine https://metamine.toolforge.org\n    Redirect 308 /metaviews https://metaviews.toolforge.org\n    Redirect 308 /metmuseum https://metmuseum.toolforge.org\n    Redirect 308 /metricslibrary https://metricslibrary.toolforge.org\n    Redirect 308 /metricslibrary-dev https://metricslibrary-dev.toolforge.org\n    Redirect 308 /mfnf-export https://mfnf-export.toolforge.org\n    Redirect 308 /mfw-bww https://mfw-bww.toolforge.org\n    Redirect 308 /mg-bot https://mg-bot.toolforge.org\n    Redirect gone /mh-signbot\n    Redirect gone /mhwikibot\n    Redirect gone /mide\n    Redirect gone /mide-dev\n    Redirect 308 /mifterbot https://mifterbot.toolforge.org\n    Redirect 308 /mifterbot-en https://mifterbot-en.toolforge.org\n    Redirect 308 /milhistbot https://milhistbot.toolforge.org\n    Redirect 308 /mirador https://mirador.toolforge.org\n    Redirect gone /miraheze-discord-irc\n    Redirect gone /miraheze-notifico\n    Redirect 308 /mirusbot https://mirusbot.toolforge.org\n    Redirect 308 /misc2svg https://misc2svg.toolforge.org\n    Redirect 308 /missing-from-wikipedia https://missing-from-wikipedia.toolforge.org\n    Redirect 308 /missingpages https://missingpages.toolforge.org\n    Redirect 308 /missingtopics https://missingtopics.toolforge.org\n    Redirect 308 /missing-value https://missing-value.toolforge.org\n    Redirect 308 /mitmachen https://mitmachen.toolforge.org\n    Redirect 308 /mix-n-match https://mix-n-match.toolforge.org\n    Redirect 308 /mjbmr https://mjbmr.toolforge.org\n    Redirect 308 /mjbmrbot https://mjbmrbot.toolforge.org\n    Redirect 308 /mjbmr-tools https://mjbmr-tools.toolforge.org\n    Redirect 308 /mjlbot https://mjlbot.toolforge.org\n    Redirect 308 /mlbt https://mlbt.toolforge.org\n    Redirect 308 /mlwikidbupdate https://mlwikidbupdate.toolforge.org\n    Redirect 308 /mlwikisource https://mlwikisource.toolforge.org\n    Redirect 308 /mmt https://mmt.toolforge.org\n    Redirect gone /mobile\n    Redirect 308 /moedata https://moedata.toolforge.org\n    Redirect 308 /mohammedbot https://mohammedbot.toolforge.org\n    Redirect 308 /mohib https://mohib.toolforge.org\n    Redirect 308 /mohiburdu https://mohiburdu.toolforge.org\n    Redirect gone /monaco\n    Redirect 308 /mono https://mono.toolforge.org\n    Redirect 308 /montage https://montage.toolforge.org\n    Redirect 308 /montage-beta https://montage-beta.toolforge.org\n    Redirect 308 /montage-dev https://montage-dev.toolforge.org\n    Redirect 308 /monumental https://monumental.toolforge.org\n    Redirect 308 /monumental-glam https://monumental-glam.toolforge.org\n    Redirect gone /morebots\n    Redirect gone /morfeusz\n    Redirect 308 /mormegil https://mormegil.toolforge.org\n    Redirect 308 /morph https://morph.toolforge.org\n    Redirect 308 /morphtool https://morphtool.toolforge.org\n    Redirect 308 /mortar https://mortar.toolforge.org\n    Redirect gone /mostlinkedmissing\n    Redirect 308 /most-readable-pages https://most-readable-pages.toolforge.org\n    Redirect 308 /most-wanted https://most-wanted.toolforge.org\n    Redirect gone /move\n    Redirect 308 /movecat https://movecat.toolforge.org\n    Redirect 308 /movestats https://movestats.toolforge.org\n    Redirect 308 /mp https://mp.toolforge.org\n    Redirect 308 /mpaatools https://mpaatools.toolforge.org\n    Redirect 308 /mrakinsey https://mrakinsey.toolforge.org\n    Redirect 308 /mrbluebot https://mrbluebot.toolforge.org\n    Redirect gone /mrmetadata\n    Redirect 308 /msbits https://msbits.toolforge.org\n    Redirect 308 /mscbot https://mscbot.toolforge.org\n    Redirect 308 /mstools https://mstools.toolforge.org\n    Redirect 308 /msynbot https://msynbot.toolforge.org\n    Redirect gone /mtc-rest\n    Redirect gone /mu\n    Redirect 308 /multichill https://multichill.toolforge.org\n    Redirect 308 /multicompare https://multicompare.toolforge.org\n    Redirect 308 /multidesc https://multidesc.toolforge.org\n    Redirect 308 /muninnbot https://muninnbot.toolforge.org\n    Redirect 308 /murbot https://murbot.toolforge.org\n    Redirect 308 /musikanimal https://musikanimal.toolforge.org\n    Redirect gone /musikanimal-test\n    Redirect 308 /musikbot https://musikbot.toolforge.org\n    Redirect 308 /mw2sparql https://mw2sparql.toolforge.org\n    Redirect gone /mwcoreteam\n    Redirect gone /mwhook-bot\n    Redirect 308 /mwlint https://mwlint.toolforge.org\n    Redirect 308 /mwp https://mwp.toolforge.org\n    Redirect 308 /mwpackages https://mwpackages.toolforge.org\n    Redirect 308 /mwph-api https://mwph-api.toolforge.org\n    Redirect 308 /mwp-testing https://mwp-testing.toolforge.org\n    Redirect 308 /mwstew https://mwstew.toolforge.org\n    Redirect 308 /mwversion https://mwversion.toolforge.org\n    Redirect 308 /mybot https://mybot.toolforge.org\n    Redirect 308 /my-first-django-oauth-app https://my-first-django-oauth-app.toolforge.org\n    Redirect 308 /my-first-django-tool https://my-first-django-tool.toolforge.org\n    Redirect 308 /my-first-flask-oauth-tool https://my-first-flask-oauth-tool.toolforge.org\n    Redirect 308 /my-first-flask-tool https://my-first-flask-tool.toolforge.org\n    Redirect 308 /my-first-pywikibot-tool https://my-first-pywikibot-tool.toolforge.org\n    Redirect gone /my_first_tool\n    Redirect gone /myrcx\n    Redirect 308 /mysql-php-session-test https://mysql-php-session-test.toolforge.org\n    Redirect 308 /my-threads https://my-threads.toolforge.org\n    Redirect gone /mywikitool\n    Redirect gone /mzmcbride\n    Redirect 308 /nada https://nada.toolforge.org\n    Redirect 308 /nagf https://nagf.toolforge.org\n    Redirect 308 /nakon https://nakon.toolforge.org\n    Redirect 308 /namakemono https://namakemono.toolforge.org\n    Redirect 308 /napalmbot https://napalmbot.toolforge.org\n    Redirect 308 /napalmbot-sah https://napalmbot-sah.toolforge.org\n    Redirect gone /napalmtools\n    Redirect 308 /nara https://nara.toolforge.org\n    Redirect 308 /nasirkhanbot https://nasirkhanbot.toolforge.org\n    Redirect 308 /nasirkhantools https://nasirkhantools.toolforge.org\n    Redirect 308 /navlink-recommendation https://navlink-recommendation.toolforge.org\n    Redirect 308 /nearby-places-viewer https://nearby-places-viewer.toolforge.org\n    Redirect 308 /neechal https://neechal.toolforge.org\n    Redirect 308 /neechalbot https://neechalbot.toolforge.org\n    Redirect 308 /negative24-bottesting https://negative24-bottesting.toolforge.org\n    Redirect 308 /neuraltricity https://neuraltricity.toolforge.org\n    Redirect 308 /neuromat https://neuromat.toolforge.org\n    Redirect 308 /newbie-uploads https://newbie-uploads.toolforge.org\n    Redirect gone /newfiles\n    Redirect 308 /newiki-editathon https://newiki-editathon.toolforge.org\n    Redirect 308 /new-q5 https://new-q5.toolforge.org\n    Redirect 308 /new-uploads-refresher https://new-uploads-refresher.toolforge.org\n    Redirect 308 /newusers https://newusers.toolforge.org\n    Redirect 308 /newwebtest https://newwebtest.toolforge.org\n    Redirect gone /newyorkadam\n    Redirect 308 /nfcbot https://nfcbot.toolforge.org\n    Redirect 308 /nicepedia https://nicepedia.toolforge.org\n    Redirect gone /ninjastrikers\n    Redirect 308 /ninobot https://ninobot.toolforge.org\n    Redirect 308 /ninobott https://ninobott.toolforge.org\n    Redirect gone /ninthcircuit\n    Redirect gone /niosh\n    Redirect 308 /nitlow https://nitlow.toolforge.org\n    Redirect 308 /nitolw https://nitolw.toolforge.org\n    Redirect 308 /njsbot https://njsbot.toolforge.org\n    Redirect 308 /nli-wiki https://nli-wiki.toolforge.org\n    Redirect 308 /nlwikibots https://nlwikibots.toolforge.org\n    Redirect 308 /nlwikt-tools https://nlwikt-tools.toolforge.org\n    Redirect gone /nn1l2bot\n    Redirect 308 /noaabot https://noaabot.toolforge.org\n    Redirect 308 /noclaims https://noclaims.toolforge.org\n    Redirect 308 /nodejs-mw-oauth-tool https://nodejs-mw-oauth-tool.toolforge.org\n    Redirect 308 /nodetree https://nodetree.toolforge.org\n    Redirect 308 /nomad https://nomad.toolforge.org\n    Redirect 308 /nominatim https://nominatim.toolforge.org\n    Redirect 308 /nordic-museum-depicts https://nordic-museum-depicts.toolforge.org\n    Redirect gone /noref\n    Redirect 308 /notebooks https://notebooks.toolforge.org\n    Redirect 308 /notif-bot https://notif-bot.toolforge.org\n    Redirect 308 /not-in-the-other-language https://not-in-the-other-language.toolforge.org\n    Redirect 308 /npp https://npp.toolforge.org\n    Redirect 308 /nppbrowser https://nppbrowser.toolforge.org\n    Redirect 308 /nppdash https://nppdash.toolforge.org\n    Redirect 308 /npp-lv https://npp-lv.toolforge.org\n    Redirect 308 /nrhpservice https://nrhpservice.toolforge.org\n    Redirect 308 /nsfw https://nsfw.toolforge.org\n    Redirect 308 /nullbot https://nullbot.toolforge.org\n    Redirect 308 /nullzero https://nullzero.toolforge.org\n    Redirect 308 /nullzerobot https://nullzerobot.toolforge.org\n    Redirect 308 /nyandata https://nyandata.toolforge.org\n    Redirect 308 /oabot https://oabot.toolforge.org\n    Redirect 308 /oabot-wd-game https://oabot-wd-game.toolforge.org\n    Redirect gone /oar\n    Redirect 308 /oauth-hello-world https://oauth-hello-world.toolforge.org\n    Redirect 308 /oauthtest https://oauthtest.toolforge.org\n    Redirect 308 /obaid https://obaid.toolforge.org\n    Redirect 308 /ocgepub https://ocgepub.toolforge.org\n    Redirect 308 /ocounter https://ocounter.toolforge.org\n    Redirect 308 /ocr4wikisource https://ocr4wikisource.toolforge.org\n    Redirect 308 /ocrtoy https://ocrtoy.toolforge.org\n    Redirect 308 /octodata https://octodata.toolforge.org\n    Redirect 308 /octrabot https://octrabot.toolforge.org\n    Redirect gone /odder-dev\n    Redirect 308 /oddol https://oddol.toolforge.org\n    Redirect 308 /okmaps https://okmaps.toolforge.org\n    Redirect 308 /olsibot https://olsibot.toolforge.org\n    Redirect 308 /olympics https://olympics.toolforge.org\n    Redirect 308 /omarghridabot https://omarghridabot.toolforge.org\n    Redirect gone /oncall\n    Redirect gone /onetools\n    Redirect 308 /oojs-ui https://oojs-ui.toolforge.org\n    Redirect 308 /ooui-debug https://ooui-debug.toolforge.org\n    Redirect 308 /opendatasets https://opendatasets.toolforge.org\n    Redirect 308 /openhatch-wiki https://openhatch-wiki.toolforge.org\n    Redirect 308 /openipmap https://openipmap.toolforge.org\n    Redirect 308 /openrefine-wikidata https://openrefine-wikidata.toolforge.org\n    Redirect 308 /openstack-browser https://openstack-browser.toolforge.org\n    Redirect 308 /openstack-browser-dev https://openstack-browser-dev.toolforge.org\n    Redirect 308 /oqtools https://oqtools.toolforge.org\n    Redirect 308 /orator-matcher https://orator-matcher.toolforge.org\n    Redirect 308 /order-user-by-reg https://order-user-by-reg.toolforge.org\n    Redirect 308 /ordia https://ordia.toolforge.org\n    Redirect 308 /orejasbot https://orejasbot.toolforge.org\n    Redirect 308 /ores https://ores.toolforge.org\n    Redirect gone /ores-afc\n    Redirect 308 /ores-demos https://ores-demos.toolforge.org\n    Redirect 308 /ores-support-checklist https://ores-support-checklist.toolforge.org\n    Redirect 308 /orphan-groups https://orphan-groups.toolforge.org\n    Redirect 308 /orphantalk https://orphantalk.toolforge.org\n    Redirect 308 /orpheus https://orpheus.toolforge.org\n    Redirect 308 /orwell01 https://orwell01.toolforge.org\n    Redirect 308 /orwell02 https://orwell02.toolforge.org\n    Redirect 308 /os https://os.toolforge.org\n    Redirect 308 /oscoor https://oscoor.toolforge.org\n    Redirect 308 /os-deprecation https://os-deprecation.toolforge.org\n    Redirect 308 /osm https://osm.toolforge.org\n    Redirect 308 /osm4wiki https://osm4wiki.toolforge.org\n    Redirect 308 /osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 308 /osmbstat https://osmbstat.toolforge.org\n    Redirect 308 /osmcounts https://osmcounts.toolforge.org\n    Redirect 308 /osm-gadget https://osm-gadget.toolforge.org\n    Redirect 308 /osm-gadget-leaflet https://osm-gadget-leaflet.toolforge.org\n    Redirect 308 /osmkmlmap https://osmkmlmap.toolforge.org\n    Redirect 308 /osmlint https://osmlint.toolforge.org\n    Redirect 308 /otrs-helper https://otrs-helper.toolforge.org\n    Redirect 308 /otrsreports https://otrsreports.toolforge.org\n    Redirect 308 /oubli-signature-bot https://oubli-signature-bot.toolforge.org\n    Redirect gone /ouda\n    Redirect 308 /oudabot https://oudabot.toolforge.org\n    Redirect gone /outofband\n    Redirect 308 /outreachy-hiteshpr https://outreachy-hiteshpr.toolforge.org\n    Redirect 308 /outreachy-recent-edits-tool https://outreachy-recent-edits-tool.toolforge.org\n    Redirect 308 /outreachy-sagorika1996 https://outreachy-sagorika1996.toolforge.org\n    Redirect 308 /outreachy-sayani-tool https://outreachy-sayani-tool.toolforge.org\n    Redirect 308 /outreachy-shipra https://outreachy-shipra.toolforge.org\n    Redirect 308 /outreachy-user-contribution-tool https://outreachy-user-contribution-tool.toolforge.org\n    Redirect 308 /outreachy-useredits https://outreachy-useredits.toolforge.org\n    Redirect 308 /outreachy-userrank https://outreachy-userrank.toolforge.org\n    Redirect 308 /outreachy-user-ranking-tool https://outreachy-user-ranking-tool.toolforge.org\n    Redirect 308 /outreachy-wikicv https://outreachy-wikicv.toolforge.org\n    Redirect gone /outreacy-wikicv\n    Redirect 308 /owintes https://owintes.toolforge.org\n    Redirect 308 /p4-linkie https://p4-linkie.toolforge.org\n    Redirect 308 /pacetrack https://pacetrack.toolforge.org\n    Redirect 308 /pagecount https://pagecount.toolforge.org\n    Redirect 308 /pagecounts https://pagecounts.toolforge.org\n    Redirect 308 /pagepile https://pagepile.toolforge.org\n    Redirect 308 /pagepile-visual-filter https://pagepile-visual-filter.toolforge.org\n    Redirect 308 /pageshift https://pageshift.toolforge.org\n    Redirect 308 /pageviews https://pageviews.toolforge.org\n    Redirect 308 /pageviews-test https://pageviews-test.toolforge.org\n    Redirect gone /paid\n    Redirect gone /palmleaf-transcriber\n    Redirect 308 /pandata https://pandata.toolforge.org\n    Redirect 308 /panderine https://panderine.toolforge.org\n    Redirect 308 /panoviewer https://panoviewer.toolforge.org\n    Redirect 308 /para https://para.toolforge.org\n    Redirect 308 /parliamentdiagram https://parliamentdiagram.toolforge.org\n    Redirect 308 /parliament-diagram-generator https://parliament-diagram-generator.toolforge.org\n    Redirect gone /parsec\n    Redirect 308 /passlicense https://passlicense.toolforge.org\n    Redirect 308 /paste https://paste.toolforge.org\n    Redirect 308 /pastebin https://pastebin.toolforge.org\n    Redirect 308 /paste-test https://paste-test.toolforge.org\n    Redirect 308 /pathbot-test-1 https://pathbot-test-1.toolforge.org\n    Redirect 308 /pathoschild-contrib https://pathoschild-contrib.toolforge.org\n    Redirect 308 /pathway-viewer https://pathway-viewer.toolforge.org\n    Redirect 308 /patrall https://patrall.toolforge.org\n    Redirect 308 /patrollerinfo https://patrollerinfo.toolforge.org\n    Redirect 308 /patrolstats https://patrolstats.toolforge.org\n    Redirect gone /patrubot\n    Redirect 308 /pavlochembot https://pavlochembot.toolforge.org\n    Redirect 308 /paws https://paws.toolforge.org\n    Redirect 308 /paws-beta https://paws-beta.toolforge.org\n    Redirect 308 /paws-dev https://paws-dev.toolforge.org\n    Redirect 308 /paws-public https://paws-public.toolforge.org\n    Redirect 308 /paws-published https://paws-published.toolforge.org\n    Redirect 308 /paws-stats https://paws-stats.toolforge.org\n    Redirect 308 /paws-status https://paws-status.toolforge.org\n    Redirect 308 /paws-support https://paws-support.toolforge.org\n    Redirect 308 /payravi https://payravi.toolforge.org\n    Redirect 308 /pb https://pb.toolforge.org\n    Redirect 308 /pbbot https://pbbot.toolforge.org\n    Redirect 308 /peachy https://peachy.toolforge.org\n    Redirect 308 /peachy-docs https://peachy-docs.toolforge.org\n    Redirect 308 /pearbot https://pearbot.toolforge.org\n    Redirect 308 /pearbot2 https://pearbot2.toolforge.org\n    Redirect 308 /peek https://peek.toolforge.org\n    Redirect 308 /perebot https://perebot.toolforge.org\n    Redirect 308 /perfectbot https://perfectbot.toolforge.org\n    Redirect 308 /perfect-venn-diagram-generator https://perfect-venn-diagram-generator.toolforge.org\n    Redirect 308 /perflogbot https://perflogbot.toolforge.org\n    Redirect 308 /periodibot https://periodibot.toolforge.org\n    Redirect gone /periodssuck\n    Redirect gone /permission-denied-test\n    Redirect gone /perrybot\n    Redirect 308 /personabot https://personabot.toolforge.org\n    Redirect 308 /persondata https://persondata.toolforge.org\n    Redirect gone /petscan-md\n    Redirect 308 /pg2ws https://pg2ws.toolforge.org\n    Redirect gone /pgrmeval\n    Redirect 308 /phab-ban https://phab-ban.toolforge.org\n    Redirect 308 /phabbot https://phabbot.toolforge.org\n    Redirect 308 /phabricator-bug-status https://phabricator-bug-status.toolforge.org\n    Redirect 308 /phabricator-reporter https://phabricator-reporter.toolforge.org\n    Redirect gone /phab-search\n    Redirect 308 /phabsearchemail https://phabsearchemail.toolforge.org\n    Redirect 308 /phabulous https://phabulous.toolforge.org\n    Redirect gone /phamhi-tool\n    Redirect 308 /phantombot https://phantombot.toolforge.org\n    Redirect 308 /phetools https://phetools.toolforge.org\n    Redirect 308 /phoenix9 https://phoenix9.toolforge.org\n    Redirect 308 /phpcs https://phpcs.toolforge.org\n    Redirect 308 /phpinfo https://phpinfo.toolforge.org\n    Redirect gone /phragile\n    Redirect 308 /piagetbot https://piagetbot.toolforge.org\n    Redirect 308 /piagetenwiki https://piagetenwiki.toolforge.org\n    Redirect 308 /pibot https://pibot.toolforge.org\n    Redirect 308 /pib-upload https://pib-upload.toolforge.org\n    Redirect 308 /pileviews https://pileviews.toolforge.org\n    Redirect 308 /ping08bot https://ping08bot.toolforge.org\n    Redirect 308 /pinyin-wiki https://pinyin-wiki.toolforge.org\n    Redirect 308 /pipeng https://pipeng.toolforge.org\n    Redirect 308 /pirsquared https://pirsquared.toolforge.org\n    Redirect 308 /pisgbot https://pisgbot.toolforge.org\n    Redirect 308 /pitsilemu https://pitsilemu.toolforge.org\n    Redirect 308 /plagiabot https://plagiabot.toolforge.org\n    Redirect 308 /plaigsossbot https://plaigsossbot.toolforge.org\n    Redirect 308 /plaintexteditcounter https://plaintexteditcounter.toolforge.org\n    Redirect 308 /planettoearth https://planettoearth.toolforge.org\n    Redirect 308 /plantel2wiki https://plantel2wiki.toolforge.org\n    Redirect 308 /plasmahelp https://plasmahelp.toolforge.org\n    Redirect gone /platypus-qa\n    Redirect 308 /plnode https://plnode.toolforge.org\n    Redirect 308 /plstools https://plstools.toolforge.org\n    Redirect 308 /pltools https://pltools.toolforge.org\n    Redirect 308 /pmidtool https://pmidtool.toolforge.org\n    Redirect 308 /poiimport https://poiimport.toolforge.org\n    Redirect 308 /popularpages https://popularpages.toolforge.org\n    Redirect 308 /popularpages-dev https://popularpages-dev.toolforge.org\n    Redirect 308 /portal https://portal.toolforge.org\n    Redirect 308 /portalbox https://portalbox.toolforge.org\n    Redirect gone /portal-stats\n    Redirect 308 /position-holder-history https://position-holder-history.toolforge.org\n    Redirect 308 /potd https://potd.toolforge.org\n    Redirect 308 /potd-feed https://potd-feed.toolforge.org\n    Redirect 308 /potd-viewer https://potd-viewer.toolforge.org\n    Redirect 308 /potrace https://potrace.toolforge.org\n    Redirect 308 /poty https://poty.toolforge.org\n    Redirect 308 /povoconta https://povoconta.toolforge.org\n    Redirect 308 /powow https://powow.toolforge.org\n    Redirect gone /ppp-sparql\n    Redirect gone /precise-tools\n    Redirect 308 /prefbot https://prefbot.toolforge.org\n    Redirect gone /primary-sources-v2\n    Redirect 308 /primebot https://primebot.toolforge.org\n    Redirect 308 /prime-draftnocat https://prime-draftnocat.toolforge.org\n    Redirect 308 /primerpedia https://primerpedia.toolforge.org\n    Redirect gone /prism\n    Redirect gone /projanalysis\n    Redirect gone /project-fa\n    Redirect 308 /projector https://projector.toolforge.org\n    Redirect 308 /projektneuheiten-feed https://projektneuheiten-feed.toolforge.org\n    Redirect gone /projetpp\n    Redirect gone /prometheus\n    Redirect 308 /prompter https://prompter.toolforge.org\n    Redirect 308 /proneval https://proneval.toolforge.org\n    Redirect 308 /proneval-gsoc17 https://proneval-gsoc17.toolforge.org\n    Redirect gone /propertyuse\n    Redirect 308 /prop-explorer https://prop-explorer.toolforge.org\n    Redirect 308 /prosjektbot https://prosjektbot.toolforge.org\n    Redirect gone /proxies\n    Redirect 308 /prvnotifications https://prvnotifications.toolforge.org\n    Redirect 308 /ptable https://ptable.toolforge.org\n    Redirect 308 /ptbot https://ptbot.toolforge.org\n    Redirect 308 /ptbots https://ptbots.toolforge.org\n    Redirect 308 /ptools https://ptools.toolforge.org\n    Redirect 308 /ptwikis https://ptwikis.toolforge.org\n    Redirect 308 /pub https://pub.toolforge.org\n    Redirect 308 /pubchem-wikidata-updates https://pubchem-wikidata-updates.toolforge.org\n    Redirect 308 /purger https://purger.toolforge.org\n    Redirect gone /push-notifications-helper\n    Redirect 308 /pv https://pv.toolforge.org\n    Redirect 308 /pybot https://pybot.toolforge.org\n    Redirect 308 /pyshexy https://pyshexy.toolforge.org\n    Redirect 308 /pywikibot https://pywikibot.toolforge.org\n    Redirect 308 /pywikibot-grrtbt https://pywikibot-grrtbt.toolforge.org\n    Redirect 308 /pywikibot-test https://pywikibot-test.toolforge.org\n    Redirect 308 /pywikibot-testwiki https://pywikibot-testwiki.toolforge.org\n    Redirect 308 /pywikibot-tw https://pywikibot-tw.toolforge.org\n    Redirect 308 /pywikipedia https://pywikipedia.toolforge.org\n    Redirect 308 /pywowbot https://pywowbot.toolforge.org\n    Redirect 308 /qedkbot https://qedkbot.toolforge.org\n    Redirect 308 /qic https://qic.toolforge.org\n    Redirect 308 /qrcode-generator https://qrcode-generator.toolforge.org\n    Redirect gone /qsgenerator\n    Redirect 308 /quality-analyzer https://quality-analyzer.toolforge.org\n    Redirect 308 /quality-assisted-editor https://quality-assisted-editor.toolforge.org\n    Redirect 308 /quarry https://quarry.toolforge.org\n    Redirect 308 /quarrybot-enwiki https://quarrybot-enwiki.toolforge.org\n    Redirect 308 /quarry-dev https://quarry-dev.toolforge.org\n    Redirect 308 /quentintools https://quentintools.toolforge.org\n    Redirect 308 /quentinv57-bots https://quentinv57-bots.toolforge.org\n    Redirect 308 /quentinv57-common https://quentinv57-common.toolforge.org\n    Redirect 308 /query https://query.toolforge.org\n    Redirect 308 /query2map https://query2map.toolforge.org\n    Redirect 308 /query-universe https://query-universe.toolforge.org\n    Redirect 308 /quickcategories https://quickcategories.toolforge.org\n    Redirect 308 /quick-intersection https://quick-intersection.toolforge.org\n    Redirect 308 /quickpreset-migrate https://quickpreset-migrate.toolforge.org\n    Redirect gone /quickquery\n    Redirect 308 /quickstatements https://quickstatements.toolforge.org\n    Redirect 308 /quips https://quips.toolforge.org\n    Redirect gone /quotable\n    Redirect 308 /quotenbot https://quotenbot.toolforge.org\n    Redirect 308 /r96340-bot https://r96340-bot.toolforge.org\n    Redirect 308 /raehhamsang https://raehhamsang.toolforge.org\n    Redirect 308 /ragesossbot https://ragesossbot.toolforge.org\n    Redirect 308 /railways https://railways.toolforge.org\n    Redirect 308 /ralgisbot https://ralgisbot.toolforge.org\n    Redirect 308 /ramp https://ramp.toolforge.org\n    Redirect 308 /ramp2 https://ramp2.toolforge.org\n    Redirect 308 /random https://random.toolforge.org\n    Redirect 308 /random-featured https://random-featured.toolforge.org\n    Redirect 308 /randomincategory https://randomincategory.toolforge.org\n    Redirect 308 /rang https://rang.toolforge.org\n    Redirect 308 /rangeblockfinder https://rangeblockfinder.toolforge.org\n    Redirect 308 /rangecalc-improved https://rangecalc-improved.toolforge.org\n    Redirect 308 /rangecontrib https://rangecontrib.toolforge.org\n    Redirect gone /rank\n    Redirect gone /rank1\n    Redirect gone /rank4\n    Redirect 308 /raun https://raun.toolforge.org\n    Redirect 308 /raunbot https://raunbot.toolforge.org\n    Redirect 308 /raymond https://raymond.toolforge.org\n    Redirect 308 /raymondyee-test https://raymondyee-test.toolforge.org\n    Redirect 308 /rchv https://rchv.toolforge.org\n    Redirect gone /rcm\n    Redirect 308 /rcquery https://rcquery.toolforge.org\n    Redirect 308 /rc-vikidia https://rc-vikidia.toolforge.org\n    Redirect 308 /reader https://reader.toolforge.org\n    Redirect 308 /readmore https://readmore.toolforge.org\n    Redirect gone /reasomics\n    Redirect 308 /reasonator https://reasonator.toolforge.org\n    Redirect 308 /rebot https://rebot.toolforge.org\n    Redirect 308 /recitation-bot https://recitation-bot.toolforge.org\n    Redirect 308 /recoin https://recoin.toolforge.org\n    Redirect gone /recoin-sample\n    Redirect gone /recommendation\n    Redirect 308 /recom-tool https://recom-tool.toolforge.org\n    Redirect 308 /redirecter https://redirecter.toolforge.org\n    Redirect 308 /redirectviews https://redirectviews.toolforge.org\n    Redirect 308 /redirtest https://redirtest.toolforge.org\n    Redirect 308 /redpanda https://redpanda.toolforge.org\n    Redirect 308 /redwarn https://redwarn.toolforge.org\n    Redirect gone /refcreator\n    Redirect 308 /referee https://referee.toolforge.org\n    Redirect gone /referencebot\n    Redirect 308 /refill https://refill.toolforge.org\n    Redirect 308 /refill-api https://refill-api.toolforge.org\n    Redirect gone /reflinks\n    Redirect 308 /refswikipedia https://refswikipedia.toolforge.org\n    Redirect 308 /reftoolbar https://reftoolbar.toolforge.org\n    Redirect 308 /registro-cancellazioni https://registro-cancellazioni.toolforge.org\n    Redirect 308 /reise-reise https://reise-reise.toolforge.org\n    Redirect 308 /relgen https://relgen.toolforge.org\n    Redirect 308 /remarkup2wikitext https://remarkup2wikitext.toolforge.org\n    Redirect 308 /rembot https://rembot.toolforge.org\n    Redirect 308 /reminderbot https://reminderbot.toolforge.org\n    Redirect 308 /render https://render.toolforge.org\n    Redirect 308 /render-tests https://render-tests.toolforge.org\n    Redirect gone /repi\n    Redirect 308 /replacer https://replacer.toolforge.org\n    Redirect 308 /replag https://replag.toolforge.org\n    Redirect 308 /repo https://repo.toolforge.org\n    Redirect gone /reports\n    Redirect gone /reportsbot\n    Redirect 308 /reports-bot https://reports-bot.toolforge.org\n    Redirect 308 /request https://request.toolforge.org\n    Redirect 308 /retractionbot https://retractionbot.toolforge.org\n    Redirect 308 /revdiffsearch https://revdiffsearch.toolforge.org\n    Redirect 308 /revertstat https://revertstat.toolforge.org\n    Redirect 308 /revi https://revi.toolforge.org\n    Redirect 308 /revibot https://revibot.toolforge.org\n    Redirect 308 /revibot-i https://revibot-i.toolforge.org\n    Redirect 308 /revibot-ii https://revibot-ii.toolforge.org\n    Redirect 308 /revibot-iii https://revibot-iii.toolforge.org\n    Redirect gone /revibot-iv\n    Redirect 308 /reviewer https://reviewer.toolforge.org\n    Redirect 308 /reviewers https://reviewers.toolforge.org\n    Redirect 308 /review-stats https://review-stats.toolforge.org\n    Redirect 308 /reviewtools https://reviewtools.toolforge.org\n    Redirect 308 /revisions-blacklist https://revisions-blacklist.toolforge.org\n    Redirect 308 /revisionstats https://revisionstats.toolforge.org\n    Redirect 308 /revitalizebot https://revitalizebot.toolforge.org\n    Redirect 308 /rezabot https://rezabot.toolforge.org\n    Redirect 308 /reza-dev https://reza-dev.toolforge.org\n    Redirect 308 /rfahelper https://rfahelper.toolforge.org\n    Redirect 308 /rfastats https://rfastats.toolforge.org\n    Redirect 308 /rfa-tool https://rfa-tool.toolforge.org\n    Redirect 308 /rfc-analyzer https://rfc-analyzer.toolforge.org\n    Redirect 308 /rfx https://rfx.toolforge.org\n    Redirect 308 /rfx-dev https://rfx-dev.toolforge.org\n    Redirect gone /rhinosf1-afdclose\n    Redirect 308 /ricordisamoa https://ricordisamoa.toolforge.org\n    Redirect 308 /ri-diff-fixture-updater https://ri-diff-fixture-updater.toolforge.org\n    Redirect 308 /rightstool https://rightstool.toolforge.org\n    Redirect 308 /rileybot https://rileybot.toolforge.org\n    Redirect 308 /rillke https://rillke.toolforge.org\n    Redirect 308 /rillke-node https://rillke-node.toolforge.org\n    Redirect 308 /rluts https://rluts.toolforge.org\n    Redirect 308 /rmstats https://rmstats.toolforge.org\n    Redirect 308 /rm-stats https://rm-stats.toolforge.org\n    Redirect 308 /robin https://robin.toolforge.org\n    Redirect 308 /robokobot https://robokobot.toolforge.org\n    Redirect 308 /roccerbot https://roccerbot.toolforge.org\n    Redirect 308 /roccerbot-new https://roccerbot-new.toolforge.org\n    Redirect 308 /rotatebot https://rotatebot.toolforge.org\n    Redirect 308 /rotbot https://rotbot.toolforge.org\n    Redirect 308 /rotpunkt-bot https://rotpunkt-bot.toolforge.org\n    Redirect 308 /roundtripping https://roundtripping.toolforge.org\n    Redirect gone /roysmith-test\n    Redirect 308 /ruarbcom https://ruarbcom.toolforge.org\n    Redirect gone /ruarbcom-js\n    Redirect gone /rubinbot\n    Redirect gone /rubinbot2\n    Redirect gone /rubinbot3\n    Redirect 308 /ru_monuments https://ru_monuments.toolforge.org\n    Redirect gone /ruprecht\n    Redirect 308 /ruptho-interaction-classifier https://ruptho-interaction-classifier.toolforge.org\n    Redirect 308 /russbot https://russbot.toolforge.org\n    Redirect 308 /rust-hello-world https://rust-hello-world.toolforge.org\n    Redirect 308 /ru-unreliable-music-sources https://ru-unreliable-music-sources.toolforge.org\n    Redirect 308 /ruwikisource https://ruwikisource.toolforge.org\n    Redirect 308 /ruwn-misc https://ruwn-misc.toolforge.org\n    Redirect 308 /rxy https://rxy.toolforge.org\n    Redirect 308 /ryanbot https://ryanbot.toolforge.org\n    Redirect 308 /ryu https://ryu.toolforge.org\n    Redirect gone /saami\n    Redirect 308 /sal https://sal.toolforge.org\n    Redirect 308 /sammour https://sammour.toolforge.org\n    Redirect 308 /samoabot https://samoabot.toolforge.org\n    Redirect 308 /sanaa https://sanaa.toolforge.org\n    Redirect 308 /saper https://saper.toolforge.org\n    Redirect 308 /sau226test https://sau226test.toolforge.org\n    Redirect gone /sau226-wiki-bug-testing\n    Redirect gone /sbl\n    Redirect 308 /sbot https://sbot.toolforge.org\n    Redirect 308 /scaldingbot https://scaldingbot.toolforge.org\n    Redirect gone /scfc-test-can-be-deleted-anytime\n    Redirect 308 /schema2code https://schema2code.toolforge.org\n    Redirect 308 /scholia https://scholia.toolforge.org\n    Redirect 308 /scholiaanalytics https://scholiaanalytics.toolforge.org\n    Redirect 308 /scholia-analytics https://scholia-analytics.toolforge.org\n    Redirect 308 /scholia-dev https://scholia-dev.toolforge.org\n    Redirect 308 /schoolwiki https://schoolwiki.toolforge.org\n    Redirect 308 /schubota https://schubota.toolforge.org\n    Redirect 308 /scottytools https://scottytools.toolforge.org\n    Redirect 308 /scotus-recordings https://scotus-recordings.toolforge.org\n    Redirect gone /scratch\n    Redirect 308 /scribe https://scribe.toolforge.org\n    Redirect 308 /scrotbot https://scrotbot.toolforge.org\n    Redirect 308 /sdbot https://sdbot.toolforge.org\n    Redirect gone /sdm\n    Redirect 308 /sdzerobot https://sdzerobot.toolforge.org\n    Redirect 308 /search https://search.toolforge.org\n    Redirect 308 /searchdiff https://searchdiff.toolforge.org\n    Redirect 308 /searchsbl https://searchsbl.toolforge.org\n    Redirect 308 /section-links https://section-links.toolforge.org\n    Redirect 308 /section-redirect https://section-redirect.toolforge.org\n    Redirect 308 /section-watchlist https://section-watchlist.toolforge.org\n    Redirect 308 /security https://security.toolforge.org\n    Redirect 308 /secwatch https://secwatch.toolforge.org\n    Redirect 308 /seealsology https://seealsology.toolforge.org\n    Redirect 308 /seijabot https://seijabot.toolforge.org\n    Redirect 308 /sejmedits https://sejmedits.toolforge.org\n    Redirect 308 /selim https://selim.toolforge.org\n    Redirect 308 /sequencer https://sequencer.toolforge.org\n    Redirect 308 /sergobot-statistics https://sergobot-statistics.toolforge.org\n    Redirect 308 /serobot https://serobot.toolforge.org\n    Redirect 308 /service001 https://service001.toolforge.org\n    Redirect 308 /serviceawards https://serviceawards.toolforge.org\n    Redirect 308 /sficbot https://sficbot.toolforge.org\n    Redirect gone /sge-jobs\n    Redirect gone /sge-status\n    Redirect 308 /shbibbot https://shbibbot.toolforge.org\n    Redirect 308 /shbot https://shbot.toolforge.org\n    Redirect 308 /shex-author https://shex-author.toolforge.org\n    Redirect 308 /shexia https://shexia.toolforge.org\n    Redirect 308 /shex-simple https://shex-simple.toolforge.org\n    Redirect 308 /shexstatements https://shexstatements.toolforge.org\n    Redirect 308 /shextranslator https://shextranslator.toolforge.org\n    Redirect 308 /shfbot https://shfbot.toolforge.org\n    Redirect 308 /shields https://shields.toolforge.org\n    Redirect gone /shilad\n    Redirect 308 /shortnames https://shortnames.toolforge.org\n    Redirect 308 /shorturls https://shorturls.toolforge.org\n    Redirect 308 /shotbot https://shotbot.toolforge.org\n    Redirect gone /shri\n    Redirect 308 /shrinitools https://shrinitools.toolforge.org\n    Redirect 308 /shrugbot https://shrugbot.toolforge.org\n    Redirect gone /shtest\n    Redirect 308 /shuaib https://shuaib.toolforge.org\n    Redirect 308 /shuaib-bot https://shuaib-bot.toolforge.org\n    Redirect 308 /shumariyat https://shumariyat.toolforge.org\n    Redirect 308 /sibu https://sibu.toolforge.org\n    Redirect 308 /sibutest https://sibutest.toolforge.org\n    Redirect 308 /sighting https://sighting.toolforge.org\n    Redirect 308 /sigma https://sigma.toolforge.org\n    Redirect 308 /signature-checker https://signature-checker.toolforge.org\n    Redirect gone /signature-manquante-bot\n    Redirect 308 /signatures https://signatures.toolforge.org\n    Redirect 308 /sign-language-browser https://sign-language-browser.toolforge.org\n    Redirect 308 /signpost https://signpost.toolforge.org\n    Redirect 308 /signpostlab https://signpostlab.toolforge.org\n    Redirect 308 /similarity https://similarity.toolforge.org\n    Redirect 308 /simple https://simple.toolforge.org\n    Redirect 308 /simplecommonstransfer https://simplecommonstransfer.toolforge.org\n    Redirect gone /simplewd\n    Redirect 308 /simplewikt https://simplewikt.toolforge.org\n    Redirect 308 /sistercities https://sistercities.toolforge.org\n    Redirect 308 /sit https://sit.toolforge.org\n    Redirect 308 /sitematrix https://sitematrix.toolforge.org\n    Redirect 308 /sites https://sites.toolforge.org\n    Redirect 308 /siteviews https://siteviews.toolforge.org\n    Redirect gone /siwiki\n    Redirect 308 /sixdegrees https://sixdegrees.toolforge.org\n    Redirect 308 /slakrtools https://slakrtools.toolforge.org\n    Redirect 308 /sleepybot https://sleepybot.toolforge.org\n    Redirect 308 /slf https://slf.toolforge.org\n    Redirect gone /slipjack\n    Redirect gone /slow-parse\n    Redirect 308 /slumpartikel https://slumpartikel.toolforge.org\n    Redirect 308 /smv-description-translations https://smv-description-translations.toolforge.org\n    Redirect 308 /sn1pebot https://sn1pebot.toolforge.org\n    Redirect 308 /snaevar-bot https://snaevar-bot.toolforge.org\n    Redirect 308 /snapshots https://snapshots.toolforge.org\n    Redirect gone /snowolf\n    Redirect 308 /socksfinder https://socksfinder.toolforge.org\n    Redirect 308 /sonarqubebot https://sonarqubebot.toolforge.org\n    Redirect 308 /soni https://soni.toolforge.org\n    Redirect 308 /sonitool https://sonitool.toolforge.org\n    Redirect 308 /sourcemd https://sourcemd.toolforge.org\n    Redirect 308 /southparkfan https://southparkfan.toolforge.org\n    Redirect gone /soweego\n    Redirect 308 /sowhy https://sowhy.toolforge.org\n    Redirect 308 /sp1 https://sp1.toolforge.org\n    Redirect 308 /spacemedia https://spacemedia.toolforge.org\n    Redirect 308 /spamforbreakfast https://spamforbreakfast.toolforge.org\n    Redirect 308 /spamwatch https://spamwatch.toolforge.org\n    Redirect 308 /sparqlblocks https://sparqlblocks.toolforge.org\n    Redirect 308 /sparrow https://sparrow.toolforge.org\n    Redirect 308 /spbot https://spbot.toolforge.org\n    Redirect gone /spdx\n    Redirect 308 /speedpatrolling https://speedpatrolling.toolforge.org\n    Redirect gone /speed-patrolling\n    Redirect 308 /speedydeletionwikia https://speedydeletionwikia.toolforge.org\n    Redirect 308 /spellbot https://spellbot.toolforge.org\n    Redirect 308 /spellbot-dev https://spellbot-dev.toolforge.org\n    Redirect 308 /spellcheck https://spellcheck.toolforge.org\n    Redirect 308 /sphinxcapt-leaderboard https://sphinxcapt-leaderboard.toolforge.org\n    Redirect 308 /spiarticleanalyzer https://spiarticleanalyzer.toolforge.org\n    Redirect 308 /spi-tools https://spi-tools.toolforge.org\n    Redirect 308 /spi-tools-dev https://spi-tools-dev.toolforge.org\n    Redirect 308 /splinetools https://splinetools.toolforge.org\n    Redirect 308 /sqid https://sqid.toolforge.org\n    Redirect 308 /sql-optimizer https://sql-optimizer.toolforge.org\n    Redirect 308 /sqoop-tool https://sqoop-tool.toolforge.org\n    Redirect 308 /squirrelnestbot https://squirrelnestbot.toolforge.org\n    Redirect gone /squirrelnest-upf\n    Redirect 308 /srish https://srish.toolforge.org\n    Redirect gone /srr-sandbox\n    Redirect 308 /srwiki https://srwiki.toolforge.org\n    Redirect gone /srwiki-dev\n    Redirect 308 /stabilizerbot https://stabilizerbot.toolforge.org\n    Redirect gone /stang\n    Redirect 308 /stashbot https://stashbot.toolforge.org\n    Redirect 308 /static https://static.toolforge.org\n    Redirect 308 /static-browser https://static-browser.toolforge.org\n    Redirect gone /static-bz\n    Redirect 308 /statistics https://statistics.toolforge.org\n    Redirect gone /statistics-api\n    Redirect 308 /statisticsbot https://statisticsbot.toolforge.org\n    Redirect gone /stats\n    Redirect 308 /status https://status.toolforge.org\n    Redirect 308 /steinsplitter https://steinsplitter.toolforge.org\n    Redirect 308 /steinsplitter2 https://steinsplitter2.toolforge.org\n    Redirect 308 /stemmeberettigelse https://stemmeberettigelse.toolforge.org\n    Redirect 308 /stereoskopie https://stereoskopie.toolforge.org\n    Redirect 308 /stewardbots https://stewardbots.toolforge.org\n    Redirect gone /stewbots\n    Redirect 308 /stimmberechtigung https://stimmberechtigung.toolforge.org\n    Redirect 308 /stockholm-mania https://stockholm-mania.toolforge.org\n    Redirect 308 /stradbot https://stradbot.toolforge.org\n    Redirect 308 /strephit https://strephit.toolforge.org\n    Redirect gone /strikertest2017-08-23\n    Redirect gone /stub\n    Redirect 308 /studiesworld https://studiesworld.toolforge.org\n    Redirect 308 /stwalkerster https://stwalkerster.toolforge.org\n    Redirect gone /styleguide\n    Redirect 308 /stylize https://stylize.toolforge.org\n    Redirect 308 /submitter https://submitter.toolforge.org\n    Redirect gone /suchaserver\n    Redirect 308 /suggestbot https://suggestbot.toolforge.org\n    Redirect 308 /suggestor https://suggestor.toolforge.org\n    Redirect 308 /suha https://suha.toolforge.org\n    Redirect 308 /sulinfo https://sulinfo.toolforge.org\n    Redirect 308 /summary-generator https://summary-generator.toolforge.org\n    Redirect 308 /super-admin-bot https://super-admin-bot.toolforge.org\n    Redirect 308 /supercount https://supercount.toolforge.org\n    Redirect 308 /superyetkin https://superyetkin.toolforge.org\n    Redirect 308 /superzerocool https://superzerocool.toolforge.org\n    Redirect 308 /suyash-sandarbh https://suyash-sandarbh.toolforge.org\n    Redirect 308 /svenbot https://svenbot.toolforge.org\n    Redirect 308 /svgcheck https://svgcheck.toolforge.org\n    Redirect 308 /svgedit https://svgedit.toolforge.org\n    Redirect gone /svgedit-dashboard\n    Redirect 308 /svg-map-maker https://svg-map-maker.toolforge.org\n    Redirect 308 /svgtranslate https://svgtranslate.toolforge.org\n    Redirect 308 /svgtranslate-test https://svgtranslate-test.toolforge.org\n    Redirect 308 /svgworkaroundbot https://svgworkaroundbot.toolforge.org\n    Redirect 308 /svwikihostbot https://svwikihostbot.toolforge.org\n    Redirect 308 /svwiktionary https://svwiktionary.toolforge.org\n    Redirect 308 /swedishforsamling https://swedishforsamling.toolforge.org\n    Redirect 308 /swviewer https://swviewer.toolforge.org\n    Redirect 308 /sybot51 https://sybot51.toolforge.org\n    Redirect 308 /symabot https://symabot.toolforge.org\n    Redirect 308 /symacbot https://symacbot.toolforge.org\n    Redirect gone /sync-badges\n    Redirect 308 /t13bot https://t13bot.toolforge.org\n    Redirect 308 /t187305-demo https://t187305-demo.toolforge.org\n    Redirect gone /t1943bot\n    Redirect 308 /tabernacle https://tabernacle.toolforge.org\n    Redirect 308 /tabletop https://tabletop.toolforge.org\n    Redirect 308 /tabular-wikidata https://tabular-wikidata.toolforge.org\n    Redirect 308 /tabulist https://tabulist.toolforge.org\n    Redirect 308 /tahir https://tahir.toolforge.org\n    Redirect gone /taim-bot\n    Redirect 308 /tamilwikitools https://tamilwikitools.toolforge.org\n    Redirect 308 /tantan-www https://tantan-www.toolforge.org\n    Redirect 308 /taqpol-test https://taqpol-test.toolforge.org\n    Redirect 308 /tarrow-dev https://tarrow-dev.toolforge.org\n    Redirect 308 /tasmania https://tasmania.toolforge.org\n    Redirect gone /taweetham\n    Redirect 308 /taxobot https://taxobot.toolforge.org\n    Redirect 308 /taxoboxalyzer https://taxoboxalyzer.toolforge.org\n    Redirect 308 /taxonbot https://taxonbot.toolforge.org\n    Redirect 308 /taxonbota https://taxonbota.toolforge.org\n    Redirect 308 /taxonkatbot https://taxonkatbot.toolforge.org\n    Redirect 308 /tb-dev https://tb-dev.toolforge.org\n    Redirect 308 /tbloemink https://tbloemink.toolforge.org\n    Redirect 308 /tc-rc https://tc-rc.toolforge.org\n    Redirect 308 /tedbot https://tedbot.toolforge.org\n    Redirect 308 /teg https://teg.toolforge.org\n    Redirect gone /tei2wikitext\n    Redirect gone /telefabot\n    Redirect 308 /telegrambot https://telegrambot.toolforge.org\n    Redirect 308 /telegram-wikilinksbot https://telegram-wikilinksbot.toolforge.org\n    Redirect gone /telnet\n    Redirect gone /templatecheck\n    Redirect 308 /templatecount https://templatecount.toolforge.org\n    Redirect gone /templatedata-filler\n    Redirect 308 /templatehoard https://templatehoard.toolforge.org\n    Redirect 308 /templatetiger https://templatetiger.toolforge.org\n    Redirect 308 /templatetransclusioncheck https://templatetransclusioncheck.toolforge.org\n    Redirect 308 /templator https://templator.toolforge.org\n    Redirect 308 /tenst https://tenst.toolforge.org\n    Redirect 308 /tessdata https://tessdata.toolforge.org\n    Redirect gone /tesseract-ocr-service\n    Redirect 308 /test https://test.toolforge.org\n    Redirect 308 /test0 https://test0.toolforge.org\n    Redirect gone /test001\n    Redirect gone /test2\n    Redirect gone /test3\n    Redirect 308 /test999 https://test999.toolforge.org\n    Redirect 308 /test-generic-webservice https://test-generic-webservice.toolforge.org\n    Redirect gone /testingtool\n    Redirect 308 /test-lighttpd-precise https://test-lighttpd-precise.toolforge.org\n    Redirect gone /test-lighttpd-trusty\n    Redirect 308 /test-music1201 https://test-music1201.toolforge.org\n    Redirect gone /test-stats\n    Redirect gone /test-t188680\n    Redirect 308 /test-tool https://test-tool.toolforge.org\n    Redirect 308 /testtool-101 https://testtool-101.toolforge.org\n    Redirect 308 /test-vvv https://test-vvv.toolforge.org\n    Redirect gone /test-webservice-generic\n    Redirect gone /testwiki\n    Redirect gone /testwikis\n    Redirect 308 /testwikistats https://testwikistats.toolforge.org\n    Redirect 308 /tewptrends https://tewptrends.toolforge.org\n    Redirect 308 /texbot https://texbot.toolforge.org\n    Redirect gone /text2hash\n    Redirect 308 /textcatdemo https://textcatdemo.toolforge.org\n    Redirect 308 /tfaprotbot https://tfaprotbot.toolforge.org\n    Redirect gone /tgwikibot\n    Redirect 308 /thanatos https://thanatos.toolforge.org\n    Redirect 308 /thankyou https://thankyou.toolforge.org\n    Redirect 308 /thebook https://thebook.toolforge.org\n    Redirect 308 /thedavetool https://thedavetool.toolforge.org\n    Redirect 308 /thedavetools https://thedavetools.toolforge.org\n    Redirect gone /thehelpfulbot\n    Redirect gone /themesquitobot\n    Redirect gone /theoslittlebot\n    Redirect 308 /thesandbot https://thesandbot.toolforge.org\n    Redirect 308 /thibaut120094 https://thibaut120094.toolforge.org\n    Redirect 308 /thibtools https://thibtools.toolforge.org\n    Redirect 308 /thparkthsql https://thparkthsql.toolforge.org\n    Redirect gone /threed2commons\n    Redirect gone /tichy\n    Redirect 308 /tilde https://tilde.toolforge.org\n    Redirect 308 /tilescraper https://tilescraper.toolforge.org\n    Redirect 308 /time-convertor https://time-convertor.toolforge.org\n    Redirect 308 /timerelengteam https://timerelengteam.toolforge.org\n    Redirect 308 /timescale https://timescale.toolforge.org\n    Redirect 308 /title-search https://title-search.toolforge.org\n    Redirect 308 /tivenbot https://tivenbot.toolforge.org\n    Redirect 308 /tmg https://tmg.toolforge.org\n    Redirect 308 /toc https://toc.toolforge.org\n    Redirect 308 /tom29739-testing https://tom29739-testing.toolforge.org\n    Redirect gone /tombot3\n    Redirect gone /tomthirteen\n    Redirect gone /tool\n    Redirect 308 /tool123 https://tool123.toolforge.org\n    Redirect 308 /tool-account https://tool-account.toolforge.org\n    Redirect 308 /tool-db-usage https://tool-db-usage.toolforge.org\n    Redirect 308 /toolflow https://toolflow.toolforge.org\n    Redirect 308 /toolforge https://toolforge.toolforge.org\n    Redirect 308 /toolforge-gallery https://toolforge-gallery.toolforge.org\n    Redirect 308 /tool-gallery https://tool-gallery.toolforge.org\n    Redirect 308 /toolhub https://toolhub.toolforge.org\n    Redirect 308 /tool-log-stats https://tool-log-stats.toolforge.org\n    Redirect 308 /toolpilot https://toolpilot.toolforge.org\n    Redirect gone /tools\n    Redirect 308 /toolschecker https://toolschecker.toolforge.org\n    Redirect gone /toolschecker-ge-ws\n    Redirect gone /toolschecker-k8s-ws\n    Redirect 308 /toolscript https://toolscript.toolforge.org\n    Redirect 308 /tools-dashboard https://tools-dashboard.toolforge.org\n    Redirect 308 /toolserver https://toolserver.toolforge.org\n    Redirect gone /toolserverdb\n    Redirect 308 /toolserver-home-archive https://toolserver-home-archive.toolforge.org\n    Redirect 308 /tools-gallery https://tools-gallery.toolforge.org\n    Redirect 308 /tools-info https://tools-info.toolforge.org\n    Redirect 308 /tooltranslate https://tooltranslate.toolforge.org\n    Redirect 308 /toolviews https://toolviews.toolforge.org\n    Redirect 308 /top500importer https://top500importer.toolforge.org\n    Redirect 308 /topic-finder https://topic-finder.toolforge.org\n    Redirect 308 /topicmatcher https://topicmatcher.toolforge.org\n    Redirect 308 /topviews https://topviews.toolforge.org\n    Redirect gone /topviews-test\n    Redirect gone /torintool\n    Redirect 308 /torproxy https://torproxy.toolforge.org\n    Redirect 308 /totoazero https://totoazero.toolforge.org\n    Redirect 308 /tour https://tour.toolforge.org\n    Redirect 308 /tpbot https://tpbot.toolforge.org\n    Redirect 308 /tptools https://tptools.toolforge.org\n    Redirect 308 /traffic-grapher https://traffic-grapher.toolforge.org\n    Redirect 308 /train-blockers https://train-blockers.toolforge.org\n    Redirect 308 /translate https://translate.toolforge.org\n    Redirect 308 /translate-bot https://translate-bot.toolforge.org\n    Redirect 308 /translate-category https://translate-category.toolforge.org\n    Redirect 308 /translatemplate https://translatemplate.toolforge.org\n    Redirect gone /translation-server\n    Redirect 308 /tree-of-life https://tree-of-life.toolforge.org\n    Redirect 308 /trend https://trend.toolforge.org\n    Redirect gone /tristessa\n    Redirect gone /tronbot\n    Redirect gone /trusty-deprecation\n    Redirect gone /trusty-tools\n    Redirect 308 /tsbot https://tsbot.toolforge.org\n    Redirect 308 /tsreports https://tsreports.toolforge.org\n    Redirect 308 /tsreports-dev https://tsreports-dev.toolforge.org\n    Redirect gone /tts\n    Redirect 308 /tts-comparison https://tts-comparison.toolforge.org\n    Redirect 308 /ttt https://ttt.toolforge.org\n    Redirect 308 /tulsibot https://tulsibot.toolforge.org\n    Redirect 308 /tusc https://tusc.toolforge.org\n    Redirect 308 /tweep https://tweep.toolforge.org\n    Redirect 308 /twinkle https://twinkle.toolforge.org\n    Redirect 308 /twitterbot https://twitterbot.toolforge.org\n    Redirect 308 /twitter-retweet-bot https://twitter-retweet-bot.toolforge.org\n    Redirect 308 /twitter-to-commons https://twitter-to-commons.toolforge.org\n    Redirect 308 /twl https://twl.toolforge.org\n    Redirect gone /twl17\n    Redirect 308 /twlbot https://twlbot.toolforge.org\n    Redirect 308 /twltools https://twltools.toolforge.org\n    Redirect gone /typo-categorizer\n    Redirect 308 /typos https://typos.toolforge.org\n    Redirect 308 /typoscan https://typoscan.toolforge.org\n    Redirect gone /uaachecker\n    Redirect 308 /ukbot https://ukbot.toolforge.org\n    Redirect 308 /ukwiki-analysis https://ukwiki-analysis.toolforge.org\n    Redirect 308 /unblock https://unblock.toolforge.org\n    Redirect 308 /unblockbot https://unblockbot.toolforge.org\n    Redirect gone /unique\n    Redirect 308 /universalviewer https://universalviewer.toolforge.org\n    Redirect 308 /un-ocha-maps https://un-ocha-maps.toolforge.org\n    Redirect gone /unpatrollededitstats\n    Redirect 308 /unpaywall-importer https://unpaywall-importer.toolforge.org\n    Redirect 308 /unpkg https://unpkg.toolforge.org\n    Redirect gone /uploadhelper-ir\n    Redirect 308 /upload-stats-bot https://upload-stats-bot.toolforge.org\n    Redirect 308 /urbanecmbot https://urbanecmbot.toolforge.org\n    Redirect 308 /urbanecm-test-1 https://urbanecm-test-1.toolforge.org\n    Redirect 308 /urdubot https://urdubot.toolforge.org\n    Redirect 308 /urdusign https://urdusign.toolforge.org\n    Redirect 308 /urduspellchecker https://urduspellchecker.toolforge.org\n    Redirect 308 /url2commons https://url2commons.toolforge.org\n    Redirect 308 /url-converter https://url-converter.toolforge.org\n    Redirect 308 /urlinktranslator https://urlinktranslator.toolforge.org\n    Redirect gone /us\n    Redirect 308 /usage https://usage.toolforge.org\n    Redirect 308 /user https://user.toolforge.org\n    Redirect gone /user-activity\n    Redirect 308 /user-contributions-feed https://user-contributions-feed.toolforge.org\n    Redirect gone /useredit\n    Redirect gone /useredit2\n    Redirect gone /useredits\n    Redirect gone /useredits1\n    Redirect 308 /usergraph https://usergraph.toolforge.org\n    Redirect gone /user-id\n    Redirect 308 /userimpact https://userimpact.toolforge.org\n    Redirect 308 /usernamesearch https://usernamesearch.toolforge.org\n    Redirect gone /userrank\n    Redirect 308 /usersearch https://usersearch.toolforge.org\n    Redirect 308 /user-stats https://user-stats.toolforge.org\n    Redirect 308 /userviews https://userviews.toolforge.org\n    Redirect gone /usrd-tools\n    Redirect 308 /usualsuspects https://usualsuspects.toolforge.org\n    Redirect gone /ut-bot\n    Redirect gone /ut-interwiki-bot\n    Redirect gone /ut-iw-bot\n    Redirect gone /vagrant2\n    Redirect gone /vagrant-test\n    Redirect 308 /valhallasw-testing-tool https://valhallasw-testing-tool.toolforge.org\n    Redirect 308 /validator https://validator.toolforge.org\n    Redirect 308 /valstat https://valstat.toolforge.org\n    Redirect 308 /valutabot https://valutabot.toolforge.org\n    Redirect 308 /vcat https://vcat.toolforge.org\n    Redirect 308 /veblenbot https://veblenbot.toolforge.org\n    Redirect 308 /vector-dark https://vector-dark.toolforge.org\n    Redirect 308 /vectorizer https://vectorizer.toolforge.org\n    Redirect 308 /veertje-tools https://veertje-tools.toolforge.org\n    Redirect gone /vendor\n    Redirect 308 /verb-import-game https://verb-import-game.toolforge.org\n    Redirect 308 /verification-pages https://verification-pages.toolforge.org\n    Redirect 308 /versions https://versions.toolforge.org\n    Redirect 308 /viafbot https://viafbot.toolforge.org\n    Redirect 308 /vic https://vic.toolforge.org\n    Redirect 308 /video2commons https://video2commons.toolforge.org\n    Redirect 308 /video2commons-socketio https://video2commons-socketio.toolforge.org\n    Redirect 308 /video2commons-test https://video2commons-test.toolforge.org\n    Redirect 308 /video-cat-bot https://video-cat-bot.toolforge.org\n    Redirect 308 /videoconvert https://videoconvert.toolforge.org\n    Redirect 308 /videoconvertion https://videoconvertion.toolforge.org\n    Redirect gone /video-cut-tool\n    Redirect gone /video-cut-tool-back-end\n    Redirect gone /video-cut-tool-front-end\n    Redirect 308 /videotutorials https://videotutorials.toolforge.org\n    Redirect gone /vipbot\n    Redirect gone /vip-space-media\n    Redirect 308 /vishwin https://vishwin.toolforge.org\n    Redirect 308 /visualcategories https://visualcategories.toolforge.org\n    Redirect 308 /visualeditor https://visualeditor.toolforge.org\n    Redirect 308 /vitalarticlesbot https://vitalarticlesbot.toolforge.org\n    Redirect 308 /vizbot https://vizbot.toolforge.org\n    Redirect 308 /vltools https://vltools.toolforge.org\n    Redirect 308 /vocabulary-index https://vocabulary-index.toolforge.org\n    Redirect 308 /voiceintro https://voiceintro.toolforge.org\n    Redirect 308 /volby2wiki https://volby2wiki.toolforge.org\n    Redirect 308 /voxelbot https://voxelbot.toolforge.org\n    Redirect 308 /vrb https://vrb.toolforge.org\n    Redirect 308 /vtwo https://vtwo.toolforge.org\n    Redirect 308 /vuln-checker https://vuln-checker.toolforge.org\n    Redirect 308 /vvoters https://vvoters.toolforge.org\n    Redirect 308 /v-wiki https://v-wiki.toolforge.org\n    Redirect 308 /wafaashohdy https://wafaashohdy.toolforge.org\n    Redirect 308 /wahldiagramm https://wahldiagramm.toolforge.org\n    Redirect 308 /wahrani https://wahrani.toolforge.org\n    Redirect 308 /wakt https://wakt.toolforge.org\n    Redirect 308 /wakt-beta https://wakt-beta.toolforge.org\n    Redirect 308 /wam https://wam.toolforge.org\n    Redirect 308 /wam-article-suggestions https://wam-article-suggestions.toolforge.org\n    Redirect 308 /wanderwiki https://wanderwiki.toolforge.org\n    Redirect gone /wantedpages\n    Redirect gone /warped-to-iframe\n    Redirect 308 /watchr https://watchr.toolforge.org\n    Redirect 308 /watch-translations https://watch-translations.toolforge.org\n    Redirect 308 /watroles https://watroles.toolforge.org\n    Redirect 308 /wawewewi https://wawewewi.toolforge.org\n    Redirect 308 /wb2rdf https://wb2rdf.toolforge.org\n    Redirect 308 /wbwcalculator https://wbwcalculator.toolforge.org\n    Redirect 308 /wcam-bot https://wcam-bot.toolforge.org\n    Redirect 308 /wcdo https://wcdo.toolforge.org\n    Redirect 308 /wcna-2018-registration https://wcna-2018-registration.toolforge.org\n    Redirect 308 /wd-analysis https://wd-analysis.toolforge.org\n    Redirect 308 /wd-analyst https://wd-analyst.toolforge.org\n    Redirect gone /wdapi\n    Redirect 308 /wd-art https://wd-art.toolforge.org\n    Redirect 308 /wdbeoupdate https://wdbeoupdate.toolforge.org\n    Redirect gone /wd-books-cleaner\n    Redirect 308 /wdcat https://wdcat.toolforge.org\n    Redirect 308 /wd-constraints-precheck https://wd-constraints-precheck.toolforge.org\n    Redirect 308 /wd-depicts https://wd-depicts.toolforge.org\n    Redirect 308 /wdgraph https://wdgraph.toolforge.org\n    Redirect 308 /wdic https://wdic.toolforge.org\n    Redirect 308 /wdimagecheck https://wdimagecheck.toolforge.org\n    Redirect 308 /wd-image-positions https://wd-image-positions.toolforge.org\n    Redirect 308 /wdmap https://wdmap.toolforge.org\n    Redirect 308 /wdml https://wdml.toolforge.org\n    Redirect 308 /wdmm https://wdmm.toolforge.org\n    Redirect 308 /wdprop https://wdprop.toolforge.org\n    Redirect 308 /wdpv https://wdpv.toolforge.org\n    Redirect 308 /wdq2sparql https://wdq2sparql.toolforge.org\n    Redirect gone /wdq_checker\n    Redirect 308 /wdq-checker https://wdq-checker.toolforge.org\n    Redirect 308 /wdqs-tutorial https://wdqs-tutorial.toolforge.org\n    Redirect gone /wdqs-wmil-tutorial\n    Redirect 308 /wd-query-builder https://wd-query-builder.toolforge.org\n    Redirect 308 /wd-rank https://wd-rank.toolforge.org\n    Redirect 308 /wdrdr https://wdrdr.toolforge.org\n    Redirect 308 /wdreconcile https://wdreconcile.toolforge.org\n    Redirect 308 /wd-ref-island https://wd-ref-island.toolforge.org\n    Redirect 308 /wd-shex-infer https://wd-shex-infer.toolforge.org\n    Redirect 308 /wdumps https://wdumps.toolforge.org\n    Redirect 308 /wdvaliditycheck https://wdvaliditycheck.toolforge.org\n    Redirect 308 /wdvd https://wdvd.toolforge.org\n    Redirect 308 /wd-word-cloud https://wd-word-cloud.toolforge.org\n    Redirect 308 /weapon-of-mass-description https://weapon-of-mass-description.toolforge.org\n    Redirect 308 /weapon-of-mass-description-test https://weapon-of-mass-description-test.toolforge.org\n    Redirect gone /weather\n    Redirect 308 /webarchivebot https://webarchivebot.toolforge.org\n    Redirect gone /webchat\n    Redirect 308 /weeklypedia https://weeklypedia.toolforge.org\n    Redirect 308 /welcomebot https://welcomebot.toolforge.org\n    Redirect 308 /welcomebots-bn https://welcomebots-bn.toolforge.org\n    Redirect 308 /wembedder https://wembedder.toolforge.org\n    Redirect 308 /wfind https://wfind.toolforge.org\n    Redirect 308 /whichsub https://whichsub.toolforge.org\n    Redirect 308 /whodunnit https://whodunnit.toolforge.org\n    Redirect 308 /whois https://whois.toolforge.org\n    Redirect 308 /whois-referral https://whois-referral.toolforge.org\n    Redirect 308 /whois-referral-dev https://whois-referral-dev.toolforge.org\n    Redirect 308 /whymbot https://whymbot.toolforge.org\n    Redirect 308 /widar https://widar.toolforge.org\n    Redirect 308 /wigi https://wigi.toolforge.org\n    Redirect gone /wiki\n    Redirect 308 /wiki13 https://wiki13.toolforge.org\n    Redirect 308 /wiki17an-watcher https://wiki17an-watcher.toolforge.org\n    Redirect 308 /wiki2email https://wiki2email.toolforge.org\n    Redirect 308 /wiki2html https://wiki2html.toolforge.org\n    Redirect 308 /wiki2prop https://wiki2prop.toolforge.org\n    Redirect 308 /wiki3d https://wiki3d.toolforge.org\n    Redirect gone /wiki-android-apps\n    Redirect 308 /wikiarthistory https://wikiarthistory.toolforge.org\n    Redirect 308 /wiki-as-git https://wiki-as-git.toolforge.org\n    Redirect 308 /wikiatlas2014 https://wikiatlas2014.toolforge.org\n    Redirect gone /wikibase-databridge-storybook\n    Redirect 308 /wikibase-nearest-neighbors https://wikibase-nearest-neighbors.toolforge.org\n    Redirect 308 /wikibase-preview https://wikibase-preview.toolforge.org\n    Redirect 308 /wikibase-termbox-storybook https://wikibase-termbox-storybook.toolforge.org\n    Redirect 308 /wikibattle https://wikibattle.toolforge.org\n    Redirect 308 /wikiblame https://wikiblame.toolforge.org\n    Redirect 308 /wikibookassamese https://wikibookassamese.toolforge.org\n    Redirect gone /wikibot\n    Redirect 308 /wikibugs https://wikibugs.toolforge.org\n    Redirect 308 /wikicaptcha https://wikicaptcha.toolforge.org\n    Redirect 308 /wikicite-dashboard https://wikicite-dashboard.toolforge.org\n    Redirect gone /wikicitevis\n    Redirect 308 /wikicontest https://wikicontest.toolforge.org\n    Redirect 308 /wikicontrib https://wikicontrib.toolforge.org\n    Redirect 308 /wikicup https://wikicup.toolforge.org\n    Redirect 308 /wikidata-analysis https://wikidata-analysis.toolforge.org\n    Redirect 308 /wikidata-annotation-tool https://wikidata-annotation-tool.toolforge.org\n    Redirect 308 /wikidata-compare https://wikidata-compare.toolforge.org\n    Redirect 308 /wikidata-delinker https://wikidata-delinker.toolforge.org\n    Redirect 308 /wikidata-edits https://wikidata-edits.toolforge.org\n    Redirect gone /wikidata-exports\n    Redirect 308 /wikidata-externalid-url https://wikidata-externalid-url.toolforge.org\n    Redirect 308 /wikidata-game https://wikidata-game.toolforge.org\n    Redirect 308 /wikidatagroup https://wikidatagroup.toolforge.org\n    Redirect 308 /wikidata-janitor https://wikidata-janitor.toolforge.org\n    Redirect 308 /wikidata-map https://wikidata-map.toolforge.org\n    Redirect 308 /wikidata-nolabels https://wikidata-nolabels.toolforge.org\n    Redirect 308 /wikidata-primary-sources https://wikidata-primary-sources.toolforge.org\n    Redirect 308 /wikidata-reconcile https://wikidata-reconcile.toolforge.org\n    Redirect 308 /wikidata-redirects-conflicts-reports https://wikidata-redirects-conflicts-reports.toolforge.org\n    Redirect 308 /wikidata-slicer https://wikidata-slicer.toolforge.org\n    Redirect 308 /wikidata-terminator https://wikidata-terminator.toolforge.org\n    Redirect 308 /wikidata-timeline https://wikidata-timeline.toolforge.org\n    Redirect 308 /wikidata-todo https://wikidata-todo.toolforge.org\n    Redirect 308 /wikidata-trends https://wikidata-trends.toolforge.org\n    Redirect gone /wikidiff2-dev-test\n    Redirect 308 /wikidipendenza https://wikidipendenza.toolforge.org\n    Redirect 308 /wikiedudashboard https://wikiedudashboard.toolforge.org\n    Redirect 308 /wikiedudashboard-test https://wikiedudashboard-test.toolforge.org\n    Redirect 308 /wikiemojibot https://wikiemojibot.toolforge.org\n    Redirect gone /wikifactmine-api\n    Redirect gone /wikifactmine-pipeline\n    Redirect 308 /wikifeeds https://wikifeeds.toolforge.org\n    Redirect 308 /wikifile-transfer https://wikifile-transfer.toolforge.org\n    Redirect 308 /wiki-geo https://wiki-geo.toolforge.org\n    Redirect 308 /wikigrade https://wikigrade.toolforge.org\n    Redirect 308 /wikigraph https://wikigraph.toolforge.org\n    Redirect 308 /wikigrok https://wikigrok.toolforge.org\n    Redirect 308 /wikihistory https://wikihistory.toolforge.org\n    Redirect 308 /wikihoaxbuster https://wikihoaxbuster.toolforge.org\n    Redirect 308 /wikiholic https://wikiholic.toolforge.org\n    Redirect 308 /wikiinfo https://wikiinfo.toolforge.org\n    Redirect 308 /wikiintent https://wikiintent.toolforge.org\n    Redirect gone /wiki-irc\n    Redirect 308 /wikijourney https://wikijourney.toolforge.org\n    Redirect 308 /wikilaeum https://wikilaeum.toolforge.org\n    Redirect 308 /wikilinkbot https://wikilinkbot.toolforge.org\n    Redirect 308 /wikilint https://wikilint.toolforge.org\n    Redirect 308 /wikilist https://wikilist.toolforge.org\n    Redirect 308 /wikilogos https://wikilogos.toolforge.org\n    Redirect 308 /wikiloop https://wikiloop.toolforge.org\n    Redirect 308 /wikiloop-testflight https://wikiloop-testflight.toolforge.org\n    Redirect 308 /wikiloves https://wikiloves.toolforge.org\n    Redirect 308 /wikilovesdownloads https://wikilovesdownloads.toolforge.org\n    Redirect gone /wiki-loves-earth-2019\n    Redirect 308 /wikiloveslove https://wikiloveslove.toolforge.org\n    Redirect 308 /wikimap https://wikimap.toolforge.org\n    Redirect gone /wikimediadc\n    Redirect 308 /wikimedia-france https://wikimedia-france.toolforge.org\n    Redirect 308 /wikimediaui-styleguide https://wikimediaui-styleguide.toolforge.org\n    Redirect 308 /wikiment https://wikiment.toolforge.org\n    Redirect 308 /wikimetrics https://wikimetrics.toolforge.org\n    Redirect 308 /wikimetrics-development https://wikimetrics-development.toolforge.org\n    Redirect 308 /wikimetrics-production https://wikimetrics-production.toolforge.org\n    Redirect 308 /wikimetrics-staging https://wikimetrics-staging.toolforge.org\n    Redirect 308 /wikiminiatlas https://wikiminiatlas.toolforge.org\n    Redirect 308 /wiki-needs-pictures https://wiki-needs-pictures.toolforge.org\n    Redirect 308 /wikinews https://wikinews.toolforge.org\n    Redirect 308 /wikinews-importer https://wikinews-importer.toolforge.org\n    Redirect 308 /wikinews-pagestats https://wikinews-pagestats.toolforge.org\n    Redirect 308 /wikinity https://wikinity.toolforge.org\n    Redirect 308 /wikinity-test https://wikinity-test.toolforge.org\n    Redirect 308 /wikintu https://wikintu.toolforge.org\n    Redirect 308 /wiki-osm-markers https://wiki-osm-markers.toolforge.org\n    Redirect 308 /wikioverdata https://wikioverdata.toolforge.org\n    Redirect gone /wikipagestats\n    Redirect gone /wikipathways2wiki\n    Redirect gone /wikipedia-android-builds\n    Redirect 308 /wikipedia-contributor-locations https://wikipedia-contributor-locations.toolforge.org\n    Redirect 308 /wikipedia-fetch-content https://wikipedia-fetch-content.toolforge.org\n    Redirect gone /wikipedia-library\n    Redirect gone /wikipedia-readability\n    Redirect 308 /wikipedia-zh-irc-query https://wikipedia-zh-irc-query.toolforge.org\n    Redirect 308 /wikipedia-zh-message-transport https://wikipedia-zh-message-transport.toolforge.org\n    Redirect 308 /wikipheme https://wikipheme.toolforge.org\n    Redirect 308 /wikiplayer https://wikiplayer.toolforge.org\n    Redirect 308 /wikiportretdev https://wikiportretdev.toolforge.org\n    Redirect 308 /wikiprovenance https://wikiprovenance.toolforge.org\n    Redirect gone /wikipulse\n    Redirect 308 /wikiradio https://wikiradio.toolforge.org\n    Redirect 308 /wikiresearch https://wikiresearch.toolforge.org\n    Redirect 308 /wiki-retweet-bot https://wiki-retweet-bot.toolforge.org\n    Redirect 308 /wikiscanner https://wikiscanner.toolforge.org\n    Redirect 308 /wikisense https://wikisense.toolforge.org\n    Redirect 308 /wikishield https://wikishield.toolforge.org\n    Redirect 308 /wikishootme https://wikishootme.toolforge.org\n    Redirect 308 /wikisoba https://wikisoba.toolforge.org\n    Redirect gone /wikisource-api\n    Redirect 308 /wikisource-bot https://wikisource-bot.toolforge.org\n    Redirect gone /wikisource-penguin-classics\n    Redirect 308 /wikisource-tweets https://wikisource-tweets.toolforge.org\n    Redirect 308 /wikistats https://wikistats.toolforge.org\n    Redirect 308 /wikistreak https://wikistreak.toolforge.org\n    Redirect 308 /wikistream https://wikistream.toolforge.org\n    Redirect 308 /wikistreams https://wikistreams.toolforge.org\n    Redirect 308 /wikitable https://wikitable.toolforge.org\n    Redirect 308 /wikitabs https://wikitabs.toolforge.org\n    Redirect gone /wiki-talk\n    Redirect gone /wiki-talk2\n    Redirect 308 /wikitanvirbot https://wikitanvirbot.toolforge.org\n    Redirect 308 /wiki-task-locator https://wiki-task-locator.toolforge.org\n    Redirect 308 /wikitasks https://wikitasks.toolforge.org\n    Redirect 308 /wikitei https://wikitei.toolforge.org\n    Redirect 308 /wiki-tennis https://wiki-tennis.toolforge.org\n    Redirect 308 /wikitest-rtl https://wikitest-rtl.toolforge.org\n    Redirect 308 /wikitext-deprecation https://wikitext-deprecation.toolforge.org\n    Redirect 308 /wikitime https://wikitime.toolforge.org\n    Redirect 308 /wiki-todo https://wiki-todo.toolforge.org\n    Redirect gone /wikitool\n    Redirect 308 /wikitools https://wikitools.toolforge.org\n    Redirect 308 /wiki-topic https://wiki-topic.toolforge.org\n    Redirect gone /wikitranslator\n    Redirect 308 /wikitree https://wikitree.toolforge.org\n    Redirect 308 /wikitrends https://wikitrends.toolforge.org\n    Redirect 308 /wikitrip https://wikitrip.toolforge.org\n    Redirect 308 /wikitweets https://wikitweets.toolforge.org\n    Redirect 308 /wikiviewstats https://wikiviewstats.toolforge.org\n    Redirect 308 /wikiviewstats2 https://wikiviewstats2.toolforge.org\n    Redirect 308 /wikivisualization https://wikivisualization.toolforge.org\n    Redirect 308 /wikiviz https://wikiviz.toolforge.org\n    Redirect 308 /wikivoyage https://wikivoyage.toolforge.org\n    Redirect 308 /wikiwatchdog https://wikiwatchdog.toolforge.org\n    Redirect 308 /wikiwhatsappbot https://wikiwhatsappbot.toolforge.org\n    Redirect 308 /wikiwho https://wikiwho.toolforge.org\n    Redirect 308 /wiki-zulip-bot https://wiki-zulip-bot.toolforge.org\n    Redirect 308 /wiktioutils https://wiktioutils.toolforge.org\n    Redirect 308 /wikt-mwtest https://wikt-mwtest.toolforge.org\n    Redirect 308 /wikyrillomat https://wikyrillomat.toolforge.org\n    Redirect 308 /william-avery-bot https://william-avery-bot.toolforge.org\n    Redirect 308 /winput https://winput.toolforge.org\n    Redirect 308 /winter https://winter.toolforge.org\n    Redirect 308 /wiper https://wiper.toolforge.org\n    Redirect 308 /wiper-languagetool https://wiper-languagetool.toolforge.org\n    Redirect 308 /withoutaname https://withoutaname.toolforge.org\n    Redirect 308 /wits https://wits.toolforge.org\n    Redirect 308 /wiwosm https://wiwosm.toolforge.org\n    Redirect 308 /wizarbot https://wizarbot.toolforge.org\n    Redirect 308 /wle https://wle.toolforge.org\n    Redirect 308 /wlm https://wlm.toolforge.org\n    Redirect 308 /wlm-analytics https://wlm-analytics.toolforge.org\n    Redirect gone /wlm-de-redirect\n    Redirect 308 /wlm-de-utils https://wlm-de-utils.toolforge.org\n    Redirect gone /wlmin\n    Redirect 308 /wlm-italy https://wlm-italy.toolforge.org\n    Redirect 308 /wlmitaly2019 https://wlmitaly2019.toolforge.org\n    Redirect 308 /wlmjudging https://wlmjudging.toolforge.org\n    Redirect gone /wlm-jury-at\n    Redirect gone /wlm-jury-yarl\n    Redirect 308 /wlm-maps https://wlm-maps.toolforge.org\n    Redirect 308 /wlm-nl-table-gen https://wlm-nl-table-gen.toolforge.org\n    Redirect 308 /wlmpacommonscat https://wlmpacommonscat.toolforge.org\n    Redirect 308 /wlm-stats https://wlm-stats.toolforge.org\n    Redirect 308 /wlmtrafo https://wlmtrafo.toolforge.org\n    Redirect 308 /wlmuk https://wlmuk.toolforge.org\n    Redirect gone /wlmus\n    Redirect 308 /wlm-us https://wlm-us.toolforge.org\n    Redirect 308 /wlxjury https://wlxjury.toolforge.org\n    Redirect 308 /wm-bot https://wm-bot.toolforge.org\n    Redirect 308 /wm-cee-spring https://wm-cee-spring.toolforge.org\n    Redirect 308 /wmcharts https://wmcharts.toolforge.org\n    Redirect 308 /wm-commons-emoji-bot https://wm-commons-emoji-bot.toolforge.org\n    Redirect 308 /wmcounter https://wmcounter.toolforge.org\n    Redirect gone /wmcsbot\n    Redirect 308 /wmcz https://wmcz.toolforge.org\n    Redirect 308 /wmde-access https://wmde-access.toolforge.org\n    Redirect gone /wmde-editconflict-test\n    Redirect gone /wmde-graphql-demo\n    Redirect gone /wmde-inline-movedparagraphs\n    Redirect gone /wmde-reference-previews\n    Redirect gone /wmde-uca-test\n    Redirect 308 /wmde-wd-team https://wmde-wd-team.toolforge.org\n    Redirect gone /wmfdbbot\n    Redirect gone /wmflabs-collection\n    Redirect 308 /wmf-sitematrix https://wmf-sitematrix.toolforge.org\n    Redirect gone /wmf-task-samtar\n    Redirect 308 /wmf-wiki-info https://wmf-wiki-info.toolforge.org\n    Redirect 308 /wmit https://wmit.toolforge.org\n    Redirect 308 /wmk-dev https://wmk-dev.toolforge.org\n    Redirect 308 /wmk-tools https://wmk-tools.toolforge.org\n    Redirect 308 /wm-metrics https://wm-metrics.toolforge.org\n    Redirect 308 /wmopbot https://wmopbot.toolforge.org\n    Redirect 308 /wmpt https://wmpt.toolforge.org\n    Redirect 308 /wmtran https://wmtran.toolforge.org\n    Redirect 308 /wmukevents https://wmukevents.toolforge.org\n    Redirect 308 /wmve https://wmve.toolforge.org\n    Redirect 308 /wmve-dev https://wmve-dev.toolforge.org\n    Redirect 308 /wm-ve-needcheck-reporter https://wm-ve-needcheck-reporter.toolforge.org\n    Redirect 308 /wnegar https://wnegar.toolforge.org\n    Redirect 308 /women-in-red https://women-in-red.toolforge.org\n    Redirect 308 /wordcount https://wordcount.toolforge.org\n    Redirect 308 /wordpile https://wordpile.toolforge.org\n    Redirect gone /wordtowiki\n    Redirect gone /wordtowiki-dev\n    Redirect 308 /worklist-tool https://worklist-tool.toolforge.org\n    Redirect gone /wpb\n    Redirect 308 /wpcleaner https://wpcleaner.toolforge.org\n    Redirect 308 /wpp https://wpp.toolforge.org\n    Redirect 308 /wprequests https://wprequests.toolforge.org\n    Redirect 308 /wp-signpost https://wp-signpost.toolforge.org\n    Redirect 308 /wptestblog https://wptestblog.toolforge.org\n    Redirect gone /wptestblog2\n    Redirect gone /wpv\n    Redirect 308 /wp-world https://wp-world.toolforge.org\n    Redirect 308 /wrating https://wrating.toolforge.org\n    Redirect 308 /wrcp https://wrcp.toolforge.org\n    Redirect gone /ws2wd\n    Redirect 308 /ws-cat-browser https://ws-cat-browser.toolforge.org\n    Redirect 308 /wscontest https://wscontest.toolforge.org\n    Redirect 308 /wsdetool https://wsdetool.toolforge.org\n    Redirect 308 /wsexport https://wsexport.toolforge.org\n    Redirect 308 /wsexport-test https://wsexport-test.toolforge.org\n    Redirect 308 /ws-google-ocr https://ws-google-ocr.toolforge.org\n    Redirect gone /w-slackbot\n    Redirect gone /wsm\n    Redirect 308 /ws-search https://ws-search.toolforge.org\n    Redirect 308 /wudele https://wudele.toolforge.org\n    Redirect 308 /wugbot https://wugbot.toolforge.org\n    Redirect 308 /www https://www.toolforge.org\n    Redirect gone /www-portal-builder\n    Redirect 308 /www-portal-staging https://www-portal-staging.toolforge.org\n    Redirect gone /wyimportbot\n    Redirect 308 /xdebugtesting https://xdebugtesting.toolforge.org\n    Redirect 308 /xdebugtesting1 https://xdebugtesting1.toolforge.org\n    Redirect 308 /xdebugtesting2 https://xdebugtesting2.toolforge.org\n    Redirect 308 /xecfork https://xecfork.toolforge.org\n    Redirect 308 /xfd-stats https://xfd-stats.toolforge.org\n    Redirect 308 /xiplus https://xiplus.toolforge.org\n    Redirect 308 /xlinkbot https://xlinkbot.toolforge.org\n    Redirect gone /xmlfeed\n    Redirect 308 /xn--dk8hv9g https://xn--dk8hv9g.toolforge.org\n    Redirect gone /xoxoxo-dev\n    Redirect 308 /xqtools https://xqtools.toolforge.org\n    Redirect gone /xslack\n    Redirect 308 /xstools https://xstools.toolforge.org\n    Redirect 308 /xtools https://xtools.toolforge.org\n    Redirect 308 /xtools-articleinfo https://xtools-articleinfo.toolforge.org\n    Redirect gone /xtools-autoedits\n    Redirect 308 /xtools-dev https://xtools-dev.toolforge.org\n    Redirect 308 /xtools-ec https://xtools-ec.toolforge.org\n    Redirect 308 /xtools-mab-dev https://xtools-mab-dev.toolforge.org\n    Redirect gone /xtools-pages\n    Redirect 308 /xxn-testtool https://xxn-testtool.toolforge.org\n    Redirect 308 /xxn-tools https://xxn-tools.toolforge.org\n    Redirect 308 /xyzbot https://xyzbot.toolforge.org\n    Redirect 308 /yabbr https://yabbr.toolforge.org\n    Redirect 308 /yabot https://yabot.toolforge.org\n    Redirect 308 /yacbot https://yacbot.toolforge.org\n    Redirect 308 /yadfa https://yadfa.toolforge.org\n    Redirect 308 /yadkard https://yadkard.toolforge.org\n    Redirect 308 /yapperbot https://yapperbot.toolforge.org\n    Redirect 308 /yarl https://yarl.toolforge.org\n    Redirect 308 /yashe https://yashe.toolforge.org\n    Redirect 308 /yellowbot https://yellowbot.toolforge.org\n    Redirect 308 /yellowcard https://yellowcard.toolforge.org\n    Redirect gone /yemen\n    Redirect 308 /yichengtry https://yichengtry.toolforge.org\n    Redirect 308 /yifeibot https://yifeibot.toolforge.org\n    Redirect 308 /yjsw https://yjsw.toolforge.org\n    Redirect 308 /youtube-channel https://youtube-channel.toolforge.org\n    Redirect 308 /ytcleaner https://ytcleaner.toolforge.org\n    Redirect gone /ytrb\n    Redirect gone /yunomi\n    Redirect 308 /zayenbot https://zayenbot.toolforge.org\n    Redirect 308 /zbot https://zbot.toolforge.org\n    Redirect 308 /zedlikbot https://zedlikbot.toolforge.org\n    Redirect 308 /zenithbot https://zenithbot.toolforge.org\n    Redirect 308 /zerabot https://zerabot.toolforge.org\n    Redirect 308 /zhaofeng-test https://zhaofeng-test.toolforge.org\n    Redirect 308 /zhdeletionpedia https://zhdeletionpedia.toolforge.org\n    Redirect gone /zhnotofu\n    Redirect 308 /zhtest https://zhtest.toolforge.org\n    Redirect 308 /zhuyifei1999-test https://zhuyifei1999-test.toolforge.org\n    Redirect 308 /zhwiki https://zhwiki.toolforge.org\n    Redirect 308 /zhwiki-qualifications-check https://zhwiki-qualifications-check.toolforge.org\n    Redirect 308 /zhwiki-teleirc https://zhwiki-teleirc.toolforge.org\n    Redirect 308 /zhwiki-username-check https://zhwiki-username-check.toolforge.org\n    Redirect 308 /zimmerbot https://zimmerbot.toolforge.org\n    Redirect 308 /zkbot https://zkbot.toolforge.org\n    Redirect 308 /zonestamp https://zonestamp.toolforge.org\n    Redirect 308 /zoomable-images https://zoomable-images.toolforge.org\n    Redirect 308 /zoomproof https://zoomproof.toolforge.org\n    Redirect 308 /zoomviewer https://zoomviewer.toolforge.org\n    Redirect gone /zoranzoki21bot\n    Redirect gone /zoranzoki21wiki\n    Redirect gone /zppixbot\n    Redirect gone /zppixbot-test\n    Redirect 308 /zumraband https://zumraband.toolforge.org\n    Redirect 308 /zurichpopulation https://zurichpopulation.toolforge.org\n    Redirect 308 /zygimantus-dev https://zygimantus-dev.toolforge.org\n    Redirect 308 /zygserv https://zygserv.toolforge.org\n\n    # This must be listed last given Apache processes Redirect rules in order.\n    # Also, do a 302 in case something goes horribly wrong with the rules before this.\n    Redirect 302 / https://toolforge.org/\n\n    CustomLog /var/log/apache2/tools.wmflabs.org-access.log wmf\n    ErrorLog /var/log/apache2/tools.wmflabs.org-error.log\n    LogLevel warn\n    ServerSignature Off\n</VirtualHost>\n\n<VirtualHost *:443>\n    ServerAdmin root@toolforge.org\n    ServerName tools.wmflabs.org\n\n    SSLEngine on\n    SSLCertificateFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.crt\n    SSLCertificateChainFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.chained.crt\n    SSLCertificateKeyFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.key\n    SSLProtocol all -SSLv2 -SSLv3\n    SSLCipherSuite -ALL:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA\n    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256\n    SSLHonorCipherOrder On\n    SSLOpenSSLConfCmd DHParameters \"/etc/ssl/dhparam.pem\"\n\n    Header always set Report-To '{\"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{\"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\"}]}'\n    Header always set NEL '{\"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}'\n\n    CustomLog /var/log/apache2/tools.wmflabs.org-access.log wmf\n    ErrorLog /var/log/apache2/tools.wmflabs.org-error.log\n    LogLevel warn\n    ServerSignature Off\n\n    # duplicated here and in the http section so it does only one request to our server\n    Redirect gone /a\n    Redirect gone /aaaaaa\n    Redirect 308 /aaabot https://aaabot.toolforge.org\n    Redirect 308 /abbe98tools https://abbe98tools.toolforge.org\n    Redirect 308 /abbreviso https://abbreviso.toolforge.org\n    Redirect 308 /abcgames https://abcgames.toolforge.org\n    Redirect 308 /abdumubot https://abdumubot.toolforge.org\n    Redirect 308 /abibot https://abibot.toolforge.org\n    Redirect 308 /abigor https://abigor.toolforge.org\n    Redirect 308 /abohadi https://abohadi.toolforge.org\n    Redirect 308 /abohadi1 https://abohadi1.toolforge.org\n    Redirect 308 /abot https://abot.toolforge.org\n    Redirect 308 /abricot https://abricot.toolforge.org\n    Redirect 308 /abshir https://abshir.toolforge.org\n    Redirect gone /abusereport\n    Redirect gone /account\n    Redirect 308 /account-creator https://account-creator.toolforge.org\n    Redirect gone /acc-utilities\n    Redirect 308 /ace2018 https://ace2018.toolforge.org\n    Redirect gone /acoustid\n    Redirect gone /activity\n    Redirect gone /actrial\n    Redirect gone /adas\n    Redirect 308 /add https://add.toolforge.org\n    Redirect gone /addbot\n    Redirect 308 /add-information https://add-information.toolforge.org\n    Redirect 308 /addscholartopics https://addscholartopics.toolforge.org\n    Redirect gone /addshore\n    Redirect gone /addshore-dev\n    Redirect 308 /add-text https://add-text.toolforge.org\n    Redirect 308 /admin https://admin.toolforge.org\n    Redirect 308 /admin-beta https://admin-beta.toolforge.org\n    Redirect 308 /adminstats https://adminstats.toolforge.org\n    Redirect 308 /admin-test https://admin-test.toolforge.org\n    Redirect 308 /advertisedetector https://advertisedetector.toolforge.org\n    Redirect 308 /aemisinfo https://aemisinfo.toolforge.org\n    Redirect 308 /afcbot https://afcbot.toolforge.org\n    Redirect 308 /afch https://afch.toolforge.org\n    Redirect 308 /afch-updater https://afch-updater.toolforge.org\n    Redirect gone /afc-research\n    Redirect 308 /afdstats https://afdstats.toolforge.org\n    Redirect 308 /afrobot https://afrobot.toolforge.org\n    Redirect gone /aftabbot\n    Redirect 308 /aftabbotbnwiki https://aftabbotbnwiki.toolforge.org\n    Redirect 308 /aharonitelegrambot002 https://aharonitelegrambot002.toolforge.org\n    Redirect 308 /ahechtbot https://ahechtbot.toolforge.org\n    Redirect 308 /aiko-citationhunt https://aiko-citationhunt.toolforge.org\n    Redirect 308 /air7538tools https://air7538tools.toolforge.org\n    Redirect 308 /aivanalysis https://aivanalysis.toolforge.org\n    Redirect 308 /aivhelperbot https://aivhelperbot.toolforge.org\n    Redirect 308 /ajapaik2commons https://ajapaik2commons.toolforge.org\n    Redirect 308 /akkakkbot https://akkakkbot.toolforge.org\n    Redirect 308 /alaabot https://alaabot.toolforge.org\n    Redirect gone /alan\n    Redirect 308 /alanajjar https://alanajjar.toolforge.org\n    Redirect 308 /alberobot https://alberobot.toolforge.org\n    Redirect 308 /alchimista https://alchimista.toolforge.org\n    Redirect 308 /aleph https://aleph.toolforge.org\n    Redirect 308 /alessiobot https://alessiobot.toolforge.org\n    Redirect 308 /alex https://alex.toolforge.org\n    Redirect 308 /alfa80 https://alfa80.toolforge.org\n    Redirect gone /algo-news\n    Redirect 308 /alkamidbot https://alkamidbot.toolforge.org\n    Redirect 308 /alphatest https://alphatest.toolforge.org\n    Redirect 308 /alphawakt https://alphawakt.toolforge.org\n    Redirect 308 /altobot https://altobot.toolforge.org\n    Redirect 308 /altostratus https://altostratus.toolforge.org\n    Redirect 308 /alvaro https://alvaro.toolforge.org\n    Redirect 308 /am https://am.toolforge.org\n    Redirect gone /amarbot\n    Redirect 308 /amdb https://amdb.toolforge.org\n    Redirect 308 /ameen https://ameen.toolforge.org\n    Redirect 308 /ameisenbot https://ameisenbot.toolforge.org\n    Redirect 308 /amorybot https://amorybot.toolforge.org\n    Redirect 308 /amstats https://amstats.toolforge.org\n    Redirect 308 /anagrimes https://anagrimes.toolforge.org\n    Redirect 308 /analytalks https://analytalks.toolforge.org\n    Redirect 308 /analytics https://analytics.toolforge.org\n    Redirect 308 /ananthrk-test https://ananthrk-test.toolforge.org\n    Redirect 308 /ancestors2 https://ancestors2.toolforge.org\n    Redirect gone /andrewtesttool\n    Redirect gone /android-maven-repo\n    Redirect 308 /android-sdk-builds https://android-sdk-builds.toolforge.org\n    Redirect 308 /andxor https://andxor.toolforge.org\n    Redirect 308 /aneun-sandbox https://aneun-sandbox.toolforge.org\n    Redirect gone /ankitbot\n    Redirect 308 /anni-me https://anni-me.toolforge.org\n    Redirect 308 /anno https://anno.toolforge.org\n    Redirect 308 /anomiebot https://anomiebot.toolforge.org\n    Redirect 308 /anon https://anon.toolforge.org\n    Redirect gone /anorange\n    Redirect 308 /anticompositebot https://anticompositebot.toolforge.org\n    Redirect 308 /anticompositetest https://anticompositetest.toolforge.org\n    Redirect 308 /anticompositetools https://anticompositetools.toolforge.org\n    Redirect gone /antigng\n    Redirect 308 /antigng-bot https://antigng-bot.toolforge.org\n    Redirect 308 /aobo https://aobo.toolforge.org\n    Redirect 308 /apersonbot https://apersonbot.toolforge.org\n    Redirect gone /api-citations\n    Redirect 308 /apps-gallery https://apps-gallery.toolforge.org\n    Redirect 308 /apt-browser https://apt-browser.toolforge.org\n    Redirect 308 /arambot https://arambot.toolforge.org\n    Redirect 308 /arbclerkbot https://arbclerkbot.toolforge.org\n    Redirect 308 /arcanist https://arcanist.toolforge.org\n    Redirect gone /archaeo\n    Redirect 308 /archiveleaf https://archiveleaf.toolforge.org\n    Redirect 308 /archivesearch https://archivesearch.toolforge.org\n    Redirect 308 /archive-things https://archive-things.toolforge.org\n    Redirect 308 /archive-things-1 https://archive-things-1.toolforge.org\n    Redirect 308 /archive-things-2 https://archive-things-2.toolforge.org\n    Redirect 308 /archive-things-3 https://archive-things-3.toolforge.org\n    Redirect 308 /archive-things-4 https://archive-things-4.toolforge.org\n    Redirect 308 /archiving https://archiving.toolforge.org\n    Redirect 308 /arelph https://arelph.toolforge.org\n    Redirect 308 /arkivbot https://arkivbot.toolforge.org\n    Redirect 308 /arnaubot https://arnaubot.toolforge.org\n    Redirect 308 /arowf https://arowf.toolforge.org\n    Redirect 308 /artemisia https://artemisia.toolforge.org\n    Redirect gone /article\n    Redirect gone /article2\n    Redirect 308 /article-creation-mapper https://article-creation-mapper.toolforge.org\n    Redirect 308 /article-ideas-generator https://article-ideas-generator.toolforge.org\n    Redirect 308 /article-interactions https://article-interactions.toolforge.org\n    Redirect gone /article-locations\n    Redirect 308 /articleplaceholderwiki https://articleplaceholderwiki.toolforge.org\n    Redirect 308 /articlerequest https://articlerequest.toolforge.org\n    Redirect 308 /articlerequest-dev https://articlerequest-dev.toolforge.org\n    Redirect 308 /articles-by-lat-lon-without-images https://articles-by-lat-lon-without-images.toolforge.org\n    Redirect 308 /articles-needing-links https://articles-needing-links.toolforge.org\n    Redirect 308 /articles-recommender https://articles-recommender.toolforge.org\n    Redirect gone /article-suggestion\n    Redirect 308 /artlist https://artlist.toolforge.org\n    Redirect 308 /artuploader https://artuploader.toolforge.org\n    Redirect gone /arturo-test-tool\n    Redirect 308 /asaifmbot https://asaifmbot.toolforge.org\n    Redirect 308 /ascal https://ascal.toolforge.org\n    Redirect gone /asdf\n    Redirect 308 /ashbot https://ashbot.toolforge.org\n    Redirect gone /ash-dev\n    Redirect 308 /ash-django https://ash-django.toolforge.org\n    Redirect 308 /ashotbot https://ashotbot.toolforge.org\n    Redirect 308 /ashottools https://ashottools.toolforge.org\n    Redirect 308 /as-info https://as-info.toolforge.org\n    Redirect 308 /as-info-dev https://as-info-dev.toolforge.org\n    Redirect gone /askbot-01\n    Redirect 308 /assamesecalendar https://assamesecalendar.toolforge.org\n    Redirect 308 /assamesetool https://assamesetool.toolforge.org\n    Redirect 308 /assessor https://assessor.toolforge.org\n    Redirect 308 /asurabot https://asurabot.toolforge.org\n    Redirect 308 /aswnbot https://aswnbot.toolforge.org\n    Redirect 308 /atiro https://atiro.toolforge.org\n    Redirect 308 /ato https://ato.toolforge.org\n    Redirect 308 /atriskwiki https://atriskwiki.toolforge.org\n    Redirect 308 /attribution https://attribution.toolforge.org\n    Redirect 308 /aude https://aude.toolforge.org\n    Redirect 308 /audetools https://audetools.toolforge.org\n    Redirect 308 /auth https://auth.toolforge.org\n    Redirect 308 /author-disambiguator https://author-disambiguator.toolforge.org\n    Redirect 308 /authorlang-game https://authorlang-game.toolforge.org\n    Redirect 308 /authors https://authors.toolforge.org\n    Redirect 308 /autodesc https://autodesc.toolforge.org\n    Redirect 308 /autolist https://autolist.toolforge.org\n    Redirect 308 /autometrics https://autometrics.toolforge.org\n    Redirect 308 /autopromote-status https://autopromote-status.toolforge.org\n    Redirect 308 /avicbot https://avicbot.toolforge.org\n    Redirect 308 /awb https://awb.toolforge.org\n    Redirect 308 /awmd-stats https://awmd-stats.toolforge.org\n    Redirect 308 /awstats https://awstats.toolforge.org\n    Redirect gone /axel\n    Redirect gone /a-z-p\n    Redirect gone /a-z-p-0-9-z\n    Redirect 308 /badges https://badges.toolforge.org\n    Redirect 308 /bajo https://bajo.toolforge.org\n    Redirect 308 /balasankarc https://balasankarc.toolforge.org\n    Redirect 308 /baljeetdhaliwal https://baljeetdhaliwal.toolforge.org\n    Redirect 308 /baljeetsingh https://baljeetsingh.toolforge.org\n    Redirect 308 /bambots https://bambots.toolforge.org\n    Redirect 308 /basebot https://basebot.toolforge.org\n    Redirect gone /base-encode\n    Redirect 308 /base-php-cli https://base-php-cli.toolforge.org\n    Redirect gone /basetool\n    Redirect 308 /bash https://bash.toolforge.org\n    Redirect gone /basyounybot\n    Redirect 308 /batchrevert https://batchrevert.toolforge.org\n    Redirect 308 /bawolff https://bawolff.toolforge.org\n    Redirect 308 /bays https://bays.toolforge.org\n    Redirect 308 /bbc-tv-cite https://bbc-tv-cite.toolforge.org\n    Redirect 308 /bcxfu75kbot https://bcxfu75kbot.toolforge.org\n    Redirect gone /bd808-k8smigrate\n    Redirect 308 /bd808-pywikibot https://bd808-pywikibot.toolforge.org\n    Redirect 308 /bd808-ruby https://bd808-ruby.toolforge.org\n    Redirect 308 /bd808-test https://bd808-test.toolforge.org\n    Redirect 308 /bd808-test2 https://bd808-test2.toolforge.org\n    Redirect gone /bd808-test3\n    Redirect gone /bd808-test4\n    Redirect 308 /beastiebot https://beastiebot.toolforge.org\n    Redirect 308 /become https://become.toolforge.org\n    Redirect 308 /beleg-tally https://beleg-tally.toolforge.org\n    Redirect gone /beleg-test-14568913402\n    Redirect 308 /bene https://bene.toolforge.org\n    Redirect 308 /benin1 https://benin1.toolforge.org\n    Redirect 308 /bennofsplay https://bennofsplay.toolforge.org\n    Redirect 308 /best-image https://best-image.toolforge.org\n    Redirect 308 /betabot https://betabot.toolforge.org\n    Redirect 308 /betacommand-dev https://betacommand-dev.toolforge.org\n    Redirect 308 /betaweb https://betaweb.toolforge.org\n    Redirect 308 /bibleversefinder https://bibleversefinder.toolforge.org\n    Redirect 308 /bibleversefinder2 https://bibleversefinder2.toolforge.org\n    Redirect 308 /bibliodata https://bibliodata.toolforge.org\n    Redirect 308 /bikeshed https://bikeshed.toolforge.org\n    Redirect 308 /bingle https://bingle.toolforge.org\n    Redirect 308 /bing-maps https://bing-maps.toolforge.org\n    Redirect 308 /bingo https://bingo.toolforge.org\n    Redirect 308 /bkllc https://bkllc.toolforge.org\n    Redirect 308 /bkstats-test https://bkstats-test.toolforge.org\n    Redirect 308 /blablabla https://blablabla.toolforge.org\n    Redirect 308 /blahma https://blahma.toolforge.org\n    Redirect 308 /blankpages https://blankpages.toolforge.org\n    Redirect 308 /bl-assist https://bl-assist.toolforge.org\n    Redirect 308 /bldrwnsch https://bldrwnsch.toolforge.org\n    Redirect 308 /blockcalc https://blockcalc.toolforge.org\n    Redirect 308 /blocklog https://blocklog.toolforge.org\n    Redirect 308 /blocksearch https://blocksearch.toolforge.org\n    Redirect 308 /blockyquery https://blockyquery.toolforge.org\n    Redirect 308 /blog https://blog.toolforge.org\n    Redirect gone /blogconverter\n    Redirect gone /blubber\n    Redirect 308 /bn-googleocr https://bn-googleocr.toolforge.org\n    Redirect 308 /bnwiki8 https://bnwiki8.toolforge.org\n    Redirect 308 /bomwiki https://bomwiki.toolforge.org\n    Redirect 308 /book2scroll https://book2scroll.toolforge.org\n    Redirect 308 /bookmanagerv2 https://bookmanagerv2.toolforge.org\n    Redirect 308 /bookreader https://bookreader.toolforge.org\n    Redirect 308 /books-for-binding https://books-for-binding.toolforge.org\n    Redirect 308 /booksplitter https://booksplitter.toolforge.org\n    Redirect 308 /bookworm https://bookworm.toolforge.org\n    Redirect 308 /booster https://booster.toolforge.org\n    Redirect 308 /borracho https://borracho.toolforge.org\n    Redirect 308 /bot24 https://bot24.toolforge.org\n    Redirect 308 /bot873 https://bot873.toolforge.org\n    Redirect 308 /botadventures https://botadventures.toolforge.org\n    Redirect 308 /bot-ash-nazg https://bot-ash-nazg.toolforge.org\n    Redirect 308 /boteas https://boteas.toolforge.org\n    Redirect 308 /bothasava https://bothasava.toolforge.org\n    Redirect 308 /botleo https://botleo.toolforge.org\n    Redirect 308 /botomatik https://botomatik.toolforge.org\n    Redirect 308 /botorder https://botorder.toolforge.org\n    Redirect 308 /botqa https://botqa.toolforge.org\n    Redirect 308 /botriconferme https://botriconferme.toolforge.org\n    Redirect 308 /botsister https://botsister.toolforge.org\n    Redirect 308 /botundo https://botundo.toolforge.org\n    Redirect 308 /botvegas https://botvegas.toolforge.org\n    Redirect 308 /botwatch https://botwatch.toolforge.org\n    Redirect 308 /botwikiawk https://botwikiawk.toolforge.org\n    Redirect 308 /boty https://boty.toolforge.org\n    Redirect 308 /bovlbbot https://bovlbbot.toolforge.org\n    Redirect 308 /bowleerin https://bowleerin.toolforge.org\n    Redirect gone /bracketbot\n    Redirect gone /brandonstools\n    Redirect 308 /brgroup https://brgroup.toolforge.org\n    Redirect 308 /bridgebot https://bridgebot.toolforge.org\n    Redirect 308 /bsaut https://bsaut.toolforge.org\n    Redirect gone /bstorm-tool\n    Redirect gone /bstorm-tool2\n    Redirect gone /bub\n    Redirect 308 /bub2 https://bub2.toolforge.org\n    Redirect 308 /bugello https://bugello.toolforge.org\n    Redirect 308 /bunykbot https://bunykbot.toolforge.org\n    Redirect 308 /bytesadded https://bytesadded.toolforge.org\n    Redirect 308 /calakbot https://calakbot.toolforge.org\n    Redirect 308 /calak-dev https://calak-dev.toolforge.org\n    Redirect 308 /calling-card https://calling-card.toolforge.org\n    Redirect 308 /camelbot https://camelbot.toolforge.org\n    Redirect gone /canary\n    Redirect 308 /canarybot https://canarybot.toolforge.org\n    Redirect 308 /captcha https://captcha.toolforge.org\n    Redirect 308 /captcha-dev https://captcha-dev.toolforge.org\n    Redirect 308 /cargo-hierarchy https://cargo-hierarchy.toolforge.org\n    Redirect 308 /catbot https://catbot.toolforge.org\n    Redirect 308 /catcompare https://catcompare.toolforge.org\n    Redirect 308 /categorie https://categorie.toolforge.org\n    Redirect 308 /category-by-uploaders https://category-by-uploaders.toolforge.org\n    Redirect 308 /catfood https://catfood.toolforge.org\n    Redirect gone /catgraph\n    Redirect gone /catgraph-jsonp\n    Redirect 308 /catimages https://catimages.toolforge.org\n    Redirect gone /catlive\n    Redirect gone /catmonitor\n    Redirect 308 /catnap https://catnap.toolforge.org\n    Redirect 308 /catrename https://catrename.toolforge.org\n    Redirect 308 /catscan2 https://catscan2.toolforge.org\n    Redirect 308 /catscan3 https://catscan3.toolforge.org\n    Redirect 308 /catscan-pop https://catscan-pop.toolforge.org\n    Redirect 308 /catscore https://catscore.toolforge.org\n    Redirect gone /catsize\n    Redirect 308 /cats-php https://cats-php.toolforge.org\n    Redirect 308 /catwatchbot https://catwatchbot.toolforge.org\n    Redirect 308 /cauchy https://cauchy.toolforge.org\n    Redirect 308 /cauchy7 https://cauchy7.toolforge.org\n    Redirect gone /cbench\n    Redirect gone /cbench2\n    Redirect gone /cbng-sql-1\n    Redirect gone /cbng-sql-2\n    Redirect gone /cbng-sql-3\n    Redirect gone /cbng-sql-4\n    Redirect gone /cbng-sql-5\n    Redirect gone /cbng-sql-6\n    Redirect 308 /ccm https://ccm.toolforge.org\n    Redirect 308 /cdnjs https://cdnjs.toolforge.org\n    Redirect 308 /cdnjs-beta https://cdnjs-beta.toolforge.org\n    Redirect 308 /cdrini-dev https://cdrini-dev.toolforge.org\n    Redirect 308 /centralnotice-bannergenerator https://centralnotice-bannergenerator.toolforge.org\n    Redirect 308 /cerabot https://cerabot.toolforge.org\n    Redirect 308 /cewbot https://cewbot.toolforge.org\n    Redirect gone /cgstat\n    Redirect 308 /chaoyueltry https://chaoyueltry.toolforge.org\n    Redirect 308 /charttableconverter https://charttableconverter.toolforge.org\n    Redirect gone /chat\n    Redirect gone /checkdictation-fa\n    Redirect 308 /checker https://checker.toolforge.org\n    Redirect gone /checklinks\n    Redirect 308 /checkpersondata https://checkpersondata.toolforge.org\n    Redirect 308 /checkwiki https://checkwiki.toolforge.org\n    Redirect 308 /chemobot https://chemobot.toolforge.org\n    Redirect 308 /chie-bot https://chie-bot.toolforge.org\n    Redirect 308 /chobot https://chobot.toolforge.org\n    Redirect 308 /chocobot https://chocobot.toolforge.org\n    Redirect 308 /churches https://churches.toolforge.org\n    Redirect 308 /ci https://ci.toolforge.org\n    Redirect 308 /cil2 https://cil2.toolforge.org\n    Redirect 308 /cipherbot https://cipherbot.toolforge.org\n    Redirect gone /citationbase\n    Redirect gone /citation-bot\n    Redirect 308 /citationdetective https://citationdetective.toolforge.org\n    Redirect gone /citationgraph\n    Redirect 308 /citationhunt https://citationhunt.toolforge.org\n    Redirect 308 /citations https://citations.toolforge.org\n    Redirect 308 /citations-dev https://citations-dev.toolforge.org\n    Redirect 308 /citation-template-filling https://citation-template-filling.toolforge.org\n    Redirect 308 /citeimage https://citeimage.toolforge.org\n    Redirect 308 /cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 308 /citeplato https://citeplato.toolforge.org\n    Redirect 308 /citer https://citer.toolforge.org\n    Redirect 308 /cite-web-helper https://cite-web-helper.toolforge.org\n    Redirect 308 /citing-bot https://citing-bot.toolforge.org\n    Redirect 308 /citytime https://citytime.toolforge.org\n    Redirect 308 /cleanup https://cleanup.toolforge.org\n    Redirect 308 /clickstream-api https://clickstream-api.toolforge.org\n    Redirect 308 /cloudvps https://cloudvps.toolforge.org\n    Redirect 308 /clpo13-flask https://clpo13-flask.toolforge.org\n    Redirect 308 /cluebot https://cluebot.toolforge.org\n    Redirect 308 /cluebot3 https://cluebot3.toolforge.org\n    Redirect 308 /cluebotng https://cluebotng.toolforge.org\n    Redirect 308 /cluebotng-staging https://cluebotng-staging.toolforge.org\n    Redirect gone /cluestuff\n    Redirect gone /clunk\n    Redirect 308 /cobain https://cobain.toolforge.org\n    Redirect 308 /cobot https://cobot.toolforge.org\n    Redirect 308 /cocubot https://cocubot.toolforge.org\n    Redirect 308 /cocytus https://cocytus.toolforge.org\n    Redirect 308 /code-essay https://code-essay.toolforge.org\n    Redirect 308 /codelookup https://codelookup.toolforge.org\n    Redirect 308 /codeqc https://codeqc.toolforge.org\n    Redirect 308 /codexbot https://codexbot.toolforge.org\n    Redirect 308 /coh https://coh.toolforge.org\n    Redirect gone /coi\n    Redirect 308 /coibot https://coibot.toolforge.org\n    Redirect gone /comidentgen\n    Redirect 308 /common-interests https://common-interests.toolforge.org\n    Redirect gone /commons\n    Redirect 308 /commons-aiuser https://commons-aiuser.toolforge.org\n    Redirect 308 /commons-android-app https://commons-android-app.toolforge.org\n    Redirect 308 /commons-app-stats https://commons-app-stats.toolforge.org\n    Redirect 308 /commons-app-web https://commons-app-web.toolforge.org\n    Redirect 308 /commonsarchive https://commonsarchive.toolforge.org\n    Redirect 308 /commons-campaign-commander https://commons-campaign-commander.toolforge.org\n    Redirect 308 /commonscategorycount https://commonscategorycount.toolforge.org\n    Redirect 308 /commons-coverage https://commons-coverage.toolforge.org\n    Redirect 308 /commons-delinquent https://commons-delinquent.toolforge.org\n    Redirect gone /commons_describer\n    Redirect 308 /commonsedge https://commonsedge.toolforge.org\n    Redirect 308 /commonsfairuseupload https://commonsfairuseupload.toolforge.org\n    Redirect 308 /commonshelper https://commonshelper.toolforge.org\n    Redirect gone /commonshelper2\n    Redirect gone /commonsinterwiki\n    Redirect 308 /commons-maintenance-bot https://commons-maintenance-bot.toolforge.org\n    Redirect 308 /commons-mass-description https://commons-mass-description.toolforge.org\n    Redirect 308 /commons-mass-description-test https://commons-mass-description-test.toolforge.org\n    Redirect gone /commons-mass-upload\n    Redirect 308 /commonsnotificationbot https://commonsnotificationbot.toolforge.org\n    Redirect 308 /commons-poty https://commons-poty.toolforge.org\n    Redirect gone /commonsuploadsum\n    Redirect gone /commons-video-clicks\n    Redirect 308 /commtech-commons https://commtech-commons.toolforge.org\n    Redirect gone /communityguidelines\n    Redirect 308 /community-tech-tools https://community-tech-tools.toolforge.org\n    Redirect 308 /compare-accounts https://compare-accounts.toolforge.org\n    Redirect 308 /completer https://completer.toolforge.org\n    Redirect 308 /comprende https://comprende.toolforge.org\n    Redirect 308 /congressedits https://congressedits.toolforge.org\n    Redirect 308 /connectivity https://connectivity.toolforge.org\n    Redirect 308 /contact https://contact.toolforge.org\n    Redirect 308 /contentcontributor https://contentcontributor.toolforge.org\n    Redirect 308 /content-gap https://content-gap.toolforge.org\n    Redirect 308 /continuitybot https://continuitybot.toolforge.org\n    Redirect 308 /contraband https://contraband.toolforge.org\n    Redirect 308 /contrabandapp https://contrabandapp.toolforge.org\n    Redirect 308 /contribgraph https://contribgraph.toolforge.org\n    Redirect 308 /contribstats https://contribstats.toolforge.org\n    Redirect gone /contributions-summary\n    Redirect 308 /contributionsurveyor https://contributionsurveyor.toolforge.org\n    Redirect 308 /contropedia https://contropedia.toolforge.org\n    Redirect 308 /convenient-discussions https://convenient-discussions.toolforge.org\n    Redirect 308 /convert https://convert.toolforge.org\n    Redirect 308 /coord https://coord.toolforge.org\n    Redirect 308 /copyclear https://copyclear.toolforge.org\n    Redirect 308 /copypatrol https://copypatrol.toolforge.org\n    Redirect 308 /copyvios https://copyvios.toolforge.org\n    Redirect gone /copywhat\n    Redirect gone /corenlp\n    Redirect gone /corhist\n    Redirect 308 /costar https://costar.toolforge.org\n    Redirect 308 /countcountbot https://countcountbot.toolforge.org\n    Redirect 308 /countcounttest https://countcounttest.toolforge.org\n    Redirect 308 /countryip https://countryip.toolforge.org\n    Redirect 308 /coursestats https://coursestats.toolforge.org\n    Redirect 308 /coverage https://coverage.toolforge.org\n    Redirect 308 /coverme https://coverme.toolforge.org\n    Redirect 308 /covid https://covid.toolforge.org\n    Redirect 308 /covid-obit https://covid-obit.toolforge.org\n    Redirect 308 /cp https://cp.toolforge.org\n    Redirect 308 /cpb https://cpb.toolforge.org\n    Redirect 308 /cradle https://cradle.toolforge.org\n    Redirect gone /crazyometer\n    Redirect gone /creatorlinks\n    Redirect 308 /crisis-response https://crisis-response.toolforge.org\n    Redirect gone /crocodylia\n    Redirect 308 /cropbot https://cropbot.toolforge.org\n    Redirect 308 /cropcrop https://cropcrop.toolforge.org\n    Redirect 308 /croptool https://croptool.toolforge.org\n    Redirect 308 /crossactivity https://crossactivity.toolforge.org\n    Redirect gone /crosswatch\n    Redirect 308 /crosswatch2019 https://crosswatch2019.toolforge.org\n    Redirect gone /crosswatch-monitoring\n    Redirect 308 /csbot https://csbot.toolforge.org\n    Redirect 308 /csfd https://csfd.toolforge.org\n    Redirect 308 /csp-report https://csp-report.toolforge.org\n    Redirect 308 /cssk https://cssk.toolforge.org\n    Redirect 308 /cuddle https://cuddle.toolforge.org\n    Redirect 308 /currentevents https://currentevents.toolforge.org\n    Redirect 308 /custom-utils https://custom-utils.toolforge.org\n    Redirect 308 /cvn https://cvn.toolforge.org\n    Redirect 308 /cvrminer https://cvrminer.toolforge.org\n    Redirect 308 /cyberbot https://cyberbot.toolforge.org\n    Redirect gone /cybertools\n    Redirect 308 /cyberworm https://cyberworm.toolforge.org\n    Redirect 308 /cydebot https://cydebot.toolforge.org\n    Redirect 308 /daahbot https://daahbot.toolforge.org\n    Redirect gone /dabsolver\n    Redirect 308 /dal https://dal.toolforge.org\n    Redirect 308 /danilo https://danilo.toolforge.org\n    Redirect 308 /danmicholobot https://danmicholobot.toolforge.org\n    Redirect 308 /dannys712-bot https://dannys712-bot.toolforge.org\n    Redirect 308 /danorton-dev https://danorton-dev.toolforge.org\n    Redirect 308 /dapete-dev https://dapete-dev.toolforge.org\n    Redirect 308 /dashboard https://dashboard.toolforge.org\n    Redirect 308 /database-reports https://database-reports.toolforge.org\n    Redirect 308 /datacon-schedule-app https://datacon-schedule-app.toolforge.org\n    Redirect gone /data-design-demo\n    Redirect 308 /datasets https://datasets.toolforge.org\n    Redirect 308 /dataviz https://dataviz.toolforge.org\n    Redirect 308 /datbot https://datbot.toolforge.org\n    Redirect gone /datbotcommons\n    Redirect 308 /dateien https://dateien.toolforge.org\n    Redirect 308 /david-tool https://david-tool.toolforge.org\n    Redirect 308 /davod https://davod.toolforge.org\n    Redirect gone /dawiki\n    Redirect 308 /dawikibot https://dawikibot.toolforge.org\n    Redirect 308 /dawikitool https://dawikitool.toolforge.org\n    Redirect gone /db\n    Redirect 308 /dbbot https://dbbot.toolforge.org\n    Redirect 308 /dbreps https://dbreps.toolforge.org\n    Redirect 308 /dbreps-uk https://dbreps-uk.toolforge.org\n    Redirect gone /ddescriptions\n    Redirect 308 /deadlinkfinder https://deadlinkfinder.toolforge.org\n    Redirect 308 /deadlinks https://deadlinks.toolforge.org\n    Redirect 308 /death-anomalies https://death-anomalies.toolforge.org\n    Redirect gone /declare\n    Redirect gone /deep-learning-services\n    Redirect 308 /defconbot https://defconbot.toolforge.org\n    Redirect gone /dekel\n    Redirect 308 /delinker https://delinker.toolforge.org\n    Redirect 308 /dellie https://dellie.toolforge.org\n    Redirect 308 /deltabot https://deltabot.toolforge.org\n    Redirect 308 /deltaquad-bots https://deltaquad-bots.toolforge.org\n    Redirect 308 /demibot https://demibot.toolforge.org\n    Redirect 308 /demo-unicorn https://demo-unicorn.toolforge.org\n    Redirect 308 /denisa https://denisa.toolforge.org\n    Redirect 308 /denkmalbot https://denkmalbot.toolforge.org\n    Redirect 308 /denkmalliste https://denkmalliste.toolforge.org\n    Redirect 308 /depiction-game https://depiction-game.toolforge.org\n    Redirect 308 /depictions https://depictions.toolforge.org\n    Redirect 308 /depicts https://depicts.toolforge.org\n    Redirect 308 /deprecated-fixer-bot https://deprecated-fixer-bot.toolforge.org\n    Redirect 308 /derivative https://derivative.toolforge.org\n    Redirect 308 /desh https://desh.toolforge.org\n    Redirect gone /design-research-methods\n    Redirect gone /deskana\n    Redirect gone /deskana2\n    Redirect 308 /detox https://detox.toolforge.org\n    Redirect gone /detoxresearch\n    Redirect gone /devlibrarycard\n    Redirect 308 /devyasha https://devyasha.toolforge.org\n    Redirect 308 /devys https://devys.toolforge.org\n    Redirect 308 /dewikigreetbot https://dewikigreetbot.toolforge.org\n    Redirect 308 /dewikinews-rss https://dewikinews-rss.toolforge.org\n    Redirect 308 /dewikivpncheck https://dewikivpncheck.toolforge.org\n    Redirect 308 /dewkin https://dewkin.toolforge.org\n    Redirect gone /dewpmonobookupdater\n    Redirect 308 /dexbot https://dexbot.toolforge.org\n    Redirect gone /dexibotnet\n    Redirect gone /dibot\n    Redirect 308 /dibyadutta https://dibyadutta.toolforge.org\n    Redirect 308 /dicompte https://dicompte.toolforge.org\n    Redirect 308 /digero https://digero.toolforge.org\n    Redirect gone /digitaltmuseum\n    Redirect 308 /dijkstrasproject https://dijkstrasproject.toolforge.org\n    Redirect 308 /dimastbkbot https://dimastbkbot.toolforge.org\n    Redirect 308 /dimensioner https://dimensioner.toolforge.org\n    Redirect 308 /dioceses https://dioceses.toolforge.org\n    Redirect 308 /directory https://directory.toolforge.org\n    Redirect 308 /disambinator https://disambinator.toolforge.org\n    Redirect 308 /disclaim https://disclaim.toolforge.org\n    Redirect gone /discogs2pistes\n    Redirect gone /discord-irc\n    Redirect gone /discordwiki\n    Redirect 308 /dispatcher https://dispatcher.toolforge.org\n    Redirect 308 /dispenser https://dispenser.toolforge.org\n    Redirect 308 /dixondbot https://dixondbot.toolforge.org\n    Redirect 308 /dixtosa https://dixtosa.toolforge.org\n    Redirect 308 /dluxbot https://dluxbot.toolforge.org\n    Redirect 308 /dna https://dna.toolforge.org\n    Redirect 308 /dnbtools https://dnbtools.toolforge.org\n    Redirect 308 /dockerregistry https://dockerregistry.toolforge.org\n    Redirect 308 /docker-registry https://docker-registry.toolforge.org\n    Redirect 308 /doi-bot https://doi-bot.toolforge.org\n    Redirect gone /douglasbot\n    Redirect 308 /dow https://dow.toolforge.org\n    Redirect 308 /dpkg https://dpkg.toolforge.org\n    Redirect 308 /dplbot https://dplbot.toolforge.org\n    Redirect 308 /draftifyhistory https://draftifyhistory.toolforge.org\n    Redirect gone /draft-uncategorize-script\n    Redirect gone /dramaboard\n    Redirect 308 /drawshield https://drawshield.toolforge.org\n    Redirect 308 /drbot https://drbot.toolforge.org\n    Redirect 308 /dreamyjazzbot https://dreamyjazzbot.toolforge.org\n    Redirect 308 /drewbot https://drewbot.toolforge.org\n    Redirect 308 /dribper https://dribper.toolforge.org\n    Redirect 308 /drini https://drini.toolforge.org\n    Redirect 308 /droog https://droog.toolforge.org\n    Redirect gone /drtrigonbot\n    Redirect 308 /drvstats https://drvstats.toolforge.org\n    Redirect 308 /dschwenbot https://dschwenbot.toolforge.org\n    Redirect gone /dspull\n    Redirect 308 /dtz https://dtz.toolforge.org\n    Redirect 308 /dumpcattree https://dumpcattree.toolforge.org\n    Redirect gone /dumpscan\n    Redirect gone /dump-torrents\n    Redirect 308 /dupdet https://dupdet.toolforge.org\n    Redirect 308 /duplicate-coords https://duplicate-coords.toolforge.org\n    Redirect 308 /duplicatehunter https://duplicatehunter.toolforge.org\n    Redirect gone /durl-shortener\n    Redirect 308 /dutchbot https://dutchbot.toolforge.org\n    Redirect 308 /dvorapabot https://dvorapabot.toolforge.org\n    Redirect 308 /dvtbot https://dvtbot.toolforge.org\n    Redirect 308 /dykautobot https://dykautobot.toolforge.org\n    Redirect 308 /dykbot https://dykbot.toolforge.org\n    Redirect 308 /dykfeed https://dykfeed.toolforge.org\n    Redirect 308 /dykmoverbot https://dykmoverbot.toolforge.org\n    Redirect 308 /dykstats https://dykstats.toolforge.org\n    Redirect 308 /dynamicbot https://dynamicbot.toolforge.org\n    Redirect 308 /dynbot-srv1 https://dynbot-srv1.toolforge.org\n    Redirect 308 /dynbot-srv2 https://dynbot-srv2.toolforge.org\n    Redirect 308 /eagerbot https://eagerbot.toolforge.org\n    Redirect 308 /eagleeye https://eagleeye.toolforge.org\n    Redirect 308 /earwigbot https://earwigbot.toolforge.org\n    Redirect 308 /earwig-dev https://earwig-dev.toolforge.org\n    Redirect 308 /eatchabot https://eatchabot.toolforge.org\n    Redirect 308 /eathom https://eathom.toolforge.org\n    Redirect gone /ebrahim-dev\n    Redirect gone /ebraminio-dev\n    Redirect 308 /ecmabot https://ecmabot.toolforge.org\n    Redirect 308 /edcounter https://edcounter.toolforge.org\n    Redirect 308 /edgars https://edgars.toolforge.org\n    Redirect 308 /edgarsdev https://edgarsdev.toolforge.org\n    Redirect gone /edin\n    Redirect 308 /edinbot https://edinbot.toolforge.org\n    Redirect gone /edinc\n    Redirect 308 /editathonstat https://editathonstat.toolforge.org\n    Redirect 308 /editcompare https://editcompare.toolforge.org\n    Redirect gone /edit-counter\n    Redirect 308 /editcount-fr https://editcount-fr.toolforge.org\n    Redirect gone /editcountitis\n    Redirect gone /editful\n    Redirect 308 /editgroups https://editgroups.toolforge.org\n    Redirect 308 /editor-retention-dashboard https://editor-retention-dashboard.toolforge.org\n    Redirect gone /edits\n    Redirect gone /editsynergy\n    Redirect 308 /efenbot https://efenbot.toolforge.org\n    Redirect gone /elasticdash\n    Redirect 308 /elobot https://elobot.toolforge.org\n    Redirect gone /elph\n    Redirect 308 /elvisor https://elvisor.toolforge.org\n    Redirect 308 /emausbot https://emausbot.toolforge.org\n    Redirect 308 /embeddeddata https://embeddeddata.toolforge.org\n    Redirect 308 /embeddedincount https://embeddedincount.toolforge.org\n    Redirect 308 /emijrpbot https://emijrpbot.toolforge.org\n    Redirect 308 /emoociev https://emoociev.toolforge.org\n    Redirect 308 /enbbsb https://enbbsb.toolforge.org\n    Redirect 308 /enboten https://enboten.toolforge.org\n    Redirect 308 /endumen https://endumen.toolforge.org\n    Redirect 308 /energybot https://energybot.toolforge.org\n    Redirect 308 /enet https://enet.toolforge.org\n    Redirect gone /enett\n    Redirect 308 /enhourly https://enhourly.toolforge.org\n    Redirect 308 /enterpriseybot-rs https://enterpriseybot-rs.toolforge.org\n    Redirect 308 /entsuggest https://entsuggest.toolforge.org\n    Redirect 308 /enwiki-user-edits https://enwiki-user-edits.toolforge.org\n    Redirect 308 /enwiktdefns https://enwiktdefns.toolforge.org\n    Redirect 308 /enwnbot https://enwnbot.toolforge.org\n    Redirect 308 /enwp10 https://enwp10.toolforge.org\n    Redirect 308 /eranbot https://eranbot.toolforge.org\n    Redirect 308 /erex-yomi https://erex-yomi.toolforge.org\n    Redirect 308 /erwin85 https://erwin85.toolforge.org\n    Redirect 308 /esbackup https://esbackup.toolforge.org\n    Redirect 308 /esfichataxon https://esfichataxon.toolforge.org\n    Redirect 308 /etools https://etools.toolforge.org\n    Redirect 308 /etwelvetest https://etwelvetest.toolforge.org\n    Redirect 308 /etwikibots https://etwikibots.toolforge.org\n    Redirect gone /etwikt\n    Redirect 308 /etytree https://etytree.toolforge.org\n    Redirect 308 /eulenwiki https://eulenwiki.toolforge.org\n    Redirect 308 /eulenwiki2 https://eulenwiki2.toolforge.org\n    Redirect 308 /eulenwiki3 https://eulenwiki3.toolforge.org\n    Redirect 308 /event-live-session https://event-live-session.toolforge.org\n    Redirect 308 /event-streams https://event-streams.toolforge.org\n    Redirect 308 /every https://every.toolforge.org\n    Redirect gone /every-other-wiki-has\n    Redirect gone /everythingisconnected\n    Redirect gone /exambot\n    Redirect 308 /excel2wiki https://excel2wiki.toolforge.org\n    Redirect gone /experimental-embeddings\n    Redirect gone /exportpdf\n    Redirect 308 /expose-data https://expose-data.toolforge.org\n    Redirect gone /extdist\n    Redirect gone /extensionservice\n    Redirect gone /externalitemsuggester\n    Redirect 308 /extjsonuploader https://extjsonuploader.toolforge.org\n    Redirect 308 /ext-lnk-discover https://ext-lnk-discover.toolforge.org\n    Redirect 308 /extreg-wos https://extreg-wos.toolforge.org\n    Redirect 308 /extreme https://extreme.toolforge.org\n    Redirect 308 /fab https://fab.toolforge.org\n    Redirect gone /fab-proxy\n    Redirect 308 /facebook-messenger-chatbot https://facebook-messenger-chatbot.toolforge.org\n    Redirect 308 /faces https://faces.toolforge.org\n    Redirect 308 /fa-checkwiki https://fa-checkwiki.toolforge.org\n    Redirect 308 /faebot https://faebot.toolforge.org\n    Redirect 308 /fajrbot https://fajrbot.toolforge.org\n    Redirect 308 /family https://family.toolforge.org\n    Redirect 308 /farhangestan https://farhangestan.toolforge.org\n    Redirect 308 /farotbot https://farotbot.toolforge.org\n    Redirect gone /farticle\n    Redirect gone /fastilybot\n    Redirect gone /fastilybot-reports\n    Redirect 308 /fatameh https://fatameh.toolforge.org\n    Redirect 308 /fatemi https://fatemi.toolforge.org\n    Redirect 308 /fatg https://fatg.toolforge.org\n    Redirect 308 /fawikiauto https://fawikiauto.toolforge.org\n    Redirect 308 /fawiki-editathon https://fawiki-editathon.toolforge.org\n    Redirect 308 /fb-translate-bot https://fb-translate-bot.toolforge.org\n    Redirect gone /fc-importer\n    Redirect gone /featured-article\n    Redirect 308 /femiwiki https://femiwiki.toolforge.org\n    Redirect 308 /fengtools https://fengtools.toolforge.org\n    Redirect 308 /ferdibot https://ferdibot.toolforge.org\n    Redirect 308 /ffbot https://ffbot.toolforge.org\n    Redirect gone /fikarummet\n    Redirect 308 /filedupes https://filedupes.toolforge.org\n    Redirect 308 /file-reuse https://file-reuse.toolforge.org\n    Redirect 308 /file-reuse-piwik https://file-reuse-piwik.toolforge.org\n    Redirect gone /file-reuse-review\n    Redirect 308 /file-reuse-test https://file-reuse-test.toolforge.org\n    Redirect gone /filesearch\n    Redirect 308 /file-siblings https://file-siblings.toolforge.org\n    Redirect 308 /find-and-replace https://find-and-replace.toolforge.org\n    Redirect 308 /findit https://findit.toolforge.org\n    Redirect 308 /fingerprint https://fingerprint.toolforge.org\n    Redirect 308 /fireflydev https://fireflydev.toolforge.org\n    Redirect 308 /firefly-maintainer1 https://firefly-maintainer1.toolforge.org\n    Redirect 308 /fireflytools https://fireflytools.toolforge.org\n    Redirect 308 /firmenbuch https://firmenbuch.toolforge.org\n    Redirect 308 /first-paragraph-readability https://first-paragraph-readability.toolforge.org\n    Redirect 308 /fischbot https://fischbot.toolforge.org\n    Redirect 308 /fist https://fist.toolforge.org\n    Redirect gone /five-million\n    Redirect 308 /fiwiki-tools https://fiwiki-tools.toolforge.org\n    Redirect gone /fixdatebot\n    Redirect gone /flaggedrevspromotioncheck\n    Redirect gone /flaky-ci\n    Redirect 308 /flickr https://flickr.toolforge.org\n    Redirect 308 /flickr2commons https://flickr2commons.toolforge.org\n    Redirect 308 /flickrdash https://flickrdash.toolforge.org\n    Redirect 308 /flickr-rss https://flickr-rss.toolforge.org\n    Redirect 308 /flossbrowser https://flossbrowser.toolforge.org\n    Redirect 308 /fn https://fn.toolforge.org\n    Redirect 308 /fontcdn https://fontcdn.toolforge.org\n    Redirect gone /footygen\n    Redirect 308 /forrestbot https://forrestbot.toolforge.org\n    Redirect gone /foundation\n    Redirect 308 /fountain https://fountain.toolforge.org\n    Redirect 308 /fountain-test https://fountain-test.toolforge.org\n    Redirect 308 /fourohfour https://fourohfour.toolforge.org\n    Redirect 308 /fpbot https://fpbot.toolforge.org\n    Redirect 308 /fpcbot https://fpcbot.toolforge.org\n    Redirect 308 /fpcstats https://fpcstats.toolforge.org\n    Redirect 308 /framabot https://framabot.toolforge.org\n    Redirect 308 /freddy2001 https://freddy2001.toolforge.org\n    Redirect 308 /freebase https://freebase.toolforge.org\n    Redirect 308 /freefiles https://freefiles.toolforge.org\n    Redirect 308 /fretties https://fretties.toolforge.org\n    Redirect 308 /friskobot https://friskobot.toolforge.org\n    Redirect 308 /friybot https://friybot.toolforge.org\n    Redirect 308 /fronds https://fronds.toolforge.org\n    Redirect gone /fr-wikiversity\n    Redirect 308 /fr-wikiversity-ns https://fr-wikiversity-ns.toolforge.org\n    Redirect 308 /fscbot https://fscbot.toolforge.org\n    Redirect 308 /fshbibbot https://fshbibbot.toolforge.org\n    Redirect 308 /ft https://ft.toolforge.org\n    Redirect 308 /ftl https://ftl.toolforge.org\n    Redirect 308 /ftools https://ftools.toolforge.org\n    Redirect gone /fubar\n    Redirect gone /fun\n    Redirect 308 /fundraising-tools https://fundraising-tools.toolforge.org\n    Redirect 308 /furutani https://furutani.toolforge.org\n    Redirect 308 /fvcbot https://fvcbot.toolforge.org\n    Redirect 308 /g13bot https://g13bot.toolforge.org\n    Redirect 308 /gabrielchihonglee-bot https://gabrielchihonglee-bot.toolforge.org\n    Redirect 308 /gaelan-bot https://gaelan-bot.toolforge.org\n    Redirect 308 /gallery https://gallery.toolforge.org\n    Redirect 308 /gallica https://gallica.toolforge.org\n    Redirect 308 /galobot https://galobot.toolforge.org\n    Redirect 308 /ganreportbot https://ganreportbot.toolforge.org\n    Redirect gone /gblrenamemon\n    Redirect gone /gdk-artists-research\n    Redirect 308 /geekbot https://geekbot.toolforge.org\n    Redirect 308 /gendergapdashboard https://gendergapdashboard.toolforge.org\n    Redirect 308 /genealogy https://genealogy.toolforge.org\n    Redirect 308 /genedb https://genedb.toolforge.org\n    Redirect gone /gennfs\n    Redirect 308 /geocommons https://geocommons.toolforge.org\n    Redirect gone /geodata\n    Redirect 308 /geograph2commons https://geograph2commons.toolforge.org\n    Redirect 308 /geohack https://geohack.toolforge.org\n    Redirect gone /geoloc\n    Redirect 308 /geonotice https://geonotice.toolforge.org\n    Redirect 308 /geophotoreq https://geophotoreq.toolforge.org\n    Redirect 308 /geoplotter https://geoplotter.toolforge.org\n    Redirect 308 /gerakibot https://gerakibot.toolforge.org\n    Redirect 308 /gerakitools https://gerakitools.toolforge.org\n    Redirect 308 /germancon-mobile https://germancon-mobile.toolforge.org\n    Redirect 308 /germancontributioncounts https://germancontributioncounts.toolforge.org\n    Redirect 308 /gerrit-avatar-uploader https://gerrit-avatar-uploader.toolforge.org\n    Redirect 308 /gerrit-newcomer-bot https://gerrit-newcomer-bot.toolforge.org\n    Redirect 308 /gerrit-patch-uploader https://gerrit-patch-uploader.toolforge.org\n    Redirect 308 /gerrit-reports https://gerrit-reports.toolforge.org\n    Redirect 308 /gerrit-reviewer-bot https://gerrit-reviewer-bot.toolforge.org\n    Redirect gone /gerrit-to-redis\n    Redirect gone /getsentry\n    Redirect 308 /ggu https://ggu.toolforge.org\n    Redirect 308 /giftbot https://giftbot.toolforge.org\n    Redirect 308 /giftpast https://giftpast.toolforge.org\n    Redirect 308 /giovannitool https://giovannitool.toolforge.org\n    Redirect 308 /gir https://gir.toolforge.org\n    Redirect 308 /giraffe https://giraffe.toolforge.org\n    Redirect 308 /github https://github.toolforge.org\n    Redirect 308 /github-notif-bot https://github-notif-bot.toolforge.org\n    Redirect 308 /github-pr-closer https://github-pr-closer.toolforge.org\n    Redirect 308 /githubstats https://githubstats.toolforge.org\n    Redirect 308 /glaisher https://glaisher.toolforge.org\n    Redirect 308 /glam2commons https://glam2commons.toolforge.org\n    Redirect 308 /glamalign https://glamalign.toolforge.org\n    Redirect 308 /glamify https://glamify.toolforge.org\n    Redirect 308 /glamingest https://glamingest.toolforge.org\n    Redirect 308 /glamorous-maintenance https://glamorous-maintenance.toolforge.org\n    Redirect 308 /glamtools https://glamtools.toolforge.org\n    Redirect 308 /globalcsd https://globalcsd.toolforge.org\n    Redirect 308 /globaleditcounter https://globaleditcounter.toolforge.org\n    Redirect 308 /global-pandas https://global-pandas.toolforge.org\n    Redirect gone /globalprefs\n    Redirect 308 /globalsearch https://globalsearch.toolforge.org\n    Redirect 308 /global-search https://global-search.toolforge.org\n    Redirect 308 /global-search-test https://global-search-test.toolforge.org\n    Redirect 308 /globalusagecount https://globalusagecount.toolforge.org\n    Redirect 308 /global-wiki-tools https://global-wiki-tools.toolforge.org\n    Redirect 308 /gmt https://gmt.toolforge.org\n    Redirect gone /gns\n    Redirect 308 /gnubotmarcoo https://gnubotmarcoo.toolforge.org\n    Redirect 308 /goatid https://goatid.toolforge.org\n    Redirect gone /goblinbot4\n    Redirect gone /goodarticle\n    Redirect 308 /goodarticlebot https://goodarticlebot.toolforge.org\n    Redirect 308 /goodbot https://goodbot.toolforge.org\n    Redirect gone /google-drive-photos-to-commons\n    Redirect 308 /goransmtool https://goransmtool.toolforge.org\n    Redirect 308 /gorlingor https://gorlingor.toolforge.org\n    Redirect gone /governance-timeline\n    Redirect 308 /gpsexif https://gpsexif.toolforge.org\n    Redirect 308 /gpy https://gpy.toolforge.org\n    Redirect 308 /grafana https://grafana.toolforge.org\n    Redirect gone /grafana-json-datasource\n    Redirect 308 /graham87 https://graham87.toolforge.org\n    Redirect 308 /graminbot https://graminbot.toolforge.org\n    Redirect 308 /granitstein https://granitstein.toolforge.org\n    Redirect 308 /grantmaking https://grantmaking.toolforge.org\n    Redirect 308 /grantmetrics https://grantmetrics.toolforge.org\n    Redirect 308 /grantmetrics-test https://grantmetrics-test.toolforge.org\n    Redirect 308 /grantsbot https://grantsbot.toolforge.org\n    Redirect 308 /grapedog https://grapedog.toolforge.org\n    Redirect 308 /graphql https://graphql.toolforge.org\n    Redirect 308 /gratitude https://gratitude.toolforge.org\n    Redirect 308 /grep https://grep.toolforge.org\n    Redirect gone /gridengine-status\n    Redirect gone /grid-jobs\n    Redirect 308 /grillitus https://grillitus.toolforge.org\n    Redirect 308 /grouplens https://grouplens.toolforge.org\n    Redirect 308 /gsoc https://gsoc.toolforge.org\n    Redirect gone /gsoc-dev\n    Redirect gone /gsociftttdev\n    Redirect 308 /gsoc-ifttt-dev https://gsoc-ifttt-dev.toolforge.org\n    Redirect 308 /gsoc-petscan-query-articles https://gsoc-petscan-query-articles.toolforge.org\n    Redirect 308 /gsoc-worklist-tool https://gsoc-worklist-tool.toolforge.org\n    Redirect gone /gtirloni-sandbox\n    Redirect 308 /guc https://guc.toolforge.org\n    Redirect 308 /gulp https://gulp.toolforge.org\n    Redirect 308 /gun-wd https://gun-wd.toolforge.org\n    Redirect 308 /gurmukhispell https://gurmukhispell.toolforge.org\n    Redirect gone /gutrs\n    Redirect 308 /gyan https://gyan.toolforge.org\n    Redirect 308 /h2bot https://h2bot.toolforge.org\n    Redirect gone /hackmd\n    Redirect 308 /hackprowiki https://hackprowiki.toolforge.org\n    Redirect 308 /hall-of-fame https://hall-of-fame.toolforge.org\n    Redirect 308 /hamishbot https://hamishbot.toolforge.org\n    Redirect gone /harejtest\n    Redirect 308 /hartman https://hartman.toolforge.org\n    Redirect gone /harvesting-data-rafinery\n    Redirect 308 /harvesting-data-refinery https://harvesting-data-refinery.toolforge.org\n    Redirect 308 /hashtags https://hashtags.toolforge.org\n    Redirect 308 /hashtags-hub https://hashtags-hub.toolforge.org\n    Redirect 308 /hashtags-test https://hashtags-test.toolforge.org\n    Redirect 308 /hashtagwatcher https://hashtagwatcher.toolforge.org\n    Redirect gone /hassen\n    Redirect gone /hastagwatcher\n    Redirect 308 /hasteurbot https://hasteurbot.toolforge.org\n    Redirect 308 /hat-collector https://hat-collector.toolforge.org\n    Redirect 308 /hatjitsu https://hatjitsu.toolforge.org\n    Redirect 308 /hauki https://hauki.toolforge.org\n    Redirect 308 /hawk-eye-bot https://hawk-eye-bot.toolforge.org\n    Redirect 308 /hay https://hay.toolforge.org\n    Redirect 308 /hazard-bot https://hazard-bot.toolforge.org\n    Redirect 308 /hcclab https://hcclab.toolforge.org\n    Redirect 308 /hd https://hd.toolforge.org\n    Redirect 308 /hebbot https://hebbot.toolforge.org\n    Redirect 308 /heimdall https://heimdall.toolforge.org\n    Redirect 308 /heinterwiki https://heinterwiki.toolforge.org\n    Redirect 308 /hello-play https://hello-play.toolforge.org\n    Redirect 308 /help https://help.toolforge.org\n    Redirect 308 /helpearwigbot https://helpearwigbot.toolforge.org\n    Redirect 308 /helperbot https://helperbot.toolforge.org\n    Redirect 308 /helperpad https://helperpad.toolforge.org\n    Redirect 308 /hennalabs https://hennalabs.toolforge.org\n    Redirect 308 /herculebot https://herculebot.toolforge.org\n    Redirect 308 /heritage https://heritage.toolforge.org\n    Redirect gone /hermes\n    Redirect 308 /hersfold-hacb https://hersfold-hacb.toolforge.org\n    Redirect 308 /hersfold-irc https://hersfold-irc.toolforge.org\n    Redirect 308 /hersfold-web https://hersfold-web.toolforge.org\n    Redirect 308 /hewiki-tools https://hewiki-tools.toolforge.org\n    Redirect gone /he-wiktionary-rule-checker\n    Redirect gone /hexacore\n    Redirect 308 /hgztools https://hgztools.toolforge.org\n    Redirect 308 /himo https://himo.toolforge.org\n    Redirect 308 /hinotetools https://hinotetools.toolforge.org\n    Redirect gone /hippietest\n    Redirect 308 /hirise https://hirise.toolforge.org\n    Redirect 308 /historicmaps https://historicmaps.toolforge.org\n    Redirect gone /historyview\n    Redirect 308 /histsearch https://histsearch.toolforge.org\n    Redirect 308 /hiw-bot https://hiw-bot.toolforge.org\n    Redirect 308 /hiwiki https://hiwiki.toolforge.org\n    Redirect 308 /hjhhg https://hjhhg.toolforge.org\n    Redirect gone /hkjacksonhk-bot\n    Redirect gone /hll\n    Redirect 308 /holidays-viewer https://holidays-viewer.toolforge.org\n    Redirect 308 /honeypot95 https://honeypot95.toolforge.org\n    Redirect 308 /hoo https://hoo.toolforge.org\n    Redirect gone /hoo-propertysuggester-test\n    Redirect gone /hostbot\n    Redirect 308 /hotarticles https://hotarticles.toolforge.org\n    Redirect 308 /hroest https://hroest.toolforge.org\n    Redirect 308 /hroest2 https://hroest2.toolforge.org\n    Redirect 308 /hroest3 https://hroest3.toolforge.org\n    Redirect 308 /hrwiki https://hrwiki.toolforge.org\n    Redirect 308 /hsfbot https://hsfbot.toolforge.org\n    Redirect 308 /hss https://hss.toolforge.org\n    Redirect 308 /htools https://htools.toolforge.org\n    Redirect 308 /hub https://hub.toolforge.org\n    Redirect 308 /huggle https://huggle.toolforge.org\n    Redirect 308 /huji https://huji.toolforge.org\n    Redirect gone /hujibot\n    Redirect 308 /huntleybots https://huntleybots.toolforge.org\n    Redirect 308 /huwiki https://huwiki.toolforge.org\n    Redirect 308 /hylabels https://hylabels.toolforge.org\n    Redirect 308 /hypobot https://hypobot.toolforge.org\n    Redirect 308 /iabot https://iabot.toolforge.org\n    Redirect 308 /iacrop https://iacrop.toolforge.org\n    Redirect 308 /iamnetx-test https://iamnetx-test.toolforge.org\n    Redirect 308 /ia-upload https://ia-upload.toolforge.org\n    Redirect 308 /ib2test https://ib2test.toolforge.org\n    Redirect 308 /ibrahim https://ibrahim.toolforge.org\n    Redirect gone /ibrahimid\n    Redirect 308 /icalendar https://icalendar.toolforge.org\n    Redirect 308 /icelab https://icelab.toolforge.org\n    Redirect 308 /ichijo https://ichijo.toolforge.org\n    Redirect 308 /icommons https://icommons.toolforge.org\n    Redirect 308 /icu-transliterate https://icu-transliterate.toolforge.org\n    Redirect 308 /ideasbot https://ideasbot.toolforge.org\n    Redirect 308 /ideedarticles https://ideedarticles.toolforge.org\n    Redirect 308 /idsgen https://idsgen.toolforge.org\n    Redirect gone /idwiki-gpu\n    Redirect 308 /idwiki-marathon https://idwiki-marathon.toolforge.org\n    Redirect 308 /iepcbm-bot1 https://iepcbm-bot1.toolforge.org\n    Redirect 308 /iepcbm-bot-2 https://iepcbm-bot-2.toolforge.org\n    Redirect 308 /ifttt https://ifttt.toolforge.org\n    Redirect 308 /ifttt-dev https://ifttt-dev.toolforge.org\n    Redirect gone /ifttt-testing\n    Redirect 308 /igl https://igl.toolforge.org\n    Redirect 308 /igloo https://igloo.toolforge.org\n    Redirect 308 /ignator https://ignator.toolforge.org\n    Redirect 308 /iluvatarbot https://iluvatarbot.toolforge.org\n    Redirect 308 /imagechecker https://imagechecker.toolforge.org\n    Redirect 308 /imagemapedit https://imagemapedit.toolforge.org\n    Redirect gone /image-metadata-viewer\n    Redirect 308 /image-resize-calc https://image-resize-calc.toolforge.org\n    Redirect 308 /imagery https://imagery.toolforge.org\n    Redirect gone /images\n    Redirect 308 /imagetracer https://imagetracer.toolforge.org\n    Redirect gone /img-usage\n    Redirect 308 /import-500px https://import-500px.toolforge.org\n    Redirect 308 /import-freemind https://import-freemind.toolforge.org\n    Redirect 308 /inactiveadmins https://inactiveadmins.toolforge.org\n    Redirect gone /inactive-admins\n    Redirect gone /inactive-bureaucrats\n    Redirect 308 /inaturalistreviewer https://inaturalistreviewer.toolforge.org\n    Redirect 308 /incolabot https://incolabot.toolforge.org\n    Redirect 308 /index-page-mover https://index-page-mover.toolforge.org\n    Redirect 308 /indic-ocr https://indic-ocr.toolforge.org\n    Redirect 308 /indic-techcom https://indic-techcom.toolforge.org\n    Redirect 308 /indic-techcom-wiki https://indic-techcom-wiki.toolforge.org\n    Redirect 308 /indic-wd https://indic-wd.toolforge.org\n    Redirect 308 /indicwiki https://indicwiki.toolforge.org\n    Redirect 308 /indic-wscontest https://indic-wscontest.toolforge.org\n    Redirect 308 /indic-wsstats https://indic-wsstats.toolforge.org\n    Redirect 308 /info-farmer https://info-farmer.toolforge.org\n    Redirect 308 /infogeo https://infogeo.toolforge.org\n    Redirect 308 /inforobbot https://inforobbot.toolforge.org\n    Redirect 308 /inkobot https://inkobot.toolforge.org\n    Redirect gone /inkowik\n    Redirect 308 /inkpen https://inkpen.toolforge.org\n    Redirect 308 /integraality https://integraality.toolforge.org\n    Redirect 308 /intelibot https://intelibot.toolforge.org\n    Redirect 308 /intelirc https://intelirc.toolforge.org\n    Redirect 308 /interaction-timeline https://interaction-timeline.toolforge.org\n    Redirect 308 /interactoa https://interactoa.toolforge.org\n    Redirect 308 /interact-oa https://interact-oa.toolforge.org\n    Redirect 308 /interbot https://interbot.toolforge.org\n    Redirect 308 /interlang https://interlang.toolforge.org\n    Redirect 308 /interpagelinker https://interpagelinker.toolforge.org\n    Redirect 308 /intersect-contribs https://intersect-contribs.toolforge.org\n    Redirect 308 /intuition https://intuition.toolforge.org\n    Redirect 308 /invadibot https://invadibot.toolforge.org\n    Redirect 308 /ios-crashes https://ios-crashes.toolforge.org\n    Redirect 308 /ipa-speaker https://ipa-speaker.toolforge.org\n    Redirect gone /ipchanges\n    Redirect 308 /ipcheck https://ipcheck.toolforge.org\n    Redirect 308 /ipcheck-dev https://ipcheck-dev.toolforge.org\n    Redirect 308 /ipinfo https://ipinfo.toolforge.org\n    Redirect gone /iplookup\n    Redirect 308 /ipp https://ipp.toolforge.org\n    Redirect gone /ip-range-calc\n    Redirect 308 /ipwatcher https://ipwatcher.toolforge.org\n    Redirect 308 /ipython https://ipython.toolforge.org\n    Redirect gone /irc\n    Redirect gone /ircclient\n    Redirect 308 /irc-cloaks https://irc-cloaks.toolforge.org\n    Redirect 308 /irc-cloudbot https://irc-cloudbot.toolforge.org\n    Redirect 308 /irclogbot https://irclogbot.toolforge.org\n    Redirect 308 /irclogs https://irclogs.toolforge.org\n    Redirect 308 /ircredirect https://ircredirect.toolforge.org\n    Redirect 308 /ircredirector https://ircredirector.toolforge.org\n    Redirect 308 /irc-wmt https://irc-wmt.toolforge.org\n    Redirect 308 /ireas https://ireas.toolforge.org\n    Redirect 308 /irfan https://irfan.toolforge.org\n    Redirect 308 /irishbot https://irishbot.toolforge.org\n    Redirect 308 /isa https://isa.toolforge.org\n    Redirect 308 /isbn https://isbn.toolforge.org\n    Redirect 308 /isbn2tpl https://isbn2tpl.toolforge.org\n    Redirect 308 /isbn2wiki https://isbn2wiki.toolforge.org\n    Redirect 308 /isbn-tmptest https://isbn-tmptest.toolforge.org\n    Redirect 308 /isbn-usage https://isbn-usage.toolforge.org\n    Redirect 308 /is-deployed https://is-deployed.toolforge.org\n    Redirect 308 /isin https://isin.toolforge.org\n    Redirect gone /isitdeployed\n    Redirect 308 /isprangefinder https://isprangefinder.toolforge.org\n    Redirect gone /italian-wikipedia-bar\n    Redirect 308 /itemfinder https://itemfinder.toolforge.org\n    Redirect 308 /itemlister https://itemlister.toolforge.org\n    Redirect 308 /itsource https://itsource.toolforge.org\n    Redirect 308 /itwiki https://itwiki.toolforge.org\n    Redirect 308 /itwikiarticlebot https://itwikiarticlebot.toolforge.org\n    Redirect 308 /itwikinews-rss https://itwikinews-rss.toolforge.org\n    Redirect gone /it-wiki-users-leaflet\n    Redirect 308 /itwp-deletions https://itwp-deletions.toolforge.org\n    Redirect 308 /iw https://iw.toolforge.org\n    Redirect 308 /jackbot https://jackbot.toolforge.org\n    Redirect gone /james\n    Redirect 308 /jamesur-usergroupsearch https://jamesur-usergroupsearch.toolforge.org\n    Redirect 308 /janet https://janet.toolforge.org\n    Redirect gone /jarallah\n    Redirect gone /jarallah-ii\n    Redirect gone /jarbot\n    Redirect gone /jarbot-ii\n    Redirect gone /jarbot-iii\n    Redirect 308 /jarry-common https://jarry-common.toolforge.org\n    Redirect 308 /jata https://jata.toolforge.org\n    Redirect 308 /javatest https://javatest.toolforge.org\n    Redirect 308 /jawi https://jawi.toolforge.org\n    Redirect 308 /jayprakashbot https://jayprakashbot.toolforge.org\n    Redirect 308 /jbbot https://jbbot.toolforge.org\n    Redirect 308 /jbbot2 https://jbbot2.toolforge.org\n    Redirect 308 /jeh-dev https://jeh-dev.toolforge.org\n    Redirect 308 /jeltebot https://jeltebot.toolforge.org\n    Redirect 308 /jembot https://jembot.toolforge.org\n    Redirect 308 /jeremy https://jeremy.toolforge.org\n    Redirect 308 /jeremyb https://jeremyb.toolforge.org\n    Redirect 308 /jimmy https://jimmy.toolforge.org\n    Redirect 308 /jira-bugimport https://jira-bugimport.toolforge.org\n    Redirect 308 /jitrixis-test https://jitrixis-test.toolforge.org\n    Redirect 308 /jitse-bot https://jitse-bot.toolforge.org\n    Redirect 308 /jjmc89-bot https://jjmc89-bot.toolforge.org\n    Redirect 308 /jjmc89-bot-dev https://jjmc89-bot-dev.toolforge.org\n    Redirect 308 /joanjoc https://joanjoc.toolforge.org\n    Redirect gone /joaquinito01\n    Redirect gone /jogobot\n    Redirect 308 /jogotools https://jogotools.toolforge.org\n    Redirect gone /johnlewis\n    Redirect 308 /joinedventure https://joinedventure.toolforge.org\n    Redirect 308 /jorobot https://jorobot.toolforge.org\n    Redirect 308 /josve05a-test https://josve05a-test.toolforge.org\n    Redirect 308 /jouncebot https://jouncebot.toolforge.org\n    Redirect 308 /jshint https://jshint.toolforge.org\n    Redirect 308 /jtools https://jtools.toolforge.org\n    Redirect 308 /jurgennl https://jurgennl.toolforge.org\n    Redirect 308 /jury https://jury.toolforge.org\n    Redirect 308 /justincbot https://justincbot.toolforge.org\n    Redirect 308 /k8s-status https://k8s-status.toolforge.org\n    Redirect 308 /kaare https://kaare.toolforge.org\n    Redirect 308 /kaleem-bot https://kaleem-bot.toolforge.org\n    Redirect gone /kaleem-bot-i\n    Redirect 308 /kanjybot https://kanjybot.toolforge.org\n    Redirect gone /kanzatgroup\n    Redirect 308 /karsilayici https://karsilayici.toolforge.org\n    Redirect 308 /kaspar2commons https://kaspar2commons.toolforge.org\n    Redirect 308 /kasparbot https://kasparbot.toolforge.org\n    Redirect 308 /kasper-data-translator https://kasper-data-translator.toolforge.org\n    Redirect 308 /kdb https://kdb.toolforge.org\n    Redirect 308 /kenrick95bot https://kenrick95bot.toolforge.org\n    Redirect 308 /ket-bot https://ket-bot.toolforge.org\n    Redirect 308 /keystone-browser https://keystone-browser.toolforge.org\n    Redirect 308 /khanamalumat https://khanamalumat.toolforge.org\n    Redirect gone /khanomalumat\n    Redirect 308 /kharbot https://kharbot.toolforge.org\n    Redirect 308 /khebi https://khebi.toolforge.org\n    Redirect 308 /kian https://kian.toolforge.org\n    Redirect gone /kirstentest\n    Redirect 308 /klossebot https://klossebot.toolforge.org\n    Redirect 308 /kmlexport https://kmlexport.toolforge.org\n    Redirect gone /kmlexport-cswiki\n    Redirect 308 /knowledgegrapher https://knowledgegrapher.toolforge.org\n    Redirect 308 /kokolores https://kokolores.toolforge.org\n    Redirect 308 /kolbert https://kolbert.toolforge.org\n    Redirect gone /kolega\n    Redirect gone /kolega2357\n    Redirect 308 /kotools https://kotools.toolforge.org\n    Redirect 308 /kowikitools https://kowikitools.toolforge.org\n    Redirect 308 /krdbot https://krdbot.toolforge.org\n    Redirect 308 /krinklebot https://krinklebot.toolforge.org\n    Redirect 308 /krinkle-redirect https://krinkle-redirect.toolforge.org\n    Redirect 308 /ksamsok-rest https://ksamsok-rest.toolforge.org\n    Redirect 308 /ktc https://ktc.toolforge.org\n    Redirect 308 /kuwaity-tool https://kuwaity-tool.toolforge.org\n    Redirect 308 /l235-bot https://l235-bot.toolforge.org\n    Redirect 308 /l235-irc https://l235-irc.toolforge.org\n    Redirect 308 /laaknortools https://laaknortools.toolforge.org\n    Redirect 308 /labelimgohs https://labelimgohs.toolforge.org\n    Redirect gone /labstore-profiling\n    Redirect gone /lahitools\n    Redirect 308 /lalm https://lalm.toolforge.org\n    Redirect 308 /lambdabot https://lambdabot.toolforge.org\n    Redirect 308 /languagebar-ui https://languagebar-ui.toolforge.org\n    Redirect 308 /languageproofing https://languageproofing.toolforge.org\n    Redirect 308 /languageproofing-ui https://languageproofing-ui.toolforge.org\n    Redirect gone /languagetool\n    Redirect 308 /langviews https://langviews.toolforge.org\n    Redirect gone /langviews-test\n    Redirect 308 /largedatasetbot https://largedatasetbot.toolforge.org\n    Redirect gone /lastactiveadms\n    Redirect 308 /lastpics https://lastpics.toolforge.org\n    Redirect 308 /lbenedix https://lbenedix.toolforge.org\n    Redirect 308 /lcm-dashboard https://lcm-dashboard.toolforge.org\n    Redirect 308 /ldap https://ldap.toolforge.org\n    Redirect gone /ldap-beta\n    Redirect 308 /lebot https://lebot.toolforge.org\n    Redirect 308 /legobot https://legobot.toolforge.org\n    Redirect 308 /legobot-2 https://legobot-2.toolforge.org\n    Redirect gone /legoktm-adminbots\n    Redirect 308 /leptibot https://leptibot.toolforge.org\n    Redirect 308 /lestaty https://lestaty.toolforge.org\n    Redirect gone /lets-translate\n    Redirect 308 /lexeme-forms https://lexeme-forms.toolforge.org\n    Redirect 308 /lexeme-senses https://lexeme-senses.toolforge.org\n    Redirect 308 /liangent https://liangent.toolforge.org\n    Redirect 308 /liangent-django https://liangent-django.toolforge.org\n    Redirect 308 /liangent-migration-test https://liangent-migration-test.toolforge.org\n    Redirect 308 /liangent-misc https://liangent-misc.toolforge.org\n    Redirect 308 /liangent-php https://liangent-php.toolforge.org\n    Redirect 308 /liangent-py https://liangent-py.toolforge.org\n    Redirect 308 /liangent-shared https://liangent-shared.toolforge.org\n    Redirect 308 /liangent-toolserver https://liangent-toolserver.toolforge.org\n    Redirect gone /lib\n    Redirect gone /librarybase-db\n    Redirect 308 /librarybase-updater https://librarybase-updater.toolforge.org\n    Redirect 308 /libraryupgrader https://libraryupgrader.toolforge.org\n    Redirect 308 /librewiki https://librewiki.toolforge.org\n    Redirect 308 /liepp https://liepp.toolforge.org\n    Redirect 308 /lifeweb https://lifeweb.toolforge.org\n    Redirect 308 /lighttpd-test https://lighttpd-test.toolforge.org\n    Redirect 308 /lijebot https://lijebot.toolforge.org\n    Redirect gone /lilbit\n    Redirect 308 /lil-cvn https://lil-cvn.toolforge.org\n    Redirect 308 /limesmap https://limesmap.toolforge.org\n    Redirect 308 /lincolnbot https://lincolnbot.toolforge.org\n    Redirect 308 /linedwell https://linedwell.toolforge.org\n    Redirect 308 /lingua-libre https://lingua-libre.toolforge.org\n    Redirect 308 /linkedpageviews https://linkedpageviews.toolforge.org\n    Redirect 308 /linkscount https://linkscount.toolforge.org\n    Redirect 308 /linksearch https://linksearch.toolforge.org\n    Redirect gone /linkspam\n    Redirect 308 /linkstranslator https://linkstranslator.toolforge.org\n    Redirect 308 /linkwatcher https://linkwatcher.toolforge.org\n    Redirect 308 /linkybot https://linkybot.toolforge.org\n    Redirect 308 /linkypedia https://linkypedia.toolforge.org\n    Redirect 308 /list https://list.toolforge.org\n    Redirect 308 /listeria https://listeria.toolforge.org\n    Redirect 308 /listpages https://listpages.toolforge.org\n    Redirect 308 /lists https://lists.toolforge.org\n    Redirect gone /listunpatrolledpages\n    Redirect gone /livingstyleguide-prototype\n    Redirect 308 /lkftools https://lkftools.toolforge.org\n    Redirect gone /local-awb\n    Redirect gone /local-library-fulltext\n    Redirect gone /local-maps\n    Redirect gone /local-oclc-reference\n    Redirect 308 /local-reference-api https://local-reference-api.toolforge.org\n    Redirect 308 /local-root https://local-root.toolforge.org\n    Redirect 308 /local-southparkfan https://local-southparkfan.toolforge.org\n    Redirect gone /local-wikipedia-library-reference\n    Redirect 308 /locator https://locator.toolforge.org\n    Redirect 308 /locatorbot https://locatorbot.toolforge.org\n    Redirect 308 /locator-tool https://locator-tool.toolforge.org\n    Redirect gone /locktool\n    Redirect gone /logger\n    Redirect 308 /logojudge https://logojudge.toolforge.org\n    Redirect 308 /logoscope https://logoscope.toolforge.org\n    Redirect 308 /logs https://logs.toolforge.org\n    Redirect 308 /lolrrit-wm https://lolrrit-wm.toolforge.org\n    Redirect 308 /loltools https://loltools.toolforge.org\n    Redirect 308 /loltools-testing https://loltools-testing.toolforge.org\n    Redirect gone /loltrs\n    Redirect 308 /lonelylinks https://lonelylinks.toolforge.org\n    Redirect gone /low\n    Redirect 308 /lp-tools https://lp-tools.toolforge.org\n    Redirect 308 /lrbot https://lrbot.toolforge.org\n    Redirect 308 /lrtools https://lrtools.toolforge.org\n    Redirect 308 /lst-guard https://lst-guard.toolforge.org\n    Redirect gone /lta\n    Redirect 308 /ltfeedchecker https://ltfeedchecker.toolforge.org\n    Redirect 308 /lua-catscan2 https://lua-catscan2.toolforge.org\n    Redirect 308 /luke081515bot https://luke081515bot.toolforge.org\n    Redirect 308 /luke081515bot-beta https://luke081515bot-beta.toolforge.org\n    Redirect 308 /luke081515bot-dev https://luke081515bot-dev.toolforge.org\n    Redirect 308 /lyan https://lyan.toolforge.org\n    Redirect 308 /lynxbot https://lynxbot.toolforge.org\n    Redirect 308 /lziad https://lziad.toolforge.org\n    Redirect 308 /lziad-cvnbot https://lziad-cvnbot.toolforge.org\n    Redirect 308 /mabot https://mabot.toolforge.org\n    Redirect 308 /macfanbot https://macfanbot.toolforge.org\n    Redirect 308 /macfanlogbot https://macfanlogbot.toolforge.org\n    Redirect 308 /machtsinn https://machtsinn.toolforge.org\n    Redirect 308 /machtsinn-dev https://machtsinn-dev.toolforge.org\n    Redirect 308 /macommune https://macommune.toolforge.org\n    Redirect 308 /magnustools https://magnustools.toolforge.org\n    Redirect 308 /magnus-toolserver https://magnus-toolserver.toolforge.org\n    Redirect 308 /magog https://magog.toolforge.org\n    Redirect 308 /mahdiz https://mahdiz.toolforge.org\n    Redirect gone /maintainers\n    Redirect 308 /maintenance-bot https://maintenance-bot.toolforge.org\n    Redirect 308 /maintgraph https://maintgraph.toolforge.org\n    Redirect gone /maintun\n    Redirect 308 /maiwiki-editathon https://maiwiki-editathon.toolforge.org\n    Redirect 308 /majavah-bot https://majavah-bot.toolforge.org\n    Redirect 308 /makeref https://makeref.toolforge.org\n    Redirect 308 /manishearth https://manishearth.toolforge.org\n    Redirect 308 /manypedia https://manypedia.toolforge.org\n    Redirect 308 /map https://map.toolforge.org\n    Redirect 308 /mapillary-commons https://mapillary-commons.toolforge.org\n    Redirect 308 /maplayers-demo https://maplayers-demo.toolforge.org\n    Redirect gone /maplink-generator\n    Redirect 308 /map-of-monuments https://map-of-monuments.toolforge.org\n    Redirect 308 /maps https://maps.toolforge.org\n    Redirect 308 /map-search https://map-search.toolforge.org\n    Redirect 308 /mapycz https://mapycz.toolforge.org\n    Redirect gone /mardetanha-dev\n    Redirect 308 /maria https://maria.toolforge.org\n    Redirect 308 /masscamps https://masscamps.toolforge.org\n    Redirect 308 /massmailer https://massmailer.toolforge.org\n    Redirect 308 /masssly-test-tool https://masssly-test-tool.toolforge.org\n    Redirect 308 /massviews https://massviews.toolforge.org\n    Redirect gone /massviews-test\n    Redirect gone /math\n    Redirect 308 /mathbot https://mathbot.toolforge.org\n    Redirect 308 /mathqa https://mathqa.toolforge.org\n    Redirect gone /matilda\n    Redirect 308 /matsubot https://matsubot.toolforge.org\n    Redirect 308 /matthewrbot https://matthewrbot.toolforge.org\n    Redirect 308 /matthewrbot-dev https://matthewrbot-dev.toolforge.org\n    Redirect 308 /matthewrbowker https://matthewrbowker.toolforge.org\n    Redirect gone /matthewrbowker-dev\n    Redirect 308 /matthobot https://matthobot.toolforge.org\n    Redirect 308 /matvaretabellen https://matvaretabellen.toolforge.org\n    Redirect 308 /maurelio https://maurelio.toolforge.org\n    Redirect 308 /mavrikant https://mavrikant.toolforge.org\n    Redirect 308 /mbh https://mbh.toolforge.org\n    Redirect 308 /mbrt1 https://mbrt1.toolforge.org\n    Redirect 308 /mc8 https://mc8.toolforge.org\n    Redirect gone /mdaniels-acc-dev\n    Redirect 308 /mdanielsbot https://mdanielsbot.toolforge.org\n    Redirect gone /mdaniels-licencehelper\n    Redirect 308 /mdaniels-ogrebot https://mdaniels-ogrebot.toolforge.org\n    Redirect gone /mdaniels-refill-ng\n    Redirect gone /mdaniels-refill-ng-api\n    Redirect 308 /mdann52bot https://mdann52bot.toolforge.org\n    Redirect 308 /mdvt https://mdvt.toolforge.org\n    Redirect 308 /mediacounts https://mediacounts.toolforge.org\n    Redirect 308 /media-dubiety https://media-dubiety.toolforge.org\n    Redirect gone /mediaplaycounts\n    Redirect 308 /media-reports https://media-reports.toolforge.org\n    Redirect 308 /mediaviews https://mediaviews.toolforge.org\n    Redirect 308 /mediaviews-api https://mediaviews-api.toolforge.org\n    Redirect gone /mediawiki2latex\n    Redirect 308 /mediawiki-feeds https://mediawiki-feeds.toolforge.org\n    Redirect gone /mediawiki-mc\n    Redirect gone /mediawiki-mirror\n    Redirect 308 /medusatest https://medusatest.toolforge.org\n    Redirect 308 /meetbot https://meetbot.toolforge.org\n    Redirect 308 /meetingtimes https://meetingtimes.toolforge.org\n    Redirect 308 /megacron https://megacron.toolforge.org\n    Redirect 308 /mehrdadbot https://mehrdadbot.toolforge.org\n    Redirect 308 /memberbot https://memberbot.toolforge.org\n    Redirect 308 /menobot https://menobot.toolforge.org\n    Redirect 308 /merge2pdf https://merge2pdf.toolforge.org\n    Redirect 308 /merlbot https://merlbot.toolforge.org\n    Redirect 308 /merlbot2 https://merlbot2.toolforge.org\n    Redirect 308 /merlbot-read https://merlbot-read.toolforge.org\n    Redirect 308 /merlbot-web https://merlbot-web.toolforge.org\n    Redirect 308 /merl-dev https://merl-dev.toolforge.org\n    Redirect gone /merliwbot\n    Redirect gone /messenger-chatbot\n    Redirect 308 /meta https://meta.toolforge.org\n    Redirect 308 /meta2 https://meta2.toolforge.org\n    Redirect 308 /meta-dev https://meta-dev.toolforge.org\n    Redirect 308 /metamine https://metamine.toolforge.org\n    Redirect 308 /metaviews https://metaviews.toolforge.org\n    Redirect 308 /metmuseum https://metmuseum.toolforge.org\n    Redirect 308 /metricslibrary https://metricslibrary.toolforge.org\n    Redirect 308 /metricslibrary-dev https://metricslibrary-dev.toolforge.org\n    Redirect 308 /mfnf-export https://mfnf-export.toolforge.org\n    Redirect 308 /mfw-bww https://mfw-bww.toolforge.org\n    Redirect 308 /mg-bot https://mg-bot.toolforge.org\n    Redirect gone /mh-signbot\n    Redirect gone /mhwikibot\n    Redirect gone /mide\n    Redirect gone /mide-dev\n    Redirect 308 /mifterbot https://mifterbot.toolforge.org\n    Redirect 308 /mifterbot-en https://mifterbot-en.toolforge.org\n    Redirect 308 /milhistbot https://milhistbot.toolforge.org\n    Redirect 308 /mirador https://mirador.toolforge.org\n    Redirect gone /miraheze-discord-irc\n    Redirect gone /miraheze-notifico\n    Redirect 308 /mirusbot https://mirusbot.toolforge.org\n    Redirect 308 /misc2svg https://misc2svg.toolforge.org\n    Redirect 308 /missing-from-wikipedia https://missing-from-wikipedia.toolforge.org\n    Redirect 308 /missingpages https://missingpages.toolforge.org\n    Redirect 308 /missingtopics https://missingtopics.toolforge.org\n    Redirect 308 /missing-value https://missing-value.toolforge.org\n    Redirect 308 /mitmachen https://mitmachen.toolforge.org\n    Redirect 308 /mix-n-match https://mix-n-match.toolforge.org\n    Redirect 308 /mjbmr https://mjbmr.toolforge.org\n    Redirect 308 /mjbmrbot https://mjbmrbot.toolforge.org\n    Redirect 308 /mjbmr-tools https://mjbmr-tools.toolforge.org\n    Redirect 308 /mjlbot https://mjlbot.toolforge.org\n    Redirect 308 /mlbt https://mlbt.toolforge.org\n    Redirect 308 /mlwikidbupdate https://mlwikidbupdate.toolforge.org\n    Redirect 308 /mlwikisource https://mlwikisource.toolforge.org\n    Redirect 308 /mmt https://mmt.toolforge.org\n    Redirect gone /mobile\n    Redirect 308 /moedata https://moedata.toolforge.org\n    Redirect 308 /mohammedbot https://mohammedbot.toolforge.org\n    Redirect 308 /mohib https://mohib.toolforge.org\n    Redirect 308 /mohiburdu https://mohiburdu.toolforge.org\n    Redirect gone /monaco\n    Redirect 308 /mono https://mono.toolforge.org\n    Redirect 308 /montage https://montage.toolforge.org\n    Redirect 308 /montage-beta https://montage-beta.toolforge.org\n    Redirect 308 /montage-dev https://montage-dev.toolforge.org\n    Redirect 308 /monumental https://monumental.toolforge.org\n    Redirect 308 /monumental-glam https://monumental-glam.toolforge.org\n    Redirect gone /morebots\n    Redirect gone /morfeusz\n    Redirect 308 /mormegil https://mormegil.toolforge.org\n    Redirect 308 /morph https://morph.toolforge.org\n    Redirect 308 /morphtool https://morphtool.toolforge.org\n    Redirect 308 /mortar https://mortar.toolforge.org\n    Redirect gone /mostlinkedmissing\n    Redirect 308 /most-readable-pages https://most-readable-pages.toolforge.org\n    Redirect 308 /most-wanted https://most-wanted.toolforge.org\n    Redirect gone /move\n    Redirect 308 /movecat https://movecat.toolforge.org\n    Redirect 308 /movestats https://movestats.toolforge.org\n    Redirect 308 /mp https://mp.toolforge.org\n    Redirect 308 /mpaatools https://mpaatools.toolforge.org\n    Redirect 308 /mrakinsey https://mrakinsey.toolforge.org\n    Redirect 308 /mrbluebot https://mrbluebot.toolforge.org\n    Redirect gone /mrmetadata\n    Redirect 308 /msbits https://msbits.toolforge.org\n    Redirect 308 /mscbot https://mscbot.toolforge.org\n    Redirect 308 /mstools https://mstools.toolforge.org\n    Redirect 308 /msynbot https://msynbot.toolforge.org\n    Redirect gone /mtc-rest\n    Redirect gone /mu\n    Redirect 308 /multichill https://multichill.toolforge.org\n    Redirect 308 /multicompare https://multicompare.toolforge.org\n    Redirect 308 /multidesc https://multidesc.toolforge.org\n    Redirect 308 /muninnbot https://muninnbot.toolforge.org\n    Redirect 308 /murbot https://murbot.toolforge.org\n    Redirect 308 /musikanimal https://musikanimal.toolforge.org\n    Redirect gone /musikanimal-test\n    Redirect 308 /musikbot https://musikbot.toolforge.org\n    Redirect 308 /mw2sparql https://mw2sparql.toolforge.org\n    Redirect gone /mwcoreteam\n    Redirect gone /mwhook-bot\n    Redirect 308 /mwlint https://mwlint.toolforge.org\n    Redirect 308 /mwp https://mwp.toolforge.org\n    Redirect 308 /mwpackages https://mwpackages.toolforge.org\n    Redirect 308 /mwph-api https://mwph-api.toolforge.org\n    Redirect 308 /mwp-testing https://mwp-testing.toolforge.org\n    Redirect 308 /mwstew https://mwstew.toolforge.org\n    Redirect 308 /mwversion https://mwversion.toolforge.org\n    Redirect 308 /mybot https://mybot.toolforge.org\n    Redirect 308 /my-first-django-oauth-app https://my-first-django-oauth-app.toolforge.org\n    Redirect 308 /my-first-django-tool https://my-first-django-tool.toolforge.org\n    Redirect 308 /my-first-flask-oauth-tool https://my-first-flask-oauth-tool.toolforge.org\n    Redirect 308 /my-first-flask-tool https://my-first-flask-tool.toolforge.org\n    Redirect 308 /my-first-pywikibot-tool https://my-first-pywikibot-tool.toolforge.org\n    Redirect gone /my_first_tool\n    Redirect gone /myrcx\n    Redirect 308 /mysql-php-session-test https://mysql-php-session-test.toolforge.org\n    Redirect 308 /my-threads https://my-threads.toolforge.org\n    Redirect gone /mywikitool\n    Redirect gone /mzmcbride\n    Redirect 308 /nada https://nada.toolforge.org\n    Redirect 308 /nagf https://nagf.toolforge.org\n    Redirect 308 /nakon https://nakon.toolforge.org\n    Redirect 308 /namakemono https://namakemono.toolforge.org\n    Redirect 308 /napalmbot https://napalmbot.toolforge.org\n    Redirect 308 /napalmbot-sah https://napalmbot-sah.toolforge.org\n    Redirect gone /napalmtools\n    Redirect 308 /nara https://nara.toolforge.org\n    Redirect 308 /nasirkhanbot https://nasirkhanbot.toolforge.org\n    Redirect 308 /nasirkhantools https://nasirkhantools.toolforge.org\n    Redirect 308 /navlink-recommendation https://navlink-recommendation.toolforge.org\n    Redirect 308 /nearby-places-viewer https://nearby-places-viewer.toolforge.org\n    Redirect 308 /neechal https://neechal.toolforge.org\n    Redirect 308 /neechalbot https://neechalbot.toolforge.org\n    Redirect 308 /negative24-bottesting https://negative24-bottesting.toolforge.org\n    Redirect 308 /neuraltricity https://neuraltricity.toolforge.org\n    Redirect 308 /neuromat https://neuromat.toolforge.org\n    Redirect 308 /newbie-uploads https://newbie-uploads.toolforge.org\n    Redirect gone /newfiles\n    Redirect 308 /newiki-editathon https://newiki-editathon.toolforge.org\n    Redirect 308 /new-q5 https://new-q5.toolforge.org\n    Redirect 308 /new-uploads-refresher https://new-uploads-refresher.toolforge.org\n    Redirect 308 /newusers https://newusers.toolforge.org\n    Redirect 308 /newwebtest https://newwebtest.toolforge.org\n    Redirect gone /newyorkadam\n    Redirect 308 /nfcbot https://nfcbot.toolforge.org\n    Redirect 308 /nicepedia https://nicepedia.toolforge.org\n    Redirect gone /ninjastrikers\n    Redirect 308 /ninobot https://ninobot.toolforge.org\n    Redirect 308 /ninobott https://ninobott.toolforge.org\n    Redirect gone /ninthcircuit\n    Redirect gone /niosh\n    Redirect 308 /nitlow https://nitlow.toolforge.org\n    Redirect 308 /nitolw https://nitolw.toolforge.org\n    Redirect 308 /njsbot https://njsbot.toolforge.org\n    Redirect 308 /nli-wiki https://nli-wiki.toolforge.org\n    Redirect 308 /nlwikibots https://nlwikibots.toolforge.org\n    Redirect 308 /nlwikt-tools https://nlwikt-tools.toolforge.org\n    Redirect gone /nn1l2bot\n    Redirect 308 /noaabot https://noaabot.toolforge.org\n    Redirect 308 /noclaims https://noclaims.toolforge.org\n    Redirect 308 /nodejs-mw-oauth-tool https://nodejs-mw-oauth-tool.toolforge.org\n    Redirect 308 /nodetree https://nodetree.toolforge.org\n    Redirect 308 /nomad https://nomad.toolforge.org\n    Redirect 308 /nominatim https://nominatim.toolforge.org\n    Redirect 308 /nordic-museum-depicts https://nordic-museum-depicts.toolforge.org\n    Redirect gone /noref\n    Redirect 308 /notebooks https://notebooks.toolforge.org\n    Redirect 308 /notif-bot https://notif-bot.toolforge.org\n    Redirect 308 /not-in-the-other-language https://not-in-the-other-language.toolforge.org\n    Redirect 308 /npp https://npp.toolforge.org\n    Redirect 308 /nppbrowser https://nppbrowser.toolforge.org\n    Redirect 308 /nppdash https://nppdash.toolforge.org\n    Redirect 308 /npp-lv https://npp-lv.toolforge.org\n    Redirect 308 /nrhpservice https://nrhpservice.toolforge.org\n    Redirect 308 /nsfw https://nsfw.toolforge.org\n    Redirect 308 /nullbot https://nullbot.toolforge.org\n    Redirect 308 /nullzero https://nullzero.toolforge.org\n    Redirect 308 /nullzerobot https://nullzerobot.toolforge.org\n    Redirect 308 /nyandata https://nyandata.toolforge.org\n    Redirect 308 /oabot https://oabot.toolforge.org\n    Redirect 308 /oabot-wd-game https://oabot-wd-game.toolforge.org\n    Redirect gone /oar\n    Redirect 308 /oauth-hello-world https://oauth-hello-world.toolforge.org\n    Redirect 308 /oauthtest https://oauthtest.toolforge.org\n    Redirect 308 /obaid https://obaid.toolforge.org\n    Redirect 308 /ocgepub https://ocgepub.toolforge.org\n    Redirect 308 /ocounter https://ocounter.toolforge.org\n    Redirect 308 /ocr4wikisource https://ocr4wikisource.toolforge.org\n    Redirect 308 /ocrtoy https://ocrtoy.toolforge.org\n    Redirect 308 /octodata https://octodata.toolforge.org\n    Redirect 308 /octrabot https://octrabot.toolforge.org\n    Redirect gone /odder-dev\n    Redirect 308 /oddol https://oddol.toolforge.org\n    Redirect 308 /okmaps https://okmaps.toolforge.org\n    Redirect 308 /olsibot https://olsibot.toolforge.org\n    Redirect 308 /olympics https://olympics.toolforge.org\n    Redirect 308 /omarghridabot https://omarghridabot.toolforge.org\n    Redirect gone /oncall\n    Redirect gone /onetools\n    Redirect 308 /oojs-ui https://oojs-ui.toolforge.org\n    Redirect 308 /ooui-debug https://ooui-debug.toolforge.org\n    Redirect 308 /opendatasets https://opendatasets.toolforge.org\n    Redirect 308 /openhatch-wiki https://openhatch-wiki.toolforge.org\n    Redirect 308 /openipmap https://openipmap.toolforge.org\n    Redirect 308 /openrefine-wikidata https://openrefine-wikidata.toolforge.org\n    Redirect 308 /openstack-browser https://openstack-browser.toolforge.org\n    Redirect 308 /openstack-browser-dev https://openstack-browser-dev.toolforge.org\n    Redirect 308 /oqtools https://oqtools.toolforge.org\n    Redirect 308 /orator-matcher https://orator-matcher.toolforge.org\n    Redirect 308 /order-user-by-reg https://order-user-by-reg.toolforge.org\n    Redirect 308 /ordia https://ordia.toolforge.org\n    Redirect 308 /orejasbot https://orejasbot.toolforge.org\n    Redirect 308 /ores https://ores.toolforge.org\n    Redirect gone /ores-afc\n    Redirect 308 /ores-demos https://ores-demos.toolforge.org\n    Redirect 308 /ores-support-checklist https://ores-support-checklist.toolforge.org\n    Redirect 308 /orphan-groups https://orphan-groups.toolforge.org\n    Redirect 308 /orphantalk https://orphantalk.toolforge.org\n    Redirect 308 /orpheus https://orpheus.toolforge.org\n    Redirect 308 /orwell01 https://orwell01.toolforge.org\n    Redirect 308 /orwell02 https://orwell02.toolforge.org\n    Redirect 308 /os https://os.toolforge.org\n    Redirect 308 /oscoor https://oscoor.toolforge.org\n    Redirect 308 /os-deprecation https://os-deprecation.toolforge.org\n    Redirect 308 /osm https://osm.toolforge.org\n    Redirect 308 /osm4wiki https://osm4wiki.toolforge.org\n    Redirect 308 /osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 308 /osmbstat https://osmbstat.toolforge.org\n    Redirect 308 /osmcounts https://osmcounts.toolforge.org\n    Redirect 308 /osm-gadget https://osm-gadget.toolforge.org\n    Redirect 308 /osm-gadget-leaflet https://osm-gadget-leaflet.toolforge.org\n    Redirect 308 /osmkmlmap https://osmkmlmap.toolforge.org\n    Redirect 308 /osmlint https://osmlint.toolforge.org\n    Redirect 308 /otrs-helper https://otrs-helper.toolforge.org\n    Redirect 308 /otrsreports https://otrsreports.toolforge.org\n    Redirect 308 /oubli-signature-bot https://oubli-signature-bot.toolforge.org\n    Redirect gone /ouda\n    Redirect 308 /oudabot https://oudabot.toolforge.org\n    Redirect gone /outofband\n    Redirect 308 /outreachy-hiteshpr https://outreachy-hiteshpr.toolforge.org\n    Redirect 308 /outreachy-recent-edits-tool https://outreachy-recent-edits-tool.toolforge.org\n    Redirect 308 /outreachy-sagorika1996 https://outreachy-sagorika1996.toolforge.org\n    Redirect 308 /outreachy-sayani-tool https://outreachy-sayani-tool.toolforge.org\n    Redirect 308 /outreachy-shipra https://outreachy-shipra.toolforge.org\n    Redirect 308 /outreachy-user-contribution-tool https://outreachy-user-contribution-tool.toolforge.org\n    Redirect 308 /outreachy-useredits https://outreachy-useredits.toolforge.org\n    Redirect 308 /outreachy-userrank https://outreachy-userrank.toolforge.org\n    Redirect 308 /outreachy-user-ranking-tool https://outreachy-user-ranking-tool.toolforge.org\n    Redirect 308 /outreachy-wikicv https://outreachy-wikicv.toolforge.org\n    Redirect gone /outreacy-wikicv\n    Redirect 308 /owintes https://owintes.toolforge.org\n    Redirect 308 /p4-linkie https://p4-linkie.toolforge.org\n    Redirect 308 /pacetrack https://pacetrack.toolforge.org\n    Redirect 308 /pagecount https://pagecount.toolforge.org\n    Redirect 308 /pagecounts https://pagecounts.toolforge.org\n    Redirect 308 /pagepile https://pagepile.toolforge.org\n    Redirect 308 /pagepile-visual-filter https://pagepile-visual-filter.toolforge.org\n    Redirect 308 /pageshift https://pageshift.toolforge.org\n    Redirect 308 /pageviews https://pageviews.toolforge.org\n    Redirect 308 /pageviews-test https://pageviews-test.toolforge.org\n    Redirect gone /paid\n    Redirect gone /palmleaf-transcriber\n    Redirect 308 /pandata https://pandata.toolforge.org\n    Redirect 308 /panderine https://panderine.toolforge.org\n    Redirect 308 /panoviewer https://panoviewer.toolforge.org\n    Redirect 308 /para https://para.toolforge.org\n    Redirect 308 /parliamentdiagram https://parliamentdiagram.toolforge.org\n    Redirect 308 /parliament-diagram-generator https://parliament-diagram-generator.toolforge.org\n    Redirect gone /parsec\n    Redirect 308 /passlicense https://passlicense.toolforge.org\n    Redirect 308 /paste https://paste.toolforge.org\n    Redirect 308 /pastebin https://pastebin.toolforge.org\n    Redirect 308 /paste-test https://paste-test.toolforge.org\n    Redirect 308 /pathbot-test-1 https://pathbot-test-1.toolforge.org\n    Redirect 308 /pathoschild-contrib https://pathoschild-contrib.toolforge.org\n    Redirect 308 /pathway-viewer https://pathway-viewer.toolforge.org\n    Redirect 308 /patrall https://patrall.toolforge.org\n    Redirect 308 /patrollerinfo https://patrollerinfo.toolforge.org\n    Redirect 308 /patrolstats https://patrolstats.toolforge.org\n    Redirect gone /patrubot\n    Redirect 308 /pavlochembot https://pavlochembot.toolforge.org\n    Redirect 308 /paws https://paws.toolforge.org\n    Redirect 308 /paws-beta https://paws-beta.toolforge.org\n    Redirect 308 /paws-dev https://paws-dev.toolforge.org\n    Redirect 308 /paws-public https://paws-public.toolforge.org\n    Redirect 308 /paws-published https://paws-published.toolforge.org\n    Redirect 308 /paws-stats https://paws-stats.toolforge.org\n    Redirect 308 /paws-status https://paws-status.toolforge.org\n    Redirect 308 /paws-support https://paws-support.toolforge.org\n    Redirect 308 /payravi https://payravi.toolforge.org\n    Redirect 308 /pb https://pb.toolforge.org\n    Redirect 308 /pbbot https://pbbot.toolforge.org\n    Redirect 308 /peachy https://peachy.toolforge.org\n    Redirect 308 /peachy-docs https://peachy-docs.toolforge.org\n    Redirect 308 /pearbot https://pearbot.toolforge.org\n    Redirect 308 /pearbot2 https://pearbot2.toolforge.org\n    Redirect 308 /peek https://peek.toolforge.org\n    Redirect 308 /perebot https://perebot.toolforge.org\n    Redirect 308 /perfectbot https://perfectbot.toolforge.org\n    Redirect 308 /perfect-venn-diagram-generator https://perfect-venn-diagram-generator.toolforge.org\n    Redirect 308 /perflogbot https://perflogbot.toolforge.org\n    Redirect 308 /periodibot https://periodibot.toolforge.org\n    Redirect gone /periodssuck\n    Redirect gone /permission-denied-test\n    Redirect gone /perrybot\n    Redirect 308 /personabot https://personabot.toolforge.org\n    Redirect 308 /persondata https://persondata.toolforge.org\n    Redirect gone /petscan-md\n    Redirect 308 /pg2ws https://pg2ws.toolforge.org\n    Redirect gone /pgrmeval\n    Redirect 308 /phab-ban https://phab-ban.toolforge.org\n    Redirect 308 /phabbot https://phabbot.toolforge.org\n    Redirect 308 /phabricator-bug-status https://phabricator-bug-status.toolforge.org\n    Redirect 308 /phabricator-reporter https://phabricator-reporter.toolforge.org\n    Redirect gone /phab-search\n    Redirect 308 /phabsearchemail https://phabsearchemail.toolforge.org\n    Redirect 308 /phabulous https://phabulous.toolforge.org\n    Redirect gone /phamhi-tool\n    Redirect 308 /phantombot https://phantombot.toolforge.org\n    Redirect 308 /phetools https://phetools.toolforge.org\n    Redirect 308 /phoenix9 https://phoenix9.toolforge.org\n    Redirect 308 /phpcs https://phpcs.toolforge.org\n    Redirect 308 /phpinfo https://phpinfo.toolforge.org\n    Redirect gone /phragile\n    Redirect 308 /piagetbot https://piagetbot.toolforge.org\n    Redirect 308 /piagetenwiki https://piagetenwiki.toolforge.org\n    Redirect 308 /pibot https://pibot.toolforge.org\n    Redirect 308 /pib-upload https://pib-upload.toolforge.org\n    Redirect 308 /pileviews https://pileviews.toolforge.org\n    Redirect 308 /ping08bot https://ping08bot.toolforge.org\n    Redirect 308 /pinyin-wiki https://pinyin-wiki.toolforge.org\n    Redirect 308 /pipeng https://pipeng.toolforge.org\n    Redirect 308 /pirsquared https://pirsquared.toolforge.org\n    Redirect 308 /pisgbot https://pisgbot.toolforge.org\n    Redirect 308 /pitsilemu https://pitsilemu.toolforge.org\n    Redirect 308 /plagiabot https://plagiabot.toolforge.org\n    Redirect 308 /plaigsossbot https://plaigsossbot.toolforge.org\n    Redirect 308 /plaintexteditcounter https://plaintexteditcounter.toolforge.org\n    Redirect 308 /planettoearth https://planettoearth.toolforge.org\n    Redirect 308 /plantel2wiki https://plantel2wiki.toolforge.org\n    Redirect 308 /plasmahelp https://plasmahelp.toolforge.org\n    Redirect gone /platypus-qa\n    Redirect 308 /plnode https://plnode.toolforge.org\n    Redirect 308 /plstools https://plstools.toolforge.org\n    Redirect 308 /pltools https://pltools.toolforge.org\n    Redirect 308 /pmidtool https://pmidtool.toolforge.org\n    Redirect 308 /poiimport https://poiimport.toolforge.org\n    Redirect 308 /popularpages https://popularpages.toolforge.org\n    Redirect 308 /popularpages-dev https://popularpages-dev.toolforge.org\n    Redirect 308 /portal https://portal.toolforge.org\n    Redirect 308 /portalbox https://portalbox.toolforge.org\n    Redirect gone /portal-stats\n    Redirect 308 /position-holder-history https://position-holder-history.toolforge.org\n    Redirect 308 /potd https://potd.toolforge.org\n    Redirect 308 /potd-feed https://potd-feed.toolforge.org\n    Redirect 308 /potd-viewer https://potd-viewer.toolforge.org\n    Redirect 308 /potrace https://potrace.toolforge.org\n    Redirect 308 /poty https://poty.toolforge.org\n    Redirect 308 /povoconta https://povoconta.toolforge.org\n    Redirect 308 /powow https://powow.toolforge.org\n    Redirect gone /ppp-sparql\n    Redirect gone /precise-tools\n    Redirect 308 /prefbot https://prefbot.toolforge.org\n    Redirect gone /primary-sources-v2\n    Redirect 308 /primebot https://primebot.toolforge.org\n    Redirect 308 /prime-draftnocat https://prime-draftnocat.toolforge.org\n    Redirect 308 /primerpedia https://primerpedia.toolforge.org\n    Redirect gone /prism\n    Redirect gone /projanalysis\n    Redirect gone /project-fa\n    Redirect 308 /projector https://projector.toolforge.org\n    Redirect 308 /projektneuheiten-feed https://projektneuheiten-feed.toolforge.org\n    Redirect gone /projetpp\n    Redirect gone /prometheus\n    Redirect 308 /prompter https://prompter.toolforge.org\n    Redirect 308 /proneval https://proneval.toolforge.org\n    Redirect 308 /proneval-gsoc17 https://proneval-gsoc17.toolforge.org\n    Redirect gone /propertyuse\n    Redirect 308 /prop-explorer https://prop-explorer.toolforge.org\n    Redirect 308 /prosjektbot https://prosjektbot.toolforge.org\n    Redirect gone /proxies\n    Redirect 308 /prvnotifications https://prvnotifications.toolforge.org\n    Redirect 308 /ptable https://ptable.toolforge.org\n    Redirect 308 /ptbot https://ptbot.toolforge.org\n    Redirect 308 /ptbots https://ptbots.toolforge.org\n    Redirect 308 /ptools https://ptools.toolforge.org\n    Redirect 308 /ptwikis https://ptwikis.toolforge.org\n    Redirect 308 /pub https://pub.toolforge.org\n    Redirect 308 /pubchem-wikidata-updates https://pubchem-wikidata-updates.toolforge.org\n    Redirect 308 /purger https://purger.toolforge.org\n    Redirect gone /push-notifications-helper\n    Redirect 308 /pv https://pv.toolforge.org\n    Redirect 308 /pybot https://pybot.toolforge.org\n    Redirect 308 /pyshexy https://pyshexy.toolforge.org\n    Redirect 308 /pywikibot https://pywikibot.toolforge.org\n    Redirect 308 /pywikibot-grrtbt https://pywikibot-grrtbt.toolforge.org\n    Redirect 308 /pywikibot-test https://pywikibot-test.toolforge.org\n    Redirect 308 /pywikibot-testwiki https://pywikibot-testwiki.toolforge.org\n    Redirect 308 /pywikibot-tw https://pywikibot-tw.toolforge.org\n    Redirect 308 /pywikipedia https://pywikipedia.toolforge.org\n    Redirect 308 /pywowbot https://pywowbot.toolforge.org\n    Redirect 308 /qedkbot https://qedkbot.toolforge.org\n    Redirect 308 /qic https://qic.toolforge.org\n    Redirect 308 /qrcode-generator https://qrcode-generator.toolforge.org\n    Redirect gone /qsgenerator\n    Redirect 308 /quality-analyzer https://quality-analyzer.toolforge.org\n    Redirect 308 /quality-assisted-editor https://quality-assisted-editor.toolforge.org\n    Redirect 308 /quarry https://quarry.toolforge.org\n    Redirect 308 /quarrybot-enwiki https://quarrybot-enwiki.toolforge.org\n    Redirect 308 /quarry-dev https://quarry-dev.toolforge.org\n    Redirect 308 /quentintools https://quentintools.toolforge.org\n    Redirect 308 /quentinv57-bots https://quentinv57-bots.toolforge.org\n    Redirect 308 /quentinv57-common https://quentinv57-common.toolforge.org\n    Redirect 308 /query https://query.toolforge.org\n    Redirect 308 /query2map https://query2map.toolforge.org\n    Redirect 308 /query-universe https://query-universe.toolforge.org\n    Redirect 308 /quickcategories https://quickcategories.toolforge.org\n    Redirect 308 /quick-intersection https://quick-intersection.toolforge.org\n    Redirect 308 /quickpreset-migrate https://quickpreset-migrate.toolforge.org\n    Redirect gone /quickquery\n    Redirect 308 /quickstatements https://quickstatements.toolforge.org\n    Redirect 308 /quips https://quips.toolforge.org\n    Redirect gone /quotable\n    Redirect 308 /quotenbot https://quotenbot.toolforge.org\n    Redirect 308 /r96340-bot https://r96340-bot.toolforge.org\n    Redirect 308 /raehhamsang https://raehhamsang.toolforge.org\n    Redirect 308 /ragesossbot https://ragesossbot.toolforge.org\n    Redirect 308 /railways https://railways.toolforge.org\n    Redirect 308 /ralgisbot https://ralgisbot.toolforge.org\n    Redirect 308 /ramp https://ramp.toolforge.org\n    Redirect 308 /ramp2 https://ramp2.toolforge.org\n    Redirect 308 /random https://random.toolforge.org\n    Redirect 308 /random-featured https://random-featured.toolforge.org\n    Redirect 308 /randomincategory https://randomincategory.toolforge.org\n    Redirect 308 /rang https://rang.toolforge.org\n    Redirect 308 /rangeblockfinder https://rangeblockfinder.toolforge.org\n    Redirect 308 /rangecalc-improved https://rangecalc-improved.toolforge.org\n    Redirect 308 /rangecontrib https://rangecontrib.toolforge.org\n    Redirect gone /rank\n    Redirect gone /rank1\n    Redirect gone /rank4\n    Redirect 308 /raun https://raun.toolforge.org\n    Redirect 308 /raunbot https://raunbot.toolforge.org\n    Redirect 308 /raymond https://raymond.toolforge.org\n    Redirect 308 /raymondyee-test https://raymondyee-test.toolforge.org\n    Redirect 308 /rchv https://rchv.toolforge.org\n    Redirect gone /rcm\n    Redirect 308 /rcquery https://rcquery.toolforge.org\n    Redirect 308 /rc-vikidia https://rc-vikidia.toolforge.org\n    Redirect 308 /reader https://reader.toolforge.org\n    Redirect 308 /readmore https://readmore.toolforge.org\n    Redirect gone /reasomics\n    Redirect 308 /reasonator https://reasonator.toolforge.org\n    Redirect 308 /rebot https://rebot.toolforge.org\n    Redirect 308 /recitation-bot https://recitation-bot.toolforge.org\n    Redirect 308 /recoin https://recoin.toolforge.org\n    Redirect gone /recoin-sample\n    Redirect gone /recommendation\n    Redirect 308 /recom-tool https://recom-tool.toolforge.org\n    Redirect 308 /redirecter https://redirecter.toolforge.org\n    Redirect 308 /redirectviews https://redirectviews.toolforge.org\n    Redirect 308 /redirtest https://redirtest.toolforge.org\n    Redirect 308 /redpanda https://redpanda.toolforge.org\n    Redirect 308 /redwarn https://redwarn.toolforge.org\n    Redirect gone /refcreator\n    Redirect 308 /referee https://referee.toolforge.org\n    Redirect gone /referencebot\n    Redirect 308 /refill https://refill.toolforge.org\n    Redirect 308 /refill-api https://refill-api.toolforge.org\n    Redirect gone /reflinks\n    Redirect 308 /refswikipedia https://refswikipedia.toolforge.org\n    Redirect 308 /reftoolbar https://reftoolbar.toolforge.org\n    Redirect 308 /registro-cancellazioni https://registro-cancellazioni.toolforge.org\n    Redirect 308 /reise-reise https://reise-reise.toolforge.org\n    Redirect 308 /relgen https://relgen.toolforge.org\n    Redirect 308 /remarkup2wikitext https://remarkup2wikitext.toolforge.org\n    Redirect 308 /rembot https://rembot.toolforge.org\n    Redirect 308 /reminderbot https://reminderbot.toolforge.org\n    Redirect 308 /render https://render.toolforge.org\n    Redirect 308 /render-tests https://render-tests.toolforge.org\n    Redirect gone /repi\n    Redirect 308 /replacer https://replacer.toolforge.org\n    Redirect 308 /replag https://replag.toolforge.org\n    Redirect 308 /repo https://repo.toolforge.org\n    Redirect gone /reports\n    Redirect gone /reportsbot\n    Redirect 308 /reports-bot https://reports-bot.toolforge.org\n    Redirect 308 /request https://request.toolforge.org\n    Redirect 308 /retractionbot https://retractionbot.toolforge.org\n    Redirect 308 /revdiffsearch https://revdiffsearch.toolforge.org\n    Redirect 308 /revertstat https://revertstat.toolforge.org\n    Redirect 308 /revi https://revi.toolforge.org\n    Redirect 308 /revibot https://revibot.toolforge.org\n    Redirect 308 /revibot-i https://revibot-i.toolforge.org\n    Redirect 308 /revibot-ii https://revibot-ii.toolforge.org\n    Redirect 308 /revibot-iii https://revibot-iii.toolforge.org\n    Redirect gone /revibot-iv\n    Redirect 308 /reviewer https://reviewer.toolforge.org\n    Redirect 308 /reviewers https://reviewers.toolforge.org\n    Redirect 308 /review-stats https://review-stats.toolforge.org\n    Redirect 308 /reviewtools https://reviewtools.toolforge.org\n    Redirect 308 /revisions-blacklist https://revisions-blacklist.toolforge.org\n    Redirect 308 /revisionstats https://revisionstats.toolforge.org\n    Redirect 308 /revitalizebot https://revitalizebot.toolforge.org\n    Redirect 308 /rezabot https://rezabot.toolforge.org\n    Redirect 308 /reza-dev https://reza-dev.toolforge.org\n    Redirect 308 /rfahelper https://rfahelper.toolforge.org\n    Redirect 308 /rfastats https://rfastats.toolforge.org\n    Redirect 308 /rfa-tool https://rfa-tool.toolforge.org\n    Redirect 308 /rfc-analyzer https://rfc-analyzer.toolforge.org\n    Redirect 308 /rfx https://rfx.toolforge.org\n    Redirect 308 /rfx-dev https://rfx-dev.toolforge.org\n    Redirect gone /rhinosf1-afdclose\n    Redirect 308 /ricordisamoa https://ricordisamoa.toolforge.org\n    Redirect 308 /ri-diff-fixture-updater https://ri-diff-fixture-updater.toolforge.org\n    Redirect 308 /rightstool https://rightstool.toolforge.org\n    Redirect 308 /rileybot https://rileybot.toolforge.org\n    Redirect 308 /rillke https://rillke.toolforge.org\n    Redirect 308 /rillke-node https://rillke-node.toolforge.org\n    Redirect 308 /rluts https://rluts.toolforge.org\n    Redirect 308 /rmstats https://rmstats.toolforge.org\n    Redirect 308 /rm-stats https://rm-stats.toolforge.org\n    Redirect 308 /robin https://robin.toolforge.org\n    Redirect 308 /robokobot https://robokobot.toolforge.org\n    Redirect 308 /roccerbot https://roccerbot.toolforge.org\n    Redirect 308 /roccerbot-new https://roccerbot-new.toolforge.org\n    Redirect 308 /rotatebot https://rotatebot.toolforge.org\n    Redirect 308 /rotbot https://rotbot.toolforge.org\n    Redirect 308 /rotpunkt-bot https://rotpunkt-bot.toolforge.org\n    Redirect 308 /roundtripping https://roundtripping.toolforge.org\n    Redirect gone /roysmith-test\n    Redirect 308 /ruarbcom https://ruarbcom.toolforge.org\n    Redirect gone /ruarbcom-js\n    Redirect gone /rubinbot\n    Redirect gone /rubinbot2\n    Redirect gone /rubinbot3\n    Redirect 308 /ru_monuments https://ru_monuments.toolforge.org\n    Redirect gone /ruprecht\n    Redirect 308 /ruptho-interaction-classifier https://ruptho-interaction-classifier.toolforge.org\n    Redirect 308 /russbot https://russbot.toolforge.org\n    Redirect 308 /rust-hello-world https://rust-hello-world.toolforge.org\n    Redirect 308 /ru-unreliable-music-sources https://ru-unreliable-music-sources.toolforge.org\n    Redirect 308 /ruwikisource https://ruwikisource.toolforge.org\n    Redirect 308 /ruwn-misc https://ruwn-misc.toolforge.org\n    Redirect 308 /rxy https://rxy.toolforge.org\n    Redirect 308 /ryanbot https://ryanbot.toolforge.org\n    Redirect 308 /ryu https://ryu.toolforge.org\n    Redirect gone /saami\n    Redirect 308 /sal https://sal.toolforge.org\n    Redirect 308 /sammour https://sammour.toolforge.org\n    Redirect 308 /samoabot https://samoabot.toolforge.org\n    Redirect 308 /sanaa https://sanaa.toolforge.org\n    Redirect 308 /saper https://saper.toolforge.org\n    Redirect 308 /sau226test https://sau226test.toolforge.org\n    Redirect gone /sau226-wiki-bug-testing\n    Redirect gone /sbl\n    Redirect 308 /sbot https://sbot.toolforge.org\n    Redirect 308 /scaldingbot https://scaldingbot.toolforge.org\n    Redirect gone /scfc-test-can-be-deleted-anytime\n    Redirect 308 /schema2code https://schema2code.toolforge.org\n    Redirect 308 /scholia https://scholia.toolforge.org\n    Redirect 308 /scholiaanalytics https://scholiaanalytics.toolforge.org\n    Redirect 308 /scholia-analytics https://scholia-analytics.toolforge.org\n    Redirect 308 /scholia-dev https://scholia-dev.toolforge.org\n    Redirect 308 /schoolwiki https://schoolwiki.toolforge.org\n    Redirect 308 /schubota https://schubota.toolforge.org\n    Redirect 308 /scottytools https://scottytools.toolforge.org\n    Redirect 308 /scotus-recordings https://scotus-recordings.toolforge.org\n    Redirect gone /scratch\n    Redirect 308 /scribe https://scribe.toolforge.org\n    Redirect 308 /scrotbot https://scrotbot.toolforge.org\n    Redirect 308 /sdbot https://sdbot.toolforge.org\n    Redirect gone /sdm\n    Redirect 308 /sdzerobot https://sdzerobot.toolforge.org\n    Redirect 308 /search https://search.toolforge.org\n    Redirect 308 /searchdiff https://searchdiff.toolforge.org\n    Redirect 308 /searchsbl https://searchsbl.toolforge.org\n    Redirect 308 /section-links https://section-links.toolforge.org\n    Redirect 308 /section-redirect https://section-redirect.toolforge.org\n    Redirect 308 /section-watchlist https://section-watchlist.toolforge.org\n    Redirect 308 /security https://security.toolforge.org\n    Redirect 308 /secwatch https://secwatch.toolforge.org\n    Redirect 308 /seealsology https://seealsology.toolforge.org\n    Redirect 308 /seijabot https://seijabot.toolforge.org\n    Redirect 308 /sejmedits https://sejmedits.toolforge.org\n    Redirect 308 /selim https://selim.toolforge.org\n    Redirect 308 /sequencer https://sequencer.toolforge.org\n    Redirect 308 /sergobot-statistics https://sergobot-statistics.toolforge.org\n    Redirect 308 /serobot https://serobot.toolforge.org\n    Redirect 308 /service001 https://service001.toolforge.org\n    Redirect 308 /serviceawards https://serviceawards.toolforge.org\n    Redirect 308 /sficbot https://sficbot.toolforge.org\n    Redirect gone /sge-jobs\n    Redirect gone /sge-status\n    Redirect 308 /shbibbot https://shbibbot.toolforge.org\n    Redirect 308 /shbot https://shbot.toolforge.org\n    Redirect 308 /shex-author https://shex-author.toolforge.org\n    Redirect 308 /shexia https://shexia.toolforge.org\n    Redirect 308 /shex-simple https://shex-simple.toolforge.org\n    Redirect 308 /shexstatements https://shexstatements.toolforge.org\n    Redirect 308 /shextranslator https://shextranslator.toolforge.org\n    Redirect 308 /shfbot https://shfbot.toolforge.org\n    Redirect 308 /shields https://shields.toolforge.org\n    Redirect gone /shilad\n    Redirect 308 /shortnames https://shortnames.toolforge.org\n    Redirect 308 /shorturls https://shorturls.toolforge.org\n    Redirect 308 /shotbot https://shotbot.toolforge.org\n    Redirect gone /shri\n    Redirect 308 /shrinitools https://shrinitools.toolforge.org\n    Redirect 308 /shrugbot https://shrugbot.toolforge.org\n    Redirect gone /shtest\n    Redirect 308 /shuaib https://shuaib.toolforge.org\n    Redirect 308 /shuaib-bot https://shuaib-bot.toolforge.org\n    Redirect 308 /shumariyat https://shumariyat.toolforge.org\n    Redirect 308 /sibu https://sibu.toolforge.org\n    Redirect 308 /sibutest https://sibutest.toolforge.org\n    Redirect 308 /sighting https://sighting.toolforge.org\n    Redirect 308 /sigma https://sigma.toolforge.org\n    Redirect 308 /signature-checker https://signature-checker.toolforge.org\n    Redirect gone /signature-manquante-bot\n    Redirect 308 /signatures https://signatures.toolforge.org\n    Redirect 308 /sign-language-browser https://sign-language-browser.toolforge.org\n    Redirect 308 /signpost https://signpost.toolforge.org\n    Redirect 308 /signpostlab https://signpostlab.toolforge.org\n    Redirect 308 /similarity https://similarity.toolforge.org\n    Redirect 308 /simple https://simple.toolforge.org\n    Redirect 308 /simplecommonstransfer https://simplecommonstransfer.toolforge.org\n    Redirect gone /simplewd\n    Redirect 308 /simplewikt https://simplewikt.toolforge.org\n    Redirect 308 /sistercities https://sistercities.toolforge.org\n    Redirect 308 /sit https://sit.toolforge.org\n    Redirect 308 /sitematrix https://sitematrix.toolforge.org\n    Redirect 308 /sites https://sites.toolforge.org\n    Redirect 308 /siteviews https://siteviews.toolforge.org\n    Redirect gone /siwiki\n    Redirect 308 /sixdegrees https://sixdegrees.toolforge.org\n    Redirect 308 /slakrtools https://slakrtools.toolforge.org\n    Redirect 308 /sleepybot https://sleepybot.toolforge.org\n    Redirect 308 /slf https://slf.toolforge.org\n    Redirect gone /slipjack\n    Redirect gone /slow-parse\n    Redirect 308 /slumpartikel https://slumpartikel.toolforge.org\n    Redirect 308 /smv-description-translations https://smv-description-translations.toolforge.org\n    Redirect 308 /sn1pebot https://sn1pebot.toolforge.org\n    Redirect 308 /snaevar-bot https://snaevar-bot.toolforge.org\n    Redirect 308 /snapshots https://snapshots.toolforge.org\n    Redirect gone /snowolf\n    Redirect 308 /socksfinder https://socksfinder.toolforge.org\n    Redirect 308 /sonarqubebot https://sonarqubebot.toolforge.org\n    Redirect 308 /soni https://soni.toolforge.org\n    Redirect 308 /sonitool https://sonitool.toolforge.org\n    Redirect 308 /sourcemd https://sourcemd.toolforge.org\n    Redirect 308 /southparkfan https://southparkfan.toolforge.org\n    Redirect gone /soweego\n    Redirect 308 /sowhy https://sowhy.toolforge.org\n    Redirect 308 /sp1 https://sp1.toolforge.org\n    Redirect 308 /spacemedia https://spacemedia.toolforge.org\n    Redirect 308 /spamforbreakfast https://spamforbreakfast.toolforge.org\n    Redirect 308 /spamwatch https://spamwatch.toolforge.org\n    Redirect 308 /sparqlblocks https://sparqlblocks.toolforge.org\n    Redirect 308 /sparrow https://sparrow.toolforge.org\n    Redirect 308 /spbot https://spbot.toolforge.org\n    Redirect gone /spdx\n    Redirect 308 /speedpatrolling https://speedpatrolling.toolforge.org\n    Redirect gone /speed-patrolling\n    Redirect 308 /speedydeletionwikia https://speedydeletionwikia.toolforge.org\n    Redirect 308 /spellbot https://spellbot.toolforge.org\n    Redirect 308 /spellbot-dev https://spellbot-dev.toolforge.org\n    Redirect 308 /spellcheck https://spellcheck.toolforge.org\n    Redirect 308 /sphinxcapt-leaderboard https://sphinxcapt-leaderboard.toolforge.org\n    Redirect 308 /spiarticleanalyzer https://spiarticleanalyzer.toolforge.org\n    Redirect 308 /spi-tools https://spi-tools.toolforge.org\n    Redirect 308 /spi-tools-dev https://spi-tools-dev.toolforge.org\n    Redirect 308 /splinetools https://splinetools.toolforge.org\n    Redirect 308 /sqid https://sqid.toolforge.org\n    Redirect 308 /sql-optimizer https://sql-optimizer.toolforge.org\n    Redirect 308 /sqoop-tool https://sqoop-tool.toolforge.org\n    Redirect 308 /squirrelnestbot https://squirrelnestbot.toolforge.org\n    Redirect gone /squirrelnest-upf\n    Redirect 308 /srish https://srish.toolforge.org\n    Redirect gone /srr-sandbox\n    Redirect 308 /srwiki https://srwiki.toolforge.org\n    Redirect gone /srwiki-dev\n    Redirect 308 /stabilizerbot https://stabilizerbot.toolforge.org\n    Redirect gone /stang\n    Redirect 308 /stashbot https://stashbot.toolforge.org\n    Redirect 308 /static https://static.toolforge.org\n    Redirect 308 /static-browser https://static-browser.toolforge.org\n    Redirect gone /static-bz\n    Redirect 308 /statistics https://statistics.toolforge.org\n    Redirect gone /statistics-api\n    Redirect 308 /statisticsbot https://statisticsbot.toolforge.org\n    Redirect gone /stats\n    Redirect 308 /status https://status.toolforge.org\n    Redirect 308 /steinsplitter https://steinsplitter.toolforge.org\n    Redirect 308 /steinsplitter2 https://steinsplitter2.toolforge.org\n    Redirect 308 /stemmeberettigelse https://stemmeberettigelse.toolforge.org\n    Redirect 308 /stereoskopie https://stereoskopie.toolforge.org\n    Redirect 308 /stewardbots https://stewardbots.toolforge.org\n    Redirect gone /stewbots\n    Redirect 308 /stimmberechtigung https://stimmberechtigung.toolforge.org\n    Redirect 308 /stockholm-mania https://stockholm-mania.toolforge.org\n    Redirect 308 /stradbot https://stradbot.toolforge.org\n    Redirect 308 /strephit https://strephit.toolforge.org\n    Redirect gone /strikertest2017-08-23\n    Redirect gone /stub\n    Redirect 308 /studiesworld https://studiesworld.toolforge.org\n    Redirect 308 /stwalkerster https://stwalkerster.toolforge.org\n    Redirect gone /styleguide\n    Redirect 308 /stylize https://stylize.toolforge.org\n    Redirect 308 /submitter https://submitter.toolforge.org\n    Redirect gone /suchaserver\n    Redirect 308 /suggestbot https://suggestbot.toolforge.org\n    Redirect 308 /suggestor https://suggestor.toolforge.org\n    Redirect 308 /suha https://suha.toolforge.org\n    Redirect 308 /sulinfo https://sulinfo.toolforge.org\n    Redirect 308 /summary-generator https://summary-generator.toolforge.org\n    Redirect 308 /super-admin-bot https://super-admin-bot.toolforge.org\n    Redirect 308 /supercount https://supercount.toolforge.org\n    Redirect 308 /superyetkin https://superyetkin.toolforge.org\n    Redirect 308 /superzerocool https://superzerocool.toolforge.org\n    Redirect 308 /suyash-sandarbh https://suyash-sandarbh.toolforge.org\n    Redirect 308 /svenbot https://svenbot.toolforge.org\n    Redirect 308 /svgcheck https://svgcheck.toolforge.org\n    Redirect 308 /svgedit https://svgedit.toolforge.org\n    Redirect gone /svgedit-dashboard\n    Redirect 308 /svg-map-maker https://svg-map-maker.toolforge.org\n    Redirect 308 /svgtranslate https://svgtranslate.toolforge.org\n    Redirect 308 /svgtranslate-test https://svgtranslate-test.toolforge.org\n    Redirect 308 /svgworkaroundbot https://svgworkaroundbot.toolforge.org\n    Redirect 308 /svwikihostbot https://svwikihostbot.toolforge.org\n    Redirect 308 /svwiktionary https://svwiktionary.toolforge.org\n    Redirect 308 /swedishforsamling https://swedishforsamling.toolforge.org\n    Redirect 308 /swviewer https://swviewer.toolforge.org\n    Redirect 308 /sybot51 https://sybot51.toolforge.org\n    Redirect 308 /symabot https://symabot.toolforge.org\n    Redirect 308 /symacbot https://symacbot.toolforge.org\n    Redirect gone /sync-badges\n    Redirect 308 /t13bot https://t13bot.toolforge.org\n    Redirect 308 /t187305-demo https://t187305-demo.toolforge.org\n    Redirect gone /t1943bot\n    Redirect 308 /tabernacle https://tabernacle.toolforge.org\n    Redirect 308 /tabletop https://tabletop.toolforge.org\n    Redirect 308 /tabular-wikidata https://tabular-wikidata.toolforge.org\n    Redirect 308 /tabulist https://tabulist.toolforge.org\n    Redirect 308 /tahir https://tahir.toolforge.org\n    Redirect gone /taim-bot\n    Redirect 308 /tamilwikitools https://tamilwikitools.toolforge.org\n    Redirect 308 /tantan-www https://tantan-www.toolforge.org\n    Redirect 308 /taqpol-test https://taqpol-test.toolforge.org\n    Redirect 308 /tarrow-dev https://tarrow-dev.toolforge.org\n    Redirect 308 /tasmania https://tasmania.toolforge.org\n    Redirect gone /taweetham\n    Redirect 308 /taxobot https://taxobot.toolforge.org\n    Redirect 308 /taxoboxalyzer https://taxoboxalyzer.toolforge.org\n    Redirect 308 /taxonbot https://taxonbot.toolforge.org\n    Redirect 308 /taxonbota https://taxonbota.toolforge.org\n    Redirect 308 /taxonkatbot https://taxonkatbot.toolforge.org\n    Redirect 308 /tb-dev https://tb-dev.toolforge.org\n    Redirect 308 /tbloemink https://tbloemink.toolforge.org\n    Redirect 308 /tc-rc https://tc-rc.toolforge.org\n    Redirect 308 /tedbot https://tedbot.toolforge.org\n    Redirect 308 /teg https://teg.toolforge.org\n    Redirect gone /tei2wikitext\n    Redirect gone /telefabot\n    Redirect 308 /telegrambot https://telegrambot.toolforge.org\n    Redirect 308 /telegram-wikilinksbot https://telegram-wikilinksbot.toolforge.org\n    Redirect gone /telnet\n    Redirect gone /templatecheck\n    Redirect 308 /templatecount https://templatecount.toolforge.org\n    Redirect gone /templatedata-filler\n    Redirect 308 /templatehoard https://templatehoard.toolforge.org\n    Redirect 308 /templatetiger https://templatetiger.toolforge.org\n    Redirect 308 /templatetransclusioncheck https://templatetransclusioncheck.toolforge.org\n    Redirect 308 /templator https://templator.toolforge.org\n    Redirect 308 /tenst https://tenst.toolforge.org\n    Redirect 308 /tessdata https://tessdata.toolforge.org\n    Redirect gone /tesseract-ocr-service\n    Redirect 308 /test https://test.toolforge.org\n    Redirect 308 /test0 https://test0.toolforge.org\n    Redirect gone /test001\n    Redirect gone /test2\n    Redirect gone /test3\n    Redirect 308 /test999 https://test999.toolforge.org\n    Redirect 308 /test-generic-webservice https://test-generic-webservice.toolforge.org\n    Redirect gone /testingtool\n    Redirect 308 /test-lighttpd-precise https://test-lighttpd-precise.toolforge.org\n    Redirect gone /test-lighttpd-trusty\n    Redirect 308 /test-music1201 https://test-music1201.toolforge.org\n    Redirect gone /test-stats\n    Redirect gone /test-t188680\n    Redirect 308 /test-tool https://test-tool.toolforge.org\n    Redirect 308 /testtool-101 https://testtool-101.toolforge.org\n    Redirect 308 /test-vvv https://test-vvv.toolforge.org\n    Redirect gone /test-webservice-generic\n    Redirect gone /testwiki\n    Redirect gone /testwikis\n    Redirect 308 /testwikistats https://testwikistats.toolforge.org\n    Redirect 308 /tewptrends https://tewptrends.toolforge.org\n    Redirect 308 /texbot https://texbot.toolforge.org\n    Redirect gone /text2hash\n    Redirect 308 /textcatdemo https://textcatdemo.toolforge.org\n    Redirect 308 /tfaprotbot https://tfaprotbot.toolforge.org\n    Redirect gone /tgwikibot\n    Redirect 308 /thanatos https://thanatos.toolforge.org\n    Redirect 308 /thankyou https://thankyou.toolforge.org\n    Redirect 308 /thebook https://thebook.toolforge.org\n    Redirect 308 /thedavetool https://thedavetool.toolforge.org\n    Redirect 308 /thedavetools https://thedavetools.toolforge.org\n    Redirect gone /thehelpfulbot\n    Redirect gone /themesquitobot\n    Redirect gone /theoslittlebot\n    Redirect 308 /thesandbot https://thesandbot.toolforge.org\n    Redirect 308 /thibaut120094 https://thibaut120094.toolforge.org\n    Redirect 308 /thibtools https://thibtools.toolforge.org\n    Redirect 308 /thparkthsql https://thparkthsql.toolforge.org\n    Redirect gone /threed2commons\n    Redirect gone /tichy\n    Redirect 308 /tilde https://tilde.toolforge.org\n    Redirect 308 /tilescraper https://tilescraper.toolforge.org\n    Redirect 308 /time-convertor https://time-convertor.toolforge.org\n    Redirect 308 /timerelengteam https://timerelengteam.toolforge.org\n    Redirect 308 /timescale https://timescale.toolforge.org\n    Redirect 308 /title-search https://title-search.toolforge.org\n    Redirect 308 /tivenbot https://tivenbot.toolforge.org\n    Redirect 308 /tmg https://tmg.toolforge.org\n    Redirect 308 /toc https://toc.toolforge.org\n    Redirect 308 /tom29739-testing https://tom29739-testing.toolforge.org\n    Redirect gone /tombot3\n    Redirect gone /tomthirteen\n    Redirect gone /tool\n    Redirect 308 /tool123 https://tool123.toolforge.org\n    Redirect 308 /tool-account https://tool-account.toolforge.org\n    Redirect 308 /tool-db-usage https://tool-db-usage.toolforge.org\n    Redirect 308 /toolflow https://toolflow.toolforge.org\n    Redirect 308 /toolforge https://toolforge.toolforge.org\n    Redirect 308 /toolforge-gallery https://toolforge-gallery.toolforge.org\n    Redirect 308 /tool-gallery https://tool-gallery.toolforge.org\n    Redirect 308 /toolhub https://toolhub.toolforge.org\n    Redirect 308 /tool-log-stats https://tool-log-stats.toolforge.org\n    Redirect 308 /toolpilot https://toolpilot.toolforge.org\n    Redirect gone /tools\n    Redirect 308 /toolschecker https://toolschecker.toolforge.org\n    Redirect gone /toolschecker-ge-ws\n    Redirect gone /toolschecker-k8s-ws\n    Redirect 308 /toolscript https://toolscript.toolforge.org\n    Redirect 308 /tools-dashboard https://tools-dashboard.toolforge.org\n    Redirect 308 /toolserver https://toolserver.toolforge.org\n    Redirect gone /toolserverdb\n    Redirect 308 /toolserver-home-archive https://toolserver-home-archive.toolforge.org\n    Redirect 308 /tools-gallery https://tools-gallery.toolforge.org\n    Redirect 308 /tools-info https://tools-info.toolforge.org\n    Redirect 308 /tooltranslate https://tooltranslate.toolforge.org\n    Redirect 308 /toolviews https://toolviews.toolforge.org\n    Redirect 308 /top500importer https://top500importer.toolforge.org\n    Redirect 308 /topic-finder https://topic-finder.toolforge.org\n    Redirect 308 /topicmatcher https://topicmatcher.toolforge.org\n    Redirect 308 /topviews https://topviews.toolforge.org\n    Redirect gone /topviews-test\n    Redirect gone /torintool\n    Redirect 308 /torproxy https://torproxy.toolforge.org\n    Redirect 308 /totoazero https://totoazero.toolforge.org\n    Redirect 308 /tour https://tour.toolforge.org\n    Redirect 308 /tpbot https://tpbot.toolforge.org\n    Redirect 308 /tptools https://tptools.toolforge.org\n    Redirect 308 /traffic-grapher https://traffic-grapher.toolforge.org\n    Redirect 308 /train-blockers https://train-blockers.toolforge.org\n    Redirect 308 /translate https://translate.toolforge.org\n    Redirect 308 /translate-bot https://translate-bot.toolforge.org\n    Redirect 308 /translate-category https://translate-category.toolforge.org\n    Redirect 308 /translatemplate https://translatemplate.toolforge.org\n    Redirect gone /translation-server\n    Redirect 308 /tree-of-life https://tree-of-life.toolforge.org\n    Redirect 308 /trend https://trend.toolforge.org\n    Redirect gone /tristessa\n    Redirect gone /tronbot\n    Redirect gone /trusty-deprecation\n    Redirect gone /trusty-tools\n    Redirect 308 /tsbot https://tsbot.toolforge.org\n    Redirect 308 /tsreports https://tsreports.toolforge.org\n    Redirect 308 /tsreports-dev https://tsreports-dev.toolforge.org\n    Redirect gone /tts\n    Redirect 308 /tts-comparison https://tts-comparison.toolforge.org\n    Redirect 308 /ttt https://ttt.toolforge.org\n    Redirect 308 /tulsibot https://tulsibot.toolforge.org\n    Redirect 308 /tusc https://tusc.toolforge.org\n    Redirect 308 /tweep https://tweep.toolforge.org\n    Redirect 308 /twinkle https://twinkle.toolforge.org\n    Redirect 308 /twitterbot https://twitterbot.toolforge.org\n    Redirect 308 /twitter-retweet-bot https://twitter-retweet-bot.toolforge.org\n    Redirect 308 /twitter-to-commons https://twitter-to-commons.toolforge.org\n    Redirect 308 /twl https://twl.toolforge.org\n    Redirect gone /twl17\n    Redirect 308 /twlbot https://twlbot.toolforge.org\n    Redirect 308 /twltools https://twltools.toolforge.org\n    Redirect gone /typo-categorizer\n    Redirect 308 /typos https://typos.toolforge.org\n    Redirect 308 /typoscan https://typoscan.toolforge.org\n    Redirect gone /uaachecker\n    Redirect 308 /ukbot https://ukbot.toolforge.org\n    Redirect 308 /ukwiki-analysis https://ukwiki-analysis.toolforge.org\n    Redirect 308 /unblock https://unblock.toolforge.org\n    Redirect 308 /unblockbot https://unblockbot.toolforge.org\n    Redirect gone /unique\n    Redirect 308 /universalviewer https://universalviewer.toolforge.org\n    Redirect 308 /un-ocha-maps https://un-ocha-maps.toolforge.org\n    Redirect gone /unpatrollededitstats\n    Redirect 308 /unpaywall-importer https://unpaywall-importer.toolforge.org\n    Redirect 308 /unpkg https://unpkg.toolforge.org\n    Redirect gone /uploadhelper-ir\n    Redirect 308 /upload-stats-bot https://upload-stats-bot.toolforge.org\n    Redirect 308 /urbanecmbot https://urbanecmbot.toolforge.org\n    Redirect 308 /urbanecm-test-1 https://urbanecm-test-1.toolforge.org\n    Redirect 308 /urdubot https://urdubot.toolforge.org\n    Redirect 308 /urdusign https://urdusign.toolforge.org\n    Redirect 308 /urduspellchecker https://urduspellchecker.toolforge.org\n    Redirect 308 /url2commons https://url2commons.toolforge.org\n    Redirect 308 /url-converter https://url-converter.toolforge.org\n    Redirect 308 /urlinktranslator https://urlinktranslator.toolforge.org\n    Redirect gone /us\n    Redirect 308 /usage https://usage.toolforge.org\n    Redirect 308 /user https://user.toolforge.org\n    Redirect gone /user-activity\n    Redirect 308 /user-contributions-feed https://user-contributions-feed.toolforge.org\n    Redirect gone /useredit\n    Redirect gone /useredit2\n    Redirect gone /useredits\n    Redirect gone /useredits1\n    Redirect 308 /usergraph https://usergraph.toolforge.org\n    Redirect gone /user-id\n    Redirect 308 /userimpact https://userimpact.toolforge.org\n    Redirect 308 /usernamesearch https://usernamesearch.toolforge.org\n    Redirect gone /userrank\n    Redirect 308 /usersearch https://usersearch.toolforge.org\n    Redirect 308 /user-stats https://user-stats.toolforge.org\n    Redirect 308 /userviews https://userviews.toolforge.org\n    Redirect gone /usrd-tools\n    Redirect 308 /usualsuspects https://usualsuspects.toolforge.org\n    Redirect gone /ut-bot\n    Redirect gone /ut-interwiki-bot\n    Redirect gone /ut-iw-bot\n    Redirect gone /vagrant2\n    Redirect gone /vagrant-test\n    Redirect 308 /valhallasw-testing-tool https://valhallasw-testing-tool.toolforge.org\n    Redirect 308 /validator https://validator.toolforge.org\n    Redirect 308 /valstat https://valstat.toolforge.org\n    Redirect 308 /valutabot https://valutabot.toolforge.org\n    Redirect 308 /vcat https://vcat.toolforge.org\n    Redirect 308 /veblenbot https://veblenbot.toolforge.org\n    Redirect 308 /vector-dark https://vector-dark.toolforge.org\n    Redirect 308 /vectorizer https://vectorizer.toolforge.org\n    Redirect 308 /veertje-tools https://veertje-tools.toolforge.org\n    Redirect gone /vendor\n    Redirect 308 /verb-import-game https://verb-import-game.toolforge.org\n    Redirect 308 /verification-pages https://verification-pages.toolforge.org\n    Redirect 308 /versions https://versions.toolforge.org\n    Redirect 308 /viafbot https://viafbot.toolforge.org\n    Redirect 308 /vic https://vic.toolforge.org\n    Redirect 308 /video2commons https://video2commons.toolforge.org\n    Redirect 308 /video2commons-socketio https://video2commons-socketio.toolforge.org\n    Redirect 308 /video2commons-test https://video2commons-test.toolforge.org\n    Redirect 308 /video-cat-bot https://video-cat-bot.toolforge.org\n    Redirect 308 /videoconvert https://videoconvert.toolforge.org\n    Redirect 308 /videoconvertion https://videoconvertion.toolforge.org\n    Redirect gone /video-cut-tool\n    Redirect gone /video-cut-tool-back-end\n    Redirect gone /video-cut-tool-front-end\n    Redirect 308 /videotutorials https://videotutorials.toolforge.org\n    Redirect gone /vipbot\n    Redirect gone /vip-space-media\n    Redirect 308 /vishwin https://vishwin.toolforge.org\n    Redirect 308 /visualcategories https://visualcategories.toolforge.org\n    Redirect 308 /visualeditor https://visualeditor.toolforge.org\n    Redirect 308 /vitalarticlesbot https://vitalarticlesbot.toolforge.org\n    Redirect 308 /vizbot https://vizbot.toolforge.org\n    Redirect 308 /vltools https://vltools.toolforge.org\n    Redirect 308 /vocabulary-index https://vocabulary-index.toolforge.org\n    Redirect 308 /voiceintro https://voiceintro.toolforge.org\n    Redirect 308 /volby2wiki https://volby2wiki.toolforge.org\n    Redirect 308 /voxelbot https://voxelbot.toolforge.org\n    Redirect 308 /vrb https://vrb.toolforge.org\n    Redirect 308 /vtwo https://vtwo.toolforge.org\n    Redirect 308 /vuln-checker https://vuln-checker.toolforge.org\n    Redirect 308 /vvoters https://vvoters.toolforge.org\n    Redirect 308 /v-wiki https://v-wiki.toolforge.org\n    Redirect 308 /wafaashohdy https://wafaashohdy.toolforge.org\n    Redirect 308 /wahldiagramm https://wahldiagramm.toolforge.org\n    Redirect 308 /wahrani https://wahrani.toolforge.org\n    Redirect 308 /wakt https://wakt.toolforge.org\n    Redirect 308 /wakt-beta https://wakt-beta.toolforge.org\n    Redirect 308 /wam https://wam.toolforge.org\n    Redirect 308 /wam-article-suggestions https://wam-article-suggestions.toolforge.org\n    Redirect 308 /wanderwiki https://wanderwiki.toolforge.org\n    Redirect gone /wantedpages\n    Redirect gone /warped-to-iframe\n    Redirect 308 /watchr https://watchr.toolforge.org\n    Redirect 308 /watch-translations https://watch-translations.toolforge.org\n    Redirect 308 /watroles https://watroles.toolforge.org\n    Redirect 308 /wawewewi https://wawewewi.toolforge.org\n    Redirect 308 /wb2rdf https://wb2rdf.toolforge.org\n    Redirect 308 /wbwcalculator https://wbwcalculator.toolforge.org\n    Redirect 308 /wcam-bot https://wcam-bot.toolforge.org\n    Redirect 308 /wcdo https://wcdo.toolforge.org\n    Redirect 308 /wcna-2018-registration https://wcna-2018-registration.toolforge.org\n    Redirect 308 /wd-analysis https://wd-analysis.toolforge.org\n    Redirect 308 /wd-analyst https://wd-analyst.toolforge.org\n    Redirect gone /wdapi\n    Redirect 308 /wd-art https://wd-art.toolforge.org\n    Redirect 308 /wdbeoupdate https://wdbeoupdate.toolforge.org\n    Redirect gone /wd-books-cleaner\n    Redirect 308 /wdcat https://wdcat.toolforge.org\n    Redirect 308 /wd-constraints-precheck https://wd-constraints-precheck.toolforge.org\n    Redirect 308 /wd-depicts https://wd-depicts.toolforge.org\n    Redirect 308 /wdgraph https://wdgraph.toolforge.org\n    Redirect 308 /wdic https://wdic.toolforge.org\n    Redirect 308 /wdimagecheck https://wdimagecheck.toolforge.org\n    Redirect 308 /wd-image-positions https://wd-image-positions.toolforge.org\n    Redirect 308 /wdmap https://wdmap.toolforge.org\n    Redirect 308 /wdml https://wdml.toolforge.org\n    Redirect 308 /wdmm https://wdmm.toolforge.org\n    Redirect 308 /wdprop https://wdprop.toolforge.org\n    Redirect 308 /wdpv https://wdpv.toolforge.org\n    Redirect 308 /wdq2sparql https://wdq2sparql.toolforge.org\n    Redirect gone /wdq_checker\n    Redirect 308 /wdq-checker https://wdq-checker.toolforge.org\n    Redirect 308 /wdqs-tutorial https://wdqs-tutorial.toolforge.org\n    Redirect gone /wdqs-wmil-tutorial\n    Redirect 308 /wd-query-builder https://wd-query-builder.toolforge.org\n    Redirect 308 /wd-rank https://wd-rank.toolforge.org\n    Redirect 308 /wdrdr https://wdrdr.toolforge.org\n    Redirect 308 /wdreconcile https://wdreconcile.toolforge.org\n    Redirect 308 /wd-ref-island https://wd-ref-island.toolforge.org\n    Redirect 308 /wd-shex-infer https://wd-shex-infer.toolforge.org\n    Redirect 308 /wdumps https://wdumps.toolforge.org\n    Redirect 308 /wdvaliditycheck https://wdvaliditycheck.toolforge.org\n    Redirect 308 /wdvd https://wdvd.toolforge.org\n    Redirect 308 /wd-word-cloud https://wd-word-cloud.toolforge.org\n    Redirect 308 /weapon-of-mass-description https://weapon-of-mass-description.toolforge.org\n    Redirect 308 /weapon-of-mass-description-test https://weapon-of-mass-description-test.toolforge.org\n    Redirect gone /weather\n    Redirect 308 /webarchivebot https://webarchivebot.toolforge.org\n    Redirect gone /webchat\n    Redirect 308 /weeklypedia https://weeklypedia.toolforge.org\n    Redirect 308 /welcomebot https://welcomebot.toolforge.org\n    Redirect 308 /welcomebots-bn https://welcomebots-bn.toolforge.org\n    Redirect 308 /wembedder https://wembedder.toolforge.org\n    Redirect 308 /wfind https://wfind.toolforge.org\n    Redirect 308 /whichsub https://whichsub.toolforge.org\n    Redirect 308 /whodunnit https://whodunnit.toolforge.org\n    Redirect 308 /whois https://whois.toolforge.org\n    Redirect 308 /whois-referral https://whois-referral.toolforge.org\n    Redirect 308 /whois-referral-dev https://whois-referral-dev.toolforge.org\n    Redirect 308 /whymbot https://whymbot.toolforge.org\n    Redirect 308 /widar https://widar.toolforge.org\n    Redirect 308 /wigi https://wigi.toolforge.org\n    Redirect gone /wiki\n    Redirect 308 /wiki13 https://wiki13.toolforge.org\n    Redirect 308 /wiki17an-watcher https://wiki17an-watcher.toolforge.org\n    Redirect 308 /wiki2email https://wiki2email.toolforge.org\n    Redirect 308 /wiki2html https://wiki2html.toolforge.org\n    Redirect 308 /wiki2prop https://wiki2prop.toolforge.org\n    Redirect 308 /wiki3d https://wiki3d.toolforge.org\n    Redirect gone /wiki-android-apps\n    Redirect 308 /wikiarthistory https://wikiarthistory.toolforge.org\n    Redirect 308 /wiki-as-git https://wiki-as-git.toolforge.org\n    Redirect 308 /wikiatlas2014 https://wikiatlas2014.toolforge.org\n    Redirect gone /wikibase-databridge-storybook\n    Redirect 308 /wikibase-nearest-neighbors https://wikibase-nearest-neighbors.toolforge.org\n    Redirect 308 /wikibase-preview https://wikibase-preview.toolforge.org\n    Redirect 308 /wikibase-termbox-storybook https://wikibase-termbox-storybook.toolforge.org\n    Redirect 308 /wikibattle https://wikibattle.toolforge.org\n    Redirect 308 /wikiblame https://wikiblame.toolforge.org\n    Redirect 308 /wikibookassamese https://wikibookassamese.toolforge.org\n    Redirect gone /wikibot\n    Redirect 308 /wikibugs https://wikibugs.toolforge.org\n    Redirect 308 /wikicaptcha https://wikicaptcha.toolforge.org\n    Redirect 308 /wikicite-dashboard https://wikicite-dashboard.toolforge.org\n    Redirect gone /wikicitevis\n    Redirect 308 /wikicontest https://wikicontest.toolforge.org\n    Redirect 308 /wikicontrib https://wikicontrib.toolforge.org\n    Redirect 308 /wikicup https://wikicup.toolforge.org\n    Redirect 308 /wikidata-analysis https://wikidata-analysis.toolforge.org\n    Redirect 308 /wikidata-annotation-tool https://wikidata-annotation-tool.toolforge.org\n    Redirect 308 /wikidata-compare https://wikidata-compare.toolforge.org\n    Redirect 308 /wikidata-delinker https://wikidata-delinker.toolforge.org\n    Redirect 308 /wikidata-edits https://wikidata-edits.toolforge.org\n    Redirect gone /wikidata-exports\n    Redirect 308 /wikidata-externalid-url https://wikidata-externalid-url.toolforge.org\n    Redirect 308 /wikidata-game https://wikidata-game.toolforge.org\n    Redirect 308 /wikidatagroup https://wikidatagroup.toolforge.org\n    Redirect 308 /wikidata-janitor https://wikidata-janitor.toolforge.org\n    Redirect 308 /wikidata-map https://wikidata-map.toolforge.org\n    Redirect 308 /wikidata-nolabels https://wikidata-nolabels.toolforge.org\n    Redirect 308 /wikidata-primary-sources https://wikidata-primary-sources.toolforge.org\n    Redirect 308 /wikidata-reconcile https://wikidata-reconcile.toolforge.org\n    Redirect 308 /wikidata-redirects-conflicts-reports https://wikidata-redirects-conflicts-reports.toolforge.org\n    Redirect 308 /wikidata-slicer https://wikidata-slicer.toolforge.org\n    Redirect 308 /wikidata-terminator https://wikidata-terminator.toolforge.org\n    Redirect 308 /wikidata-timeline https://wikidata-timeline.toolforge.org\n    Redirect 308 /wikidata-todo https://wikidata-todo.toolforge.org\n    Redirect 308 /wikidata-trends https://wikidata-trends.toolforge.org\n    Redirect gone /wikidiff2-dev-test\n    Redirect 308 /wikidipendenza https://wikidipendenza.toolforge.org\n    Redirect 308 /wikiedudashboard https://wikiedudashboard.toolforge.org\n    Redirect 308 /wikiedudashboard-test https://wikiedudashboard-test.toolforge.org\n    Redirect 308 /wikiemojibot https://wikiemojibot.toolforge.org\n    Redirect gone /wikifactmine-api\n    Redirect gone /wikifactmine-pipeline\n    Redirect 308 /wikifeeds https://wikifeeds.toolforge.org\n    Redirect 308 /wikifile-transfer https://wikifile-transfer.toolforge.org\n    Redirect 308 /wiki-geo https://wiki-geo.toolforge.org\n    Redirect 308 /wikigrade https://wikigrade.toolforge.org\n    Redirect 308 /wikigraph https://wikigraph.toolforge.org\n    Redirect 308 /wikigrok https://wikigrok.toolforge.org\n    Redirect 308 /wikihistory https://wikihistory.toolforge.org\n    Redirect 308 /wikihoaxbuster https://wikihoaxbuster.toolforge.org\n    Redirect 308 /wikiholic https://wikiholic.toolforge.org\n    Redirect 308 /wikiinfo https://wikiinfo.toolforge.org\n    Redirect 308 /wikiintent https://wikiintent.toolforge.org\n    Redirect gone /wiki-irc\n    Redirect 308 /wikijourney https://wikijourney.toolforge.org\n    Redirect 308 /wikilaeum https://wikilaeum.toolforge.org\n    Redirect 308 /wikilinkbot https://wikilinkbot.toolforge.org\n    Redirect 308 /wikilint https://wikilint.toolforge.org\n    Redirect 308 /wikilist https://wikilist.toolforge.org\n    Redirect 308 /wikilogos https://wikilogos.toolforge.org\n    Redirect 308 /wikiloop https://wikiloop.toolforge.org\n    Redirect 308 /wikiloop-testflight https://wikiloop-testflight.toolforge.org\n    Redirect 308 /wikiloves https://wikiloves.toolforge.org\n    Redirect 308 /wikilovesdownloads https://wikilovesdownloads.toolforge.org\n    Redirect gone /wiki-loves-earth-2019\n    Redirect 308 /wikiloveslove https://wikiloveslove.toolforge.org\n    Redirect 308 /wikimap https://wikimap.toolforge.org\n    Redirect gone /wikimediadc\n    Redirect 308 /wikimedia-france https://wikimedia-france.toolforge.org\n    Redirect 308 /wikimediaui-styleguide https://wikimediaui-styleguide.toolforge.org\n    Redirect 308 /wikiment https://wikiment.toolforge.org\n    Redirect 308 /wikimetrics https://wikimetrics.toolforge.org\n    Redirect 308 /wikimetrics-development https://wikimetrics-development.toolforge.org\n    Redirect 308 /wikimetrics-production https://wikimetrics-production.toolforge.org\n    Redirect 308 /wikimetrics-staging https://wikimetrics-staging.toolforge.org\n    Redirect 308 /wikiminiatlas https://wikiminiatlas.toolforge.org\n    Redirect 308 /wiki-needs-pictures https://wiki-needs-pictures.toolforge.org\n    Redirect 308 /wikinews https://wikinews.toolforge.org\n    Redirect 308 /wikinews-importer https://wikinews-importer.toolforge.org\n    Redirect 308 /wikinews-pagestats https://wikinews-pagestats.toolforge.org\n    Redirect 308 /wikinity https://wikinity.toolforge.org\n    Redirect 308 /wikinity-test https://wikinity-test.toolforge.org\n    Redirect 308 /wikintu https://wikintu.toolforge.org\n    Redirect 308 /wiki-osm-markers https://wiki-osm-markers.toolforge.org\n    Redirect 308 /wikioverdata https://wikioverdata.toolforge.org\n    Redirect gone /wikipagestats\n    Redirect gone /wikipathways2wiki\n    Redirect gone /wikipedia-android-builds\n    Redirect 308 /wikipedia-contributor-locations https://wikipedia-contributor-locations.toolforge.org\n    Redirect 308 /wikipedia-fetch-content https://wikipedia-fetch-content.toolforge.org\n    Redirect gone /wikipedia-library\n    Redirect gone /wikipedia-readability\n    Redirect 308 /wikipedia-zh-irc-query https://wikipedia-zh-irc-query.toolforge.org\n    Redirect 308 /wikipedia-zh-message-transport https://wikipedia-zh-message-transport.toolforge.org\n    Redirect 308 /wikipheme https://wikipheme.toolforge.org\n    Redirect 308 /wikiplayer https://wikiplayer.toolforge.org\n    Redirect 308 /wikiportretdev https://wikiportretdev.toolforge.org\n    Redirect 308 /wikiprovenance https://wikiprovenance.toolforge.org\n    Redirect gone /wikipulse\n    Redirect 308 /wikiradio https://wikiradio.toolforge.org\n    Redirect 308 /wikiresearch https://wikiresearch.toolforge.org\n    Redirect 308 /wiki-retweet-bot https://wiki-retweet-bot.toolforge.org\n    Redirect 308 /wikiscanner https://wikiscanner.toolforge.org\n    Redirect 308 /wikisense https://wikisense.toolforge.org\n    Redirect 308 /wikishield https://wikishield.toolforge.org\n    Redirect 308 /wikishootme https://wikishootme.toolforge.org\n    Redirect 308 /wikisoba https://wikisoba.toolforge.org\n    Redirect gone /wikisource-api\n    Redirect 308 /wikisource-bot https://wikisource-bot.toolforge.org\n    Redirect gone /wikisource-penguin-classics\n    Redirect 308 /wikisource-tweets https://wikisource-tweets.toolforge.org\n    Redirect 308 /wikistats https://wikistats.toolforge.org\n    Redirect 308 /wikistreak https://wikistreak.toolforge.org\n    Redirect 308 /wikistream https://wikistream.toolforge.org\n    Redirect 308 /wikistreams https://wikistreams.toolforge.org\n    Redirect 308 /wikitable https://wikitable.toolforge.org\n    Redirect 308 /wikitabs https://wikitabs.toolforge.org\n    Redirect gone /wiki-talk\n    Redirect gone /wiki-talk2\n    Redirect 308 /wikitanvirbot https://wikitanvirbot.toolforge.org\n    Redirect 308 /wiki-task-locator https://wiki-task-locator.toolforge.org\n    Redirect 308 /wikitasks https://wikitasks.toolforge.org\n    Redirect 308 /wikitei https://wikitei.toolforge.org\n    Redirect 308 /wiki-tennis https://wiki-tennis.toolforge.org\n    Redirect 308 /wikitest-rtl https://wikitest-rtl.toolforge.org\n    Redirect 308 /wikitext-deprecation https://wikitext-deprecation.toolforge.org\n    Redirect 308 /wikitime https://wikitime.toolforge.org\n    Redirect 308 /wiki-todo https://wiki-todo.toolforge.org\n    Redirect gone /wikitool\n    Redirect 308 /wikitools https://wikitools.toolforge.org\n    Redirect 308 /wiki-topic https://wiki-topic.toolforge.org\n    Redirect gone /wikitranslator\n    Redirect 308 /wikitree https://wikitree.toolforge.org\n    Redirect 308 /wikitrends https://wikitrends.toolforge.org\n    Redirect 308 /wikitrip https://wikitrip.toolforge.org\n    Redirect 308 /wikitweets https://wikitweets.toolforge.org\n    Redirect 308 /wikiviewstats https://wikiviewstats.toolforge.org\n    Redirect 308 /wikiviewstats2 https://wikiviewstats2.toolforge.org\n    Redirect 308 /wikivisualization https://wikivisualization.toolforge.org\n    Redirect 308 /wikiviz https://wikiviz.toolforge.org\n    Redirect 308 /wikivoyage https://wikivoyage.toolforge.org\n    Redirect 308 /wikiwatchdog https://wikiwatchdog.toolforge.org\n    Redirect 308 /wikiwhatsappbot https://wikiwhatsappbot.toolforge.org\n    Redirect 308 /wikiwho https://wikiwho.toolforge.org\n    Redirect 308 /wiki-zulip-bot https://wiki-zulip-bot.toolforge.org\n    Redirect 308 /wiktioutils https://wiktioutils.toolforge.org\n    Redirect 308 /wikt-mwtest https://wikt-mwtest.toolforge.org\n    Redirect 308 /wikyrillomat https://wikyrillomat.toolforge.org\n    Redirect 308 /william-avery-bot https://william-avery-bot.toolforge.org\n    Redirect 308 /winput https://winput.toolforge.org\n    Redirect 308 /winter https://winter.toolforge.org\n    Redirect 308 /wiper https://wiper.toolforge.org\n    Redirect 308 /wiper-languagetool https://wiper-languagetool.toolforge.org\n    Redirect 308 /withoutaname https://withoutaname.toolforge.org\n    Redirect 308 /wits https://wits.toolforge.org\n    Redirect 308 /wiwosm https://wiwosm.toolforge.org\n    Redirect 308 /wizarbot https://wizarbot.toolforge.org\n    Redirect 308 /wle https://wle.toolforge.org\n    Redirect 308 /wlm https://wlm.toolforge.org\n    Redirect 308 /wlm-analytics https://wlm-analytics.toolforge.org\n    Redirect gone /wlm-de-redirect\n    Redirect 308 /wlm-de-utils https://wlm-de-utils.toolforge.org\n    Redirect gone /wlmin\n    Redirect 308 /wlm-italy https://wlm-italy.toolforge.org\n    Redirect 308 /wlmitaly2019 https://wlmitaly2019.toolforge.org\n    Redirect 308 /wlmjudging https://wlmjudging.toolforge.org\n    Redirect gone /wlm-jury-at\n    Redirect gone /wlm-jury-yarl\n    Redirect 308 /wlm-maps https://wlm-maps.toolforge.org\n    Redirect 308 /wlm-nl-table-gen https://wlm-nl-table-gen.toolforge.org\n    Redirect 308 /wlmpacommonscat https://wlmpacommonscat.toolforge.org\n    Redirect 308 /wlm-stats https://wlm-stats.toolforge.org\n    Redirect 308 /wlmtrafo https://wlmtrafo.toolforge.org\n    Redirect 308 /wlmuk https://wlmuk.toolforge.org\n    Redirect gone /wlmus\n    Redirect 308 /wlm-us https://wlm-us.toolforge.org\n    Redirect 308 /wlxjury https://wlxjury.toolforge.org\n    Redirect 308 /wm-bot https://wm-bot.toolforge.org\n    Redirect 308 /wm-cee-spring https://wm-cee-spring.toolforge.org\n    Redirect 308 /wmcharts https://wmcharts.toolforge.org\n    Redirect 308 /wm-commons-emoji-bot https://wm-commons-emoji-bot.toolforge.org\n    Redirect 308 /wmcounter https://wmcounter.toolforge.org\n    Redirect gone /wmcsbot\n    Redirect 308 /wmcz https://wmcz.toolforge.org\n    Redirect 308 /wmde-access https://wmde-access.toolforge.org\n    Redirect gone /wmde-editconflict-test\n    Redirect gone /wmde-graphql-demo\n    Redirect gone /wmde-inline-movedparagraphs\n    Redirect gone /wmde-reference-previews\n    Redirect gone /wmde-uca-test\n    Redirect 308 /wmde-wd-team https://wmde-wd-team.toolforge.org\n    Redirect gone /wmfdbbot\n    Redirect gone /wmflabs-collection\n    Redirect 308 /wmf-sitematrix https://wmf-sitematrix.toolforge.org\n    Redirect gone /wmf-task-samtar\n    Redirect 308 /wmf-wiki-info https://wmf-wiki-info.toolforge.org\n    Redirect 308 /wmit https://wmit.toolforge.org\n    Redirect 308 /wmk-dev https://wmk-dev.toolforge.org\n    Redirect 308 /wmk-tools https://wmk-tools.toolforge.org\n    Redirect 308 /wm-metrics https://wm-metrics.toolforge.org\n    Redirect 308 /wmopbot https://wmopbot.toolforge.org\n    Redirect 308 /wmpt https://wmpt.toolforge.org\n    Redirect 308 /wmtran https://wmtran.toolforge.org\n    Redirect 308 /wmukevents https://wmukevents.toolforge.org\n    Redirect 308 /wmve https://wmve.toolforge.org\n    Redirect 308 /wmve-dev https://wmve-dev.toolforge.org\n    Redirect 308 /wm-ve-needcheck-reporter https://wm-ve-needcheck-reporter.toolforge.org\n    Redirect 308 /wnegar https://wnegar.toolforge.org\n    Redirect 308 /women-in-red https://women-in-red.toolforge.org\n    Redirect 308 /wordcount https://wordcount.toolforge.org\n    Redirect 308 /wordpile https://wordpile.toolforge.org\n    Redirect gone /wordtowiki\n    Redirect gone /wordtowiki-dev\n    Redirect 308 /worklist-tool https://worklist-tool.toolforge.org\n    Redirect gone /wpb\n    Redirect 308 /wpcleaner https://wpcleaner.toolforge.org\n    Redirect 308 /wpp https://wpp.toolforge.org\n    Redirect 308 /wprequests https://wprequests.toolforge.org\n    Redirect 308 /wp-signpost https://wp-signpost.toolforge.org\n    Redirect 308 /wptestblog https://wptestblog.toolforge.org\n    Redirect gone /wptestblog2\n    Redirect gone /wpv\n    Redirect 308 /wp-world https://wp-world.toolforge.org\n    Redirect 308 /wrating https://wrating.toolforge.org\n    Redirect 308 /wrcp https://wrcp.toolforge.org\n    Redirect gone /ws2wd\n    Redirect 308 /ws-cat-browser https://ws-cat-browser.toolforge.org\n    Redirect 308 /wscontest https://wscontest.toolforge.org\n    Redirect 308 /wsdetool https://wsdetool.toolforge.org\n    Redirect 308 /wsexport https://wsexport.toolforge.org\n    Redirect 308 /wsexport-test https://wsexport-test.toolforge.org\n    Redirect 308 /ws-google-ocr https://ws-google-ocr.toolforge.org\n    Redirect gone /w-slackbot\n    Redirect gone /wsm\n    Redirect 308 /ws-search https://ws-search.toolforge.org\n    Redirect 308 /wudele https://wudele.toolforge.org\n    Redirect 308 /wugbot https://wugbot.toolforge.org\n    Redirect 308 /www https://www.toolforge.org\n    Redirect gone /www-portal-builder\n    Redirect 308 /www-portal-staging https://www-portal-staging.toolforge.org\n    Redirect gone /wyimportbot\n    Redirect 308 /xdebugtesting https://xdebugtesting.toolforge.org\n    Redirect 308 /xdebugtesting1 https://xdebugtesting1.toolforge.org\n    Redirect 308 /xdebugtesting2 https://xdebugtesting2.toolforge.org\n    Redirect 308 /xecfork https://xecfork.toolforge.org\n    Redirect 308 /xfd-stats https://xfd-stats.toolforge.org\n    Redirect 308 /xiplus https://xiplus.toolforge.org\n    Redirect 308 /xlinkbot https://xlinkbot.toolforge.org\n    Redirect gone /xmlfeed\n    Redirect 308 /xn--dk8hv9g https://xn--dk8hv9g.toolforge.org\n    Redirect gone /xoxoxo-dev\n    Redirect 308 /xqtools https://xqtools.toolforge.org\n    Redirect gone /xslack\n    Redirect 308 /xstools https://xstools.toolforge.org\n    Redirect 308 /xtools https://xtools.toolforge.org\n    Redirect 308 /xtools-articleinfo https://xtools-articleinfo.toolforge.org\n    Redirect gone /xtools-autoedits\n    Redirect 308 /xtools-dev https://xtools-dev.toolforge.org\n    Redirect 308 /xtools-ec https://xtools-ec.toolforge.org\n    Redirect 308 /xtools-mab-dev https://xtools-mab-dev.toolforge.org\n    Redirect gone /xtools-pages\n    Redirect 308 /xxn-testtool https://xxn-testtool.toolforge.org\n    Redirect 308 /xxn-tools https://xxn-tools.toolforge.org\n    Redirect 308 /xyzbot https://xyzbot.toolforge.org\n    Redirect 308 /yabbr https://yabbr.toolforge.org\n    Redirect 308 /yabot https://yabot.toolforge.org\n    Redirect 308 /yacbot https://yacbot.toolforge.org\n    Redirect 308 /yadfa https://yadfa.toolforge.org\n    Redirect 308 /yadkard https://yadkard.toolforge.org\n    Redirect 308 /yapperbot https://yapperbot.toolforge.org\n    Redirect 308 /yarl https://yarl.toolforge.org\n    Redirect 308 /yashe https://yashe.toolforge.org\n    Redirect 308 /yellowbot https://yellowbot.toolforge.org\n    Redirect 308 /yellowcard https://yellowcard.toolforge.org\n    Redirect gone /yemen\n    Redirect 308 /yichengtry https://yichengtry.toolforge.org\n    Redirect 308 /yifeibot https://yifeibot.toolforge.org\n    Redirect 308 /yjsw https://yjsw.toolforge.org\n    Redirect 308 /youtube-channel https://youtube-channel.toolforge.org\n    Redirect 308 /ytcleaner https://ytcleaner.toolforge.org\n    Redirect gone /ytrb\n    Redirect gone /yunomi\n    Redirect 308 /zayenbot https://zayenbot.toolforge.org\n    Redirect 308 /zbot https://zbot.toolforge.org\n    Redirect 308 /zedlikbot https://zedlikbot.toolforge.org\n    Redirect 308 /zenithbot https://zenithbot.toolforge.org\n    Redirect 308 /zerabot https://zerabot.toolforge.org\n    Redirect 308 /zhaofeng-test https://zhaofeng-test.toolforge.org\n    Redirect 308 /zhdeletionpedia https://zhdeletionpedia.toolforge.org\n    Redirect gone /zhnotofu\n    Redirect 308 /zhtest https://zhtest.toolforge.org\n    Redirect 308 /zhuyifei1999-test https://zhuyifei1999-test.toolforge.org\n    Redirect 308 /zhwiki https://zhwiki.toolforge.org\n    Redirect 308 /zhwiki-qualifications-check https://zhwiki-qualifications-check.toolforge.org\n    Redirect 308 /zhwiki-teleirc https://zhwiki-teleirc.toolforge.org\n    Redirect 308 /zhwiki-username-check https://zhwiki-username-check.toolforge.org\n    Redirect 308 /zimmerbot https://zimmerbot.toolforge.org\n    Redirect 308 /zkbot https://zkbot.toolforge.org\n    Redirect 308 /zonestamp https://zonestamp.toolforge.org\n    Redirect 308 /zoomable-images https://zoomable-images.toolforge.org\n    Redirect 308 /zoomproof https://zoomproof.toolforge.org\n    Redirect 308 /zoomviewer https://zoomviewer.toolforge.org\n    Redirect gone /zoranzoki21bot\n    Redirect gone /zoranzoki21wiki\n    Redirect gone /zppixbot\n    Redirect gone /zppixbot-test\n    Redirect 308 /zumraband https://zumraband.toolforge.org\n    Redirect 308 /zurichpopulation https://zurichpopulation.toolforge.org\n    Redirect 308 /zygimantus-dev https://zygimantus-dev.toolforge.org\n    Redirect 308 /zygserv https://zygserv.toolforge.org\n\n    # This must be listed last given Apache processes Redirect rules in order.\n    # Also, do a 302 in case something goes horribly wrong with the rules before this.\n    Redirect 302 / https://toolforge.org/\n</VirtualHost>\n"}},{"type":"Httpd::Conf","title":"www.toolserver.org","tags":["httpd::conf","httpd","conf","www.toolserver.org","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/site.pp","line":50,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","conf_type":"sites","priority":50,"content":"# SPDX-License-Identifier: Apache-2.0\n#####################################################################\n### THIS FILE IS MANAGED BY PUPPET\n### puppet:///toolserver_legacy/www.toolserver.org.erb\n#####################################################################\n# vim: filetype=apache\n\n<VirtualHost *:80>\n    ServerAdmin root@toolserver.org\n    ServerName www.toolserver.org\n    ServerAlias toolserver.org\n    ServerAlias *.www.toolserver.org\n    ServerAlias stable.toolserver.org\n    ServerAlias wiki.toolserver.org\n    ServerAlias status.toolserver.org\n\n    DocumentRoot /var/www/www.toolserver.org/\n\n    RewriteEngine on\n    RewriteCond %{SERVER_PORT} !^443$\n    RewriteRule ^/(.*)$ https://www.toolserver.org/$1 [L,NE,R]\n\n    CustomLog /var/log/apache2/www.toolserver.org-access.log wmf\n    ErrorLog /var/log/apache2/www.toolserver.org-error.log\n    LogLevel warn\n    ServerSignature Off\n</VirtualHost>\n\n<VirtualHost *:443>\n    ServerAdmin root@toolserver.org\n    ServerName www.toolserver.org\n    ServerAlias toolserver.org\n    ServerAlias *.www.toolserver.org\n    ServerAlias stable.toolserver.org\n    ServerAlias wiki.toolserver.org\n\n    SSLEngine on\n    SSLCertificateFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.crt\n    SSLCertificateChainFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.chained.crt\n    SSLCertificateKeyFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.key\n    SSLProtocol all -SSLv2 -SSLv3\n    SSLCipherSuite -ALL:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA\n    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256\n    SSLHonorCipherOrder On\n    SSLOpenSSLConfCmd DHParameters \"/etc/ssl/dhparam.pem\"\n\n    Header always set Report-To '{\"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{\"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\"}]}'\n    Header always set NEL '{\"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}'\n\n    DocumentRoot /var/www/www.toolserver.org/\n\n    CustomLog /var/log/apache2/www.toolserver.org-access.log wmf\n    ErrorLog /var/log/apache2/www.toolserver.org-error.log\n    LogLevel warn\n    ServerSignature Off\n\n    ErrorDocument 404 /notfound.html\n\n    RewriteEngine on\n\n    # Redirect wiki.toolserver.org to mediawiki.org.\n    RewriteCond %{HTTP_HOST} =wiki.toolserver.org [NC]\n    RewriteRule ^/view/(.*)$ https://www.mediawiki.org/wiki/Toolserver:$1 [L,R]\n\n    # T224265 - Redirect ~nikola/svgtranslate.php?svg=* to svgtranslate tool\n    RewriteCond %{QUERY_STRING} ^svg=(.*)$\n    RewriteRule ^/~nikola/svgtranslate.php$ https://svgtranslate.toolforge.org/search?filename=%1 [L,R=301]\n\n    # Redirects from www.toolserver.org\n    #\n    Redirect 301 /~acc https://accounts.wmflabs.org\n    Redirect 301 /~alexxw/Denkmalliste https://denkmalliste.toolforge.org\n    Redirect 301 /~alexz/pop/config.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/edit.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/requests.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/view.php https://popularpages.toolforge.org/view.php\n    Redirect 301 /~alexz/pop/graph.php https://popularpages.toolforge.org/graph.php\n    Redirect 301 /~alexz/pop/list.php https://popularpages.toolforge.org/list.php\n    Redirect 301 /~alexz/pop/index.php https://popularpages.toolforge.org/index.php\n    Redirect 301 /~alexz/amdb https://amdb.toolforge.org\n    Redirect 301 /~alexz/coord https://geophotoreq.toolforge.org\n    Redirect 301 /~apper/pd/person https://persondata.toolforge.org/p\n    Redirect 301 /~apper/pd https://persondata.toolforge.org\n    Redirect 301 /~apper/sc https://spellcheck.toolforge.org\n    Redirect 301 /~apper/ipp https://ipp.toolforge.org\n    Redirect 301 /~beta16 https://betabot.toolforge.org\n    Redirect 301 /~betacommand https://betacommand-dev.toolforge.org\n    Redirect 301 /~bryan/flickr https://flickr.toolforge.org/byebye.html\n    Redirect 301 /~chm/blockcalc https://blockcalc.toolforge.org\n    Redirect 301 /~chm/blockcalc.php https://blockcalc.toolforge.org\n    Redirect 301 /~dalba/gbcfarsi.fcgi https://yadkard.toolforge.org\n    Redirect 301 /~dalba/yadkard.fcgi https://yadkard.toolforge.org\n    Redirect 301 /~dalba https://wikitech.wikimedia.org/wiki/User:Dalba\n    Redirect 301 /~daniel/WikiSense/CatScan.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~daniel/potd https://potd-feed.toolforge.org/potd.php\n    Redirect 301 /~daniel/WikiSense/CategoryIntersect.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~daniel/WikiSense/Contributors.php https://xtools.toolforge.org/articleinfo\n    Redirect 301 /~daniel/WikiSense https://wikisense.toolforge.org\n    Redirect 301 /~dapete/ime https://imagemapedit.toolforge.org\n    Redirect 301 /~dapete/random/dewiki-exzellent.php https://random-featured.toolforge.org/redirect/dewiki\n    Redirect 301 /~dapete/random/dewiki-lesenswert.php https://random-featured.toolforge.org/redirect/dewiki-lesenswert\n    Redirect 301 /~dapete/random/enwiki-featured.php https://random-featured.toolforge.org/redirect/enwiki\n    Redirect 301 /~dapete/random/enwiki-good.php https://random-featured.toolforge.org/redirect/enwiki-good\n    Redirect 301 /~dapete/random/nowiki-utmerkede.php https://random-featured.toolforge.org/redirect/nowiki\n    Redirect 301 /~dapete/random/nowiki-anbefalte.php https://random-featured.toolforge.org/redirect/nowiki-anbefalte\n    Redirect 301 /~dapete/rss/dewikinews.php https://dewikinews-rss.toolforge.org\n    Redirect 301 /~dapete/wikinews-rss/rss-de-cat.php https://dewikinews-rss.toolforge.org/kategorie\n    Redirect 301 /~dapete/catgraph/graph.php https://vcat.toolforge.org/catgraphRedirect\n    Redirect 301 /~dapete/catgraph https://vcat.toolforge.org/catgraphConvert\n    Redirect 301 /~dartar/cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 301 /~dcoetzee/duplicationdetector https://dupdet.toolforge.org\n    Redirect 301 /~dereckson/translate https://translate.toolforge.org\n    Redirect 301 /~dispenser https://dispenser.toolforge.org\n    Redirect 301 /~dschwen/wma/iframe.html https://wma.wmflabs.org/iframe.html\n    Redirect 301 /~dschwen/wma https://wma.wmflabs.org\n    Redirect 301 /~dungodung https://rightstool.toolforge.org\n    Redirect 301 /~earwig/copyvios https://copyvios.toolforge.org\n    Redirect 301 /~earwig/settings https://copyvios.toolforge.org/settings\n    Redirect 301 /~earwig https://copyvios.toolforge.org\n    Redirect 301 /~eccenux/authors https://authors.toolforge.org\n    Redirect 301 /~eccenux https://dna.toolforge.org\n    Redirect 301 /~emijrp/wikimediacounter https://wmcounter.toolforge.org\n    Redirect 301 /~emijrp/wlm/stats.php https://wlm-stats.toolforge.org\n    Redirect 301 /~emijrp/wmcharts https://wmcharts.toolforge.org\n    Redirect 301 /~emijrp/wlm/spain https://wlm-maps.toolforge.org/\n    Redirect 301 /~enwp10 https://enwp10.toolforge.org/\n    Redirect 301 /~erfgoed https://heritage.toolforge.org\n    Redirect 301 /~erwin85 https://erwin85.toolforge.org\n    Redirect 301 /~geohack https://geohack.toolforge.org/\n    Redirect 301 /~hoo https://hoo.toolforge.org\n    Redirect 301 /~jarry/svgtranslate/doc/index.html /~jarry/svgtranslate/doc/index.php\n    Redirect 301 /~jarry/svgcheck https://svgcheck.toolforge.org\n    Redirect 301 /~jarry/wikicup https://wikicup.toolforge.org\n    Redirect 301 /~jarry/grep https://grep.toolforge.org\n    Redirect 301 /~jarry/templatecount https://templatecount.toolforge.org\n    Redirect 301 /~jarry/yourpaintings/index.php https://jarry-common.toolforge.org/migration.php\n    Redirect 301 /~jarry/imagechecker https://imagechecker.toolforge.org\n    Redirect 301 /~jbarta/resize.html https://image-resize-calc.toolforge.org\n    Redirect 301 /~jimmy https://jimmy.toolforge.org\n    Redirect 301 /~jitse/tool.php https://new.toolforge.org/tool.php\n    Redirect 301 /~johang/wikitrends https://wikitrends.toolforge.org\n    Redirect 301 /~johang/2012.html https://wikitrends.toolforge.org/2012.html\n    Redirect 301 /~johang/2013.html https://wikitrends.toolforge.org/2013.html\n    Redirect 301 /~kolossos/openlayers/kml-on-ol.php https://wiwosm.toolforge.org/osm-on-ol/kml-on-ol.php\n    Redirect 301 /~kolossos/openlayers/kml-on-ol-json3.php https://wiwosm.toolforge.org/osm-on-ol/kml-on-ol.php\n    Redirect 301 /~kolossos/openlayers/embed.html https://wiwosm.toolforge.org/osm-on-ol/embed-labs.html\n    Redirect 301 /~kolossos/wp-world/umkreis.php https://wp-world.toolforge.org/umkreis.php\n    Redirect 301 /~kolossos/openlayers/commons-on-osm.php https://wiwosm.toolforge.org/osm-on-ol/commons-on-osm.php\n    Redirect 301 /~kolossos/templatetiger https://templatetiger.toolforge.org\n    Redirect 301 /~kolossos/earth.php https://wp-world.toolforge.org/earth.php\n    Redirect 301 /~kolossos/world-link.php https://wp-world.toolforge.org/world-link.php\n    Redirect 301 /~kolossos/geoworld https://wp-world.toolforge.org\n    Redirect 301 /~kolossos/qtm2 https://query2map.toolforge.org\n    Redirect 301 /~kolossos/image https://zoomable-images.toolforge.org\n    Redirect 301 /~kolossos/osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 301 /~krinkle https://krinkle-redirect.toolforge.org\n    Redirect 301 /~legoktm https://meta.wikimedia.org/wiki/User:Legoktm/Toolserver?from=\n    Redirect 301 /~liangent https://liangent-toolserver.toolforge.org\n    Redirect 301 /~locator https://locator.toolforge.org\n    Redirect 301 /~luxo/contributions/contributions.php https://guc.toolforge.org/index.php\n    Redirect 301 /~lvova https://connectivity.toolforge.org/\n    Redirect 301 /~magnus/commonsapi.php https://magnus-toolserver.toolforge.org/commonsapi.php\n    Redirect 301 /~magnus/ts2/geneawiki2 https://reasonator.toolforge.org/geneawiki2\n    Redirect 301 /~magnus/catscan_rewrite.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~magnus/geograph_org2commons.php https://geograph2commons.toolforge.org\n    Redirect 301 /~magnus/catfood.php https://catfood.toolforge.org/catfood.php\n    Redirect 301 /~magnus/commonshelper.php https://commonshelper.toolforge.org\n    Redirect 301 /~magnus/templator.php https://templator.toolforge.org\n    Redirect 301 /~magnus/transparent.php https://magnustools.toolforge.org/transparent.php\n    Redirect 301 /~magnus/wd_terminator.php https://wikidata-terminator.toolforge.org/index.php\n    Redirect 301 /~magnus/commons_sumitup.php https://multidesc.toolforge.org\n    Redirect 301 /~magnus/whatisthat.php https://multidesc.toolforge.org\n    Redirect 301 /~magnus/isin.php https://isin.toolforge.org\n    Redirect 301 /~magnus/catnap.php https://catnap.toolforge.org\n    Redirect 301 /~magnus/flickr2commons.php https://flickr2commons.toolforge.org\n    Redirect 301 /~magnus/isbn2wiki.php https://isbn2wiki.toolforge.org\n    Redirect 301 /~magnus/dnb_link_finder.php https://dnbtools.toolforge.org/dnb_link_finder.php\n    Redirect 301 /~magnus/prepbio.php https://magnustools.toolforge.org/prepbio.php\n    Redirect 301 /~magnus/tab2wiki.php https://magnustools.toolforge.org/tab2wiki.php\n    Redirect 301 /~magnus/flickrfree.php https://magnustools.toolforge.org/flickrfree.php\n    Redirect 301 /~magnus/pages_in_cats.php https://catscan2.toolforge.org/pages_in_cats.php\n    Redirect 301 /~magnus/dnb_wikisource.php https://dnbtools.toolforge.org/dnb_wikisource.php\n    Redirect 301 /~magnus/dnb/map2wp.php https://dnbtools.toolforge.org/map2wp.php\n    Redirect 301 /~magnus/category_intersection.php https://catscan2.toolforge.org/quick_intersection.php\n    Redirect 301 /~magnus/get_article_intro.php https://magnustools.toolforge.org/get_article_intro.php\n    Redirect 301 /~magnus/get_distinct_authors.php https://magnustools.toolforge.org/get_distinct_authors.php\n    Redirect 301 /~magnus/update_article_counter.php https://magnustools.toolforge.org/update_article_counter.php\n    Redirect 301 /~magnus/most_wanted.php https://most-wanted.toolforge.org\n    Redirect 301 /~magnus/widget https://glamtools.toolforge.org/widget\n    Redirect 301 /~magnus/userdupes.php https://filedupes.toolforge.org\n    Redirect 301 /~magnus/commons_dupes.php https://filedupes.toolforge.org\n    Redirect 301 /~magnus/makeref.php https://makeref.toolforge.org\n    Redirect 301 /~magnus/wikitodo.php https://wiki-todo.toolforge.org\n    Redirect 301 /~magnus/wp_data_url.php https://magnustools.toolforge.org/wp_data_url.php\n    Redirect 301 /~magnus/wiki2playlist.php https://magnustools.toolforge.org/wiki2playlist.php\n    Redirect 301 /~magnus/iCommons.php https://icommons.toolforge.org\n    Redirect 301 /~magnus/glamorous.php https://glamtools.toolforge.org/glamorous.php\n    Redirect 301 /~magnus/baglama.php https://glamtools.toolforge.org/baglama.php\n    Redirect 301 /~magnus/file_reuse https://magnustools.toolforge.org/file_reuse\n    Redirect 301 /~magnus/all_no_information.php https://add-information.toolforge.org/no_information.php\n    Redirect 301 /~magnus/mynoinfo.php https://add-information.toolforge.org/no_information.php\n    Redirect 301 /~magnus/fist.php https://fist.toolforge.org/fist.php\n    Redirect 301 /~magnus/missingtopics.php https://missingtopics.toolforge.org/?\n    Redirect 301 /~magnus/book2scroll https://book2scroll.toolforge.org\n    Redirect 301 /~magnus/html2wiki.php https://magnustools.toolforge.org/html2wiki.php\n    Redirect 301 /~magnus/url2commons.php https://url2commons.toolforge.org\n    Redirect 301 /~magnus/file_siblings.php https://file-siblings.toolforge.org\n    Redirect 301 /~magnus/commons_image_feed.php https://catfood.toolforge.org/commons_image_feed.php\n    Redirect 301 /~magnus/bad_boys.php https://usualsuspects.toolforge.org\n    Redirect 301 /~magnus/bad_old_ones.php https://usualsuspects.toolforge.org\n    Redirect 301 /~magnus/cas.php https://magnustools.toolforge.org/cas.php\n    Redirect 301 /~magnus/add_information.php https://add-information.toolforge.org\n    Redirect 301 /~magnus/random_out_of_sight.php https://sighting.toolforge.org/random_out_of_sight.php\n    Redirect 301 /~magnus/outofsight.php https://sighting.toolforge.org/outofsight.php\n    Redirect 301 /~magnus/deep_insight.php https://sighting.toolforge.org/deep_insight.php\n    Redirect 301 /~magnus/deep_out_of_sight.php https://sighting.toolforge.org/deep_out_of_sight.php\n    Redirect 301 /~magnus/cgi-bin/flommons.pl https://magnustools.toolforge.org/flommons.pl\n    Redirect 301 /~magnus/wikishootme https://wikishootme.toolforge.org\n    Redirect 301 /~magnus/ts2/geneawiki https://magnus-toolserver.toolforge.org/ts2/geneawiki\n    Redirect 301 /~magnus/geohack https://geohack.toolforge.org\n    Redirect 301 /~magnus/geo https://geohack.toolforge.org\n    Redirect 301 /~magnus/joanjoc/sugart.php https://joanjoc.toolforge.org/sugart.php\n    Redirect 301 /~magnus https://magnustools.toolforge.org\n    Redirect 301 /~master https://wiwosm.toolforge.org\n    Redirect 303 /~mathbot https://mathbot.toolforge.org/\n    Redirect 301 /~multichill/coordinates.php https://locator.toolforge.org/coordinates.php\n    Redirect 301 /~multichill/coordinates2.php https://locator.toolforge.org/coordinates.php\n    Redirect 301 /~multichill/monapi/api.php https://heritage.toolforge.org/api/api.php\n    Redirect 301 /~multichill/temp/queries https://multichill.toolforge.org/queries\n    Redirect 301 /~multichill https://multichill.toolforge.org\n    Redirect 301 /~mxn https://tilde.toolforge.org\n    Redirect 301 /~mzmcbride/yanker https://pirsquared.toolforge.org/ts_archive/mzmcbride/yanker.py\n    Redirect 301 /~nikola/articlesby.php https://xpages.toolforge.org\n    Redirect 301 /~nikola/svgtranslate.php https://svgtranslate.toolforge.org/\n    Redirect 301 /~nlwikibots https://nlwikibots.toolforge.org\n    Redirect 301 /~para/region.php https://para.toolforge.org/geo/worldadmin98\n    Redirect 301 /~para/GeoCommons/kml.php https://geocommons.toolforge.org/kml\n    Redirect 301 /~para/GeoCommons/GeoCommons-simple.kml https://geocommons.toolforge.org/web.kml\n    Redirect 301 /~para/GeoCommons/GeoCommons.kml https://geocommons.toolforge.org/geocommons.kml\n    Redirect 301 /~para/cgi-bin/kmlexport https://kmlexport.toolforge.org\n    Redirect 301 /~para/Commons:Special:NewFiles https://para.toolforge.org/Commons:Special:NewFiles\n    Redirect 301 /~para/GeoCommons/earth.php https://geocommons.toolforge.org/earth.kml\n    Redirect 301 /~para/GeoCommons/info.php https://geocommons.toolforge.org/info.php\n    Redirect 301 /~para/GeoCommons/proximityrama https://geocommons.toolforge.org/proximityrama\n    Redirect 301 /~para/earth.php https://geocommons.toolforge.org/earth.kml\n    Redirect 301 /~para/GeoCommons/geocodingtodo.php https://geocommons.toolforge.org/geocodingtodo\n    Redirect 301 /~para/cgi-bin/wgs2tky https://para.toolforge.org/geo/convert/wgs2tky\n    Redirect 301 /~para/WGS84toRT90.php https://para.toolforge.org/geo/convert/WGS84toRT90\n    Redirect 301 /~para/kkj.php https://para.toolforge.org/geo/convert/kkj\n    Redirect 301 /~para/kkj2wiki.php https://para.toolforge.org/geo/convert/kkj2wiki\n    Redirect 301 /~para/geoportail.php https://para.toolforge.org/ripts/geoportail-changed-links.html\n    Redirect 301 /~para/geonotices.php https://para.toolforge.org/geo/geonotices\n    Redirect 301 /~para/coordmissing https://para.toolforge.org/ripts/coordmissing\n    Redirect 301 /~para https://para.toolforge.org/ripts\n    Redirect 301 /~pathoschild https://pathoschild-contrib.toolforge.org\n    Redirect 301 /~phe/statistics.php https://phetools.toolforge.org/statistics.php\n    Redirect 301 /~phe/stats.html https://phetools.toolforge.org/stats.html\n    Redirect 301 /~phe/transclusions.html https://phetools.toolforge.org/transclusions.html\n    Redirect 301 /~phe/ocr.php https://phetools.toolforge.org/ocr.php\n    Redirect 301 /~phe/robot.php https://phetools.toolforge.org/match_and_split.php\n    Redirect 301 /~phe https://phetools.toolforge.org\n    Redirect 301 /~pietrodn/intersectContribs.php https://intersect-contribs.toolforge.org\n    Redirect 301 /~render https://render.toolforge.org\n    Redirect 301 /~robin https://robin.toolforge.org\n    Redirect 301 /~russell/cgi-bin/csd.py https://russbot.toolforge.org/csd.py\n    Redirect 301 /~russell/cgi-bin/long_disambig_pages.py https://russbot.toolforge.org/long_disambig_pages.py\n    Redirect 301 /~seth/grep_regexp_from_url.cgi https://searchsbl.toolforge.org\n    Redirect 301 /~seth/google_url_converter.cgi https://url-converter.toolforge.org\n    Redirect 301 /~sk/checkwiki https://checkwiki.toolforge.org/cgi-bin/checkwiki.cgi\n    Redirect 301 /~snottywong https://jackbot.toolforge.org/snottywong\n    Redirect 301 /~soxred93 https://xtools.toolforge.org\n    Redirect 301 /~stewardbots https://stewardbots.toolforge.org\n    Redirect 301 /~timl/wikilint https://wikilint.toolforge.org\n    Redirect 301 /~timl https://de.wikipedia.org/wiki/Benutzer:Tim.landscheidt\n    Redirect 301 /~tparis https://xtools.toolforge.org\n    Redirect 301 /~verisimilus/Timeline https://timescale.toolforge.org/?Ma=\n    Redirect 301 /~vvv/adminstats.php https://xtools.toolforge.org/adminstats\n    Redirect 301 /~webboy/wikirc https://jeltebot.toolforge.org\n    Redirect 301 /~wiegels/wikipedia-termine.php https://icalendar.toolforge.org/\n    Redirect 301 /~wikifeeds https://wikifeeds.toolforge.org/\n\n    # things that are GONE and clients should stop even trying\n    # contact http://wiki.openstreetmap.org/wiki/User:Colin_Marquardt\n    Redirect gone /~cmarqu\n    # https://phabricator.wikimedia.org/T282889\n    Redirect gone /tiles\n    Redirect gone /~mzmcbride\n    Redirect gone /~timl/templatecheck.php\n    Redirect gone /~webboy/commonswiki/stats.php\n    Redirect gone /~webboy/nowiki/stats.php\n    Redirect gone /~webboy/stats.php\n\n    # Redirects from stable.toolserver.org\n    #\n    Redirect 301 /geohack https://geohack.toolforge.org\n\n</VirtualHost>\n"}},{"type":"File","title":"/etc/ferm/conf.d/10_http","tags":["ferm","file","ferm::service","service","http","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# HTTP webserver for the entire world\n&SERVICE(tcp, 80);\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/10_https","tags":["ferm","file","ferm::service","service","https","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# HTTPS webserver for the entire world\n&SERVICE(tcp, 443);\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"Service","title":"prometheus_puppet_agent_stats.timer","tags":["service","prometheus_puppet_agent_stats.timer","systemd::service","systemd","prometheus_puppet_agent_stats","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"stopped","enable":false,"provider":"systemd","before":["Exec[systemd daemon-reload for prometheus_puppet_agent_stats.timer (prometheus_puppet_agent_stats.timer)]"]}},{"type":"Systemd::Unit","title":"prometheus_puppet_agent_stats.timer","tags":["systemd::unit","systemd","unit","prometheus_puppet_agent_stats.timer","systemd::service","service","prometheus_puppet_agent_stats","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of prometheus_puppet_agent_stats.service\n\n[Timer]\nUnit=prometheus_puppet_agent_stats.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=minutely\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"prometheus_puppet_agent_stats.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-prometheus-puppet-agent-stats.conf","tags":["file","rsyslog::conf","rsyslog","conf","prometheus_puppet_agent_stats","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"prometheus_puppet_agent_stats\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/prometheus_puppet_agent_stats/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/prometheus_puppet_agent_stats","tags":["file","logrotate::conf","logrotate","conf","prometheus_puppet_agent_stats","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for prometheus_puppet_agent_stats\n\n/var/log/prometheus_puppet_agent_stats/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"clean_puppet_client_bucket.timer","tags":["service","clean_puppet_client_bucket.timer","systemd::service","systemd","clean_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"stopped","enable":false,"provider":"systemd","before":["Exec[systemd daemon-reload for clean_puppet_client_bucket.timer (clean_puppet_client_bucket.timer)]"]}},{"type":"Systemd::Unit","title":"clean_puppet_client_bucket.timer","tags":["systemd::unit","systemd","unit","clean_puppet_client_bucket.timer","systemd::service","service","clean_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of clean_puppet_client_bucket.service\n\n[Timer]\nUnit=clean_puppet_client_bucket.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=24h\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"clean_puppet_client_bucket.timer","require":["Class[Systemd]"]}},{"type":"Service","title":"puppet-agent-timer.timer","tags":["service","puppet-agent-timer.timer","systemd::service","systemd","puppet-agent-timer","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"puppet-agent-timer.timer","tags":["systemd::unit","systemd","unit","puppet-agent-timer.timer","systemd::service","service","puppet-agent-timer","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of puppet-agent-timer.service\n\n[Timer]\nUnit=puppet-agent-timer.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:6/30:00\nOnStartupSec=1min\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"puppet-agent-timer.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-puppet-agent-timer.conf","tags":["file","rsyslog::conf","rsyslog","conf","puppet-agent-timer","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"puppet-agent-timer\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/puppet-agent-timer/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/puppet-agent-timer","tags":["file","logrotate::conf","logrotate","conf","puppet-agent-timer","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for puppet-agent-timer\n\n/var/log/puppet-agent-timer/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_systemd-timesyncd.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_systemd-timesyncd.service","systemd::timer::job","timer","job","wmf_auto_restart_systemd-timesyncd","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: systemd-timesyncd\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s systemd-timesyncd\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-timesyncd.service (wmf_auto_restart_systemd-timesyncd.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_systemd-timesyncd.service (wmf_auto_restart_systemd-timesyncd.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_systemd-timesyncd.service","systemd::timer::job","timer","job","wmf_auto_restart_systemd-timesyncd","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_systemd-timesyncd","tags":["systemd::service","systemd","service","wmf_auto_restart_systemd-timesyncd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_systemd-timesyncd.service\n\n[Timer]\nUnit=wmf_auto_restart_systemd-timesyncd.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 18:16:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_systemd-timesyncd","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_systemd-timesyncd","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_systemd-timesyncd","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_systemd-timesyncd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_systemd-timesyncd\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_systemd-timesyncd/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_systemd-timesyncd]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_systemd-timesyncd","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_systemd-timesyncd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_systemd-timesyncd\n\n/var/log/wmf_auto_restart_systemd-timesyncd/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_prometheus-node-exporter.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_prometheus-node-exporter.service","systemd::timer::job","timer","job","wmf_auto_restart_prometheus-node-exporter","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: prometheus-node-exporter\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s prometheus-node-exporter\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_prometheus-node-exporter.service (wmf_auto_restart_prometheus-node-exporter.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_prometheus-node-exporter.service (wmf_auto_restart_prometheus-node-exporter.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_prometheus-node-exporter.service","systemd::timer::job","timer","job","wmf_auto_restart_prometheus-node-exporter","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_prometheus-node-exporter","tags":["systemd::service","systemd","service","wmf_auto_restart_prometheus-node-exporter","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_prometheus-node-exporter.service\n\n[Timer]\nUnit=wmf_auto_restart_prometheus-node-exporter.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 18:27:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_prometheus-node-exporter","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_prometheus-node-exporter","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_prometheus-node-exporter","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_prometheus-node-exporter","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_prometheus-node-exporter\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_prometheus-node-exporter/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_prometheus-node-exporter]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_prometheus-node-exporter","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_prometheus-node-exporter","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_prometheus-node-exporter\n\n/var/log/wmf_auto_restart_prometheus-node-exporter/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_rsyslog.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_rsyslog.service","systemd::timer::job","timer","job","wmf_auto_restart_rsyslog","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: rsyslog\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s rsyslog\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_rsyslog.service (wmf_auto_restart_rsyslog.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_rsyslog.service (wmf_auto_restart_rsyslog.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_rsyslog.service","systemd::timer::job","timer","job","wmf_auto_restart_rsyslog","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_rsyslog","tags":["systemd::service","systemd","service","wmf_auto_restart_rsyslog","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_rsyslog.service\n\n[Timer]\nUnit=wmf_auto_restart_rsyslog.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 0:10:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_rsyslog.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_rsyslog","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_rsyslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_rsyslog","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_rsyslog","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_rsyslog\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_rsyslog/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_rsyslog]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_rsyslog","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_rsyslog","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_rsyslog\n\n/var/log/wmf_auto_restart_rsyslog/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_lldpd.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_lldpd.service","systemd::timer::job","timer","job","wmf_auto_restart_lldpd","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: lldpd\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s lldpd\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_lldpd.service (wmf_auto_restart_lldpd.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_lldpd.service (wmf_auto_restart_lldpd.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_lldpd.service","systemd::timer::job","timer","job","wmf_auto_restart_lldpd","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_lldpd","tags":["systemd::service","systemd","service","wmf_auto_restart_lldpd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_lldpd.service\n\n[Timer]\nUnit=wmf_auto_restart_lldpd.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 16:2:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_lldpd.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_lldpd","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_lldpd","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_lldpd","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_lldpd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_lldpd\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_lldpd/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_lldpd]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_lldpd","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_lldpd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_lldpd\n\n/var/log/wmf_auto_restart_lldpd/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_systemd-journald.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_systemd-journald.service","systemd::timer::job","timer","job","wmf_auto_restart_systemd-journald","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: systemd-journald\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s systemd-journald\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-journald.service (wmf_auto_restart_systemd-journald.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_systemd-journald.service (wmf_auto_restart_systemd-journald.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_systemd-journald.service","systemd::timer::job","timer","job","wmf_auto_restart_systemd-journald","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_systemd-journald","tags":["systemd::service","systemd","service","wmf_auto_restart_systemd-journald","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_systemd-journald.service\n\n[Timer]\nUnit=wmf_auto_restart_systemd-journald.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 19:23:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_systemd-journald.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_systemd-journald","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_systemd-journald","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_systemd-journald","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_systemd-journald","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_systemd-journald\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_systemd-journald/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_systemd-journald]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_systemd-journald","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_systemd-journald","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_systemd-journald\n\n/var/log/wmf_auto_restart_systemd-journald/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_ssh.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_ssh.service","systemd::timer::job","timer","job","wmf_auto_restart_ssh","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: ssh\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s ssh\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_ssh.service (wmf_auto_restart_ssh.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_ssh.service (wmf_auto_restart_ssh.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_ssh.service","systemd::timer::job","timer","job","wmf_auto_restart_ssh","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_ssh","tags":["systemd::service","systemd","service","wmf_auto_restart_ssh","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_ssh.service\n\n[Timer]\nUnit=wmf_auto_restart_ssh.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 19:45:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_ssh.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_ssh","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_ssh","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_ssh","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_ssh","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_ssh\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_ssh/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_ssh]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_ssh","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_ssh","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_ssh\n\n/var/log/wmf_auto_restart_ssh/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"kernel-purge.timer","tags":["service","kernel-purge.timer","systemd::service","systemd","kernel-purge","systemd::timer","timer","systemd::timer::job","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"kernel-purge.timer","tags":["systemd::unit","systemd","unit","kernel-purge.timer","systemd::service","service","kernel-purge","systemd::timer","timer","systemd::timer::job","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of kernel-purge.service\n\n[Timer]\nUnit=kernel-purge.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=monthly\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"kernel-purge.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-kernel-purge.conf","tags":["file","rsyslog::conf","rsyslog","conf","kernel-purge","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"kernel-purge\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/kernel-purge/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/kernel-purge","tags":["file","logrotate::conf","logrotate","conf","kernel-purge","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for kernel-purge\n\n/var/log/kernel-purge/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"prometheus-debian-version-textfile.timer","tags":["service","prometheus-debian-version-textfile.timer","systemd::service","systemd","prometheus-debian-version-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"prometheus-debian-version-textfile.timer","tags":["systemd::unit","systemd","unit","prometheus-debian-version-textfile.timer","systemd::service","service","prometheus-debian-version-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of prometheus-debian-version-textfile.service\n\n[Timer]\nUnit=prometheus-debian-version-textfile.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=300s\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"prometheus-debian-version-textfile.timer","require":["Class[Systemd]"]}},{"type":"Service","title":"prometheus-dpkg-success-textfile.timer","tags":["service","prometheus-dpkg-success-textfile.timer","systemd::service","systemd","prometheus-dpkg-success-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"prometheus-dpkg-success-textfile.timer","tags":["systemd::unit","systemd","unit","prometheus-dpkg-success-textfile.timer","systemd::service","service","prometheus-dpkg-success-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of prometheus-dpkg-success-textfile.service\n\n[Timer]\nUnit=prometheus-dpkg-success-textfile.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:00/30:00\nRandomizedDelaySec=1800\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"prometheus-dpkg-success-textfile.timer","require":["Class[Systemd]"]}},{"type":"Service","title":"send_puppet_failure_emails.timer","tags":["service","send_puppet_failure_emails.timer","systemd::service","systemd","send_puppet_failure_emails","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"send_puppet_failure_emails.timer","tags":["systemd::unit","systemd","unit","send_puppet_failure_emails.timer","systemd::service","service","send_puppet_failure_emails","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of send_puppet_failure_emails.service\n\n[Timer]\nUnit=send_puppet_failure_emails.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*-*-* 08:15:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"send_puppet_failure_emails.timer","require":["Class[Systemd]"]}},{"type":"Service","title":"cleanup_puppet_client_bucket.timer","tags":["service","cleanup_puppet_client_bucket.timer","systemd::service","systemd","cleanup_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"stopped","enable":false,"provider":"systemd","before":["Exec[systemd daemon-reload for cleanup_puppet_client_bucket.timer (cleanup_puppet_client_bucket.timer)]"]}},{"type":"Systemd::Unit","title":"cleanup_puppet_client_bucket.timer","tags":["systemd::unit","systemd","unit","cleanup_puppet_client_bucket.timer","systemd::service","service","cleanup_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of cleanup_puppet_client_bucket.service\n\n[Timer]\nUnit=cleanup_puppet_client_bucket.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=24h\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"cleanup_puppet_client_bucket.timer","require":["Class[Systemd]"]}},{"type":"Service","title":"prometheus_ssh_open_sessions.timer","tags":["service","prometheus_ssh_open_sessions.timer","systemd::service","systemd","prometheus_ssh_open_sessions","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"prometheus_ssh_open_sessions.timer","tags":["systemd::unit","systemd","unit","prometheus_ssh_open_sessions.timer","systemd::service","service","prometheus_ssh_open_sessions","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of prometheus_ssh_open_sessions.service\n\n[Timer]\nUnit=prometheus_ssh_open_sessions.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*-*-* *:0/5:0\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"prometheus_ssh_open_sessions.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-prometheus-ssh-open-sessions.conf","tags":["file","rsyslog::conf","rsyslog","conf","prometheus_ssh_open_sessions","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"prometheus_ssh_open_sessions\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/prometheus_ssh_open_sessions/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/prometheus_ssh_open_sessions","tags":["file","logrotate::conf","logrotate","conf","prometheus_ssh_open_sessions","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for prometheus_ssh_open_sessions\n\n/var/log/prometheus_ssh_open_sessions/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Concat_fragment","title":"security-access-toolforge-admin-only","tags":["_etc_security_access.conf","concat_fragment","security-access-toolforge-admin-only","concat::fragment","concat","fragment","security::access::config","security","access","config","toolforge-admin-only","class","profile::toolforge::infrastructure","profile","toolforge","infrastructure","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/security/access.conf","tag":"_etc_security_access.conf","order":90,"content":"-:ALL EXCEPT (tools.admin) root:ALL\n"}},{"type":"Concat_file","title":"/etc/apt/sources.list.d/project-aptly.sources","tags":["_etc_apt_sources.list.d_project-aptly.sources","concat_file","concat","apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/init.pp","line":122,"exported":false,"kind":"compilable_type","parameters":{"tag":"_etc_apt_sources.list.d_project-aptly.sources","owner":"root","group":"root","mode":"0444","replace":true,"backup":"puppet","show_diff":true,"order":"alpha","ensure_newline":false,"format":"plain","force":false}},{"type":"Concat_fragment","title":"project-aptly-header","tags":["_etc_apt_sources.list.d_project-aptly.sources","concat_fragment","project-aptly-header","concat::fragment","concat","fragment","apt::repository","apt","repository","project-aptly","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/project-aptly.sources","tag":"_etc_apt_sources.list.d_project-aptly.sources","order":"01","source":"puppet:///modules/apt/sources-deb822-header.txt"}},{"type":"Concat_fragment","title":"project-aptly","tags":["_etc_apt_sources.list.d_project-aptly.sources","concat_fragment","project-aptly","concat::fragment","concat","fragment","apt::repository","apt","repository","class","aptly::client","aptly","client","role::aptly::client","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/vendor_modules/concat/manifests/fragment.pp","line":50,"exported":false,"kind":"compilable_type","parameters":{"target":"/etc/apt/sources.list.d/project-aptly.sources","tag":"_etc_apt_sources.list.d_project-aptly.sources","order":"10","content":"Types: deb\nURIs: http://deb.svc.toolforge.org/repo\nSuites: bookworm-tools\nComponents: main\nTrusted: yes\n"}},{"type":"File","title":"/etc/systemd/system/ferm.service.d","tags":["file","systemd::unit","systemd","unit","ferm-ferm-service-status-restart","systemd::override","override","ferm-service-status-restart","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":61,"kind":"compilable_type","exported":false,"parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0555"}},{"type":"File","title":"/etc/systemd/system/ferm.service.d/ferm-service-status-restart.conf","tags":["file","systemd::unit","systemd","unit","ferm-ferm-service-status-restart","systemd::override","override","ferm-service-status-restart","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/ferm/ferm_systemd_override","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for ferm.service (ferm-ferm-service-status-restart)]"}},{"type":"Exec","title":"systemd daemon-reload for ferm.service (ferm-ferm-service-status-restart)","tags":["exec","systemd::unit","systemd","unit","ferm-ferm-service-status-restart","systemd::override","override","ferm-service-status-restart","class","ferm","firewall","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[ferm]"]}},{"type":"Systemd::Unit","title":"wmf_auto_restart_ulogd2.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_ulogd2.service","systemd::timer::job","timer","job","wmf_auto_restart_ulogd2","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: ulogd2\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s ulogd2\n","unit":"wmf_auto_restart_ulogd2.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_ulogd2","tags":["systemd::timer","systemd","timer","wmf_auto_restart_ulogd2","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 7:36:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_ulogd2.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_ulogd2","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_ulogd2","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/etc/ferm/conf.d/98_filter_log_filter-bootp","tags":["ferm","file","ferm::rule","rule","filter_log_filter-bootp","ferm::filter_log","filter_log","filter-bootp","class","profile::firewall::log::ferm","profile","firewall","log","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/rule.pp","line":11,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# 98_filter_log_filter-bootp: \n\ndomain (ip ip6) {\n\ttable filter {\n\t\tchain INPUT {\n\t\t\tproto udp  daddr 255.255.255.255 sport 67 dport 68 DROP;\n\t\t}\n\t}\n}\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/sysctl.d/70-ferm_conntrack.conf","tags":["file","sysctl::conffile","sysctl","conffile","ferm_conntrack","sysctl::parameters","parameters","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sysctl/manifests/conffile.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# sysctl parameters managed by Puppet.\nnet.netfilter.nf_conntrack_max = 262144\nnet.netfilter.nf_conntrack_tcp_timeout_time_wait = 65\n","notify":"Exec[update_sysctl]","owner":"root","group":"root"}},{"type":"Class","title":"Udev","tags":["class","udev","udev::rule","rule","ferm_conntrack","sysctl::parameters","sysctl","parameters","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"exported":false,"kind":"unknown"},{"type":"Exec","title":"udev_reload","tags":["exec","udev_reload","class","udev","udev::rule","rule","ferm_conntrack","sysctl::parameters","sysctl","parameters","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/udev/manifests/init.pp","line":3,"exported":false,"kind":"compilable_type","parameters":{"command":"/usr/bin/udevadm control --reload && /usr/bin/udevadm trigger","refreshonly":true}},{"type":"File","title":"/etc/udev/rules.d/70-ferm_conntrack.rules","tags":["file","udev::rule","udev","rule","ferm_conntrack","sysctl::parameters","sysctl","parameters","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/udev/manifests/rule.pp","line":25,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"ACTION==\"add\", SUBSYSTEM==\"module\", KERNEL==\"nf_conntrack\", \\\n    RUN+=\"/usr/lib/systemd/systemd-sysctl --prefix net.netfilter\"\n","notify":"Exec[udev_reload]"}},{"type":"File","title":"/etc/ferm/conf.d/10_ssh_from_bastion","tags":["ferm","file","ferm::service","service","ssh_from_bastion","firewall::service","firewall","ssh-from-bastion","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# \n&R_SERVICE(tcp, 22, (172.16.1.220 172.16.17.143 172.16.18.237 2a02:ec80:a000:1::156 2a02:ec80:a000:1::442));\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/10_ssh_from_cumin_masters","tags":["ferm","file","ferm::service","service","ssh_from_cumin_masters","firewall::service","firewall","ssh-from-cumin-masters","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# \n&R_SERVICE(tcp, 22, $CUMIN_MASTERS);\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/10_full_monitoring_metrics_access_udp","tags":["ferm","file","ferm::service","service","full_monitoring_metrics_access_udp","firewall::service","firewall","full-monitoring-metrics-access-udp","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# \n&R_SERVICE(udp, 1:65535, (172.16.19.33 172.16.19.52 2a02:ec80:a000:1::2e2 2a02:ec80:a000:1::7));\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/ferm/conf.d/10_full_monitoring_metrics_access_tcp","tags":["ferm","file","ferm::service","service","full_monitoring_metrics_access_tcp","firewall::service","firewall","full-monitoring-metrics-access-tcp","class","profile::firewall","profile","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/ferm/manifests/service.pp","line":93,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0400","content":"# Autogenerated by puppet. DO NOT EDIT BY HAND!\n#\n# \n&R_SERVICE(tcp, 1:65535, (172.16.19.33 172.16.19.52 2a02:ec80:a000:1::2e2 2a02:ec80:a000:1::7));\n\n\n","require":"File[/etc/ferm/conf.d]","notify":"Service[ferm]","tag":"ferm"}},{"type":"File","title":"/etc/tmpfiles.d/-var-run-confd-template.conf","tags":["file","systemd::tmpfile","systemd","tmpfile","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/tmpfile.pp","line":30,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"d /var/run/confd-template 0755 root root","mode":"0444","owner":"root","group":"root"}},{"type":"Exec","title":"Refresh tmpfile /var/run/confd-template","tags":["exec","systemd::tmpfile","systemd","tmpfile","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/tmpfile.pp","line":39,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemd-tmpfiles --create --remove '/etc/tmpfiles.d/-var-run-confd-template.conf'","user":"root","refreshonly":true,"subscribe":"File[/etc/tmpfiles.d/-var-run-confd-template.conf]"}},{"type":"Systemd::Unit","title":"clean-confd-rundir.service","tags":["systemd::unit","systemd","unit","clean-confd-rundir.service","systemd::timer::job","timer","job","clean-confd-rundir","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Clean old stale files in /var/run/confd-template\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/bin/find /var/run/confd-template -type f -mtime +30 -delete\n","unit":"clean-confd-rundir.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"clean-confd-rundir","tags":["systemd::timer","systemd","timer","clean-confd-rundir","systemd::timer::job","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"*:0/30"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"clean-confd-rundir.service"}},{"type":"Systemd::Syslog","title":"clean-confd-rundir","tags":["systemd::syslog","systemd","syslog","clean-confd-rundir","systemd::timer::job","timer","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/etc/logrotate.d/confd","tags":["file","logrotate::conf","logrotate","conf","confd","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","source":"puppet:///modules/confd/logrotate.conf"}},{"type":"File","title":"/etc/rsyslog.d/20-confd.conf","tags":["file","rsyslog::conf","rsyslog","conf","confd","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/confd/rsyslog.conf","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/confd","tags":["file","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/instance.pp","line":43,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","mode":"0550","owner":"root","group":"root"}},{"type":"File","title":"/etc/confd/conf.d","tags":["file","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/instance.pp","line":48,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","recurse":true,"purge":true,"mode":"0550","before":"Service[confd]","owner":"root","group":"root"}},{"type":"File","title":"/etc/confd/templates","tags":["file","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/instance.pp","line":56,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","recurse":true,"purge":true,"mode":"0550","before":"Service[confd]","owner":"root","group":"root"}},{"type":"Base::Service_unit","title":"confd","tags":["base::service_unit","base","service_unit","confd","confd::instance","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/instance.pp","line":65,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","refresh":true,"systemd":"[Unit]\nDescription=confd\n\n[Service]\nUser=root\nSyslogIdentifier=%N\nEnvironment=\"CONFD_BACKEND=etcd\"\nEnvironment=\"CONFD_DISCOVERY=-srv-record _etcd-client-ssl._tcp.tools.eqiad1.wikimedia.cloud -scheme https\"\nEnvironment=\"CONFD_OPTS=-interval=3\"\nExecStart=/usr/bin/confd -backend $CONFD_BACKEND $CONFD_DISCOVERY $CONFD_OPTS\nRestart=on-failure\nRestartSec=10s\n\n[Install]\nWantedBy=multi-user.target\n","service_params":{"ensure":"running"},"require":"Package[confd]","declare_service":true,"mask":false}},{"type":"Systemd::Timer::Job","title":"confd_prometheus_metrics","tags":["systemd::timer::job","systemd","timer","job","confd_prometheus_metrics","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/confd/manifests/instance.pp","line":79,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","description":"Export confd Prometheus metrics","command":"/usr/local/bin/confd-prometheus-metrics","interval":{"start":"OnCalendar","interval":"minutely"},"user":"root","environment":{},"monitoring_enabled":false,"monitoring_contact_groups":"admins","monitoring_notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state","logging_enabled":true,"logfile_basedir":"/var/log","logfile_name":"syslog.log","logfile_group":"root","logfile_perms":"all","syslog_force_stop":true,"syslog_match_startswith":true,"send_mail":false,"send_mail_to":"root@tools-legacy-redirector-3.tools.eqiad1.wikimedia.cloud","ignore_errors":false,"send_mail_only_on_error":true,"private_tmp":false,"fixed_random_delay":false,"success_exit_status":[]}},{"type":"Class","title":"Monitoring","tags":["class","monitoring","monitoring::service","service","ferm_active","nrpe::monitor_service","nrpe","monitor_service","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"exported":false,"kind":"unknown","parameters":{"contact_group":"admin","cluster":"misc","nagios_group":"misc","notifications_enabled":true,"do_paging":true,"hosts":{},"services":{}}},{"type":"Monitoring::Exported_nagios_service","title":"tools-legacy-redirector-3 ferm_active","tags":["monitoring::exported_nagios_service","monitoring","exported_nagios_service","monitoring::service","service","ferm_active","nrpe::monitor_service","nrpe","monitor_service","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/monitoring/manifests/service.pp","line":104,"kind":"defined_type","exported":false,"parameters":{"ensure":"present","host_name":"tools-legacy-redirector-3","servicegroups":"misc","service_description":"Check whether ferm is active by checking the default input chain","check_command":"nrpe_check!check_ferm_active!10","max_check_attempts":3,"check_interval":30,"retry_interval":1,"check_period":"24x7","notification_interval":0,"notification_period":"24x7","notification_options":"c,r,f","notifications_enabled":"1","contact_groups":"admins","passive_checks_enabled":1,"active_checks_enabled":1,"is_volatile":0,"check_freshness":0,"notes_url":"https://wikitech.wikimedia.org/wiki/Monitoring/check_ferm"}},{"type":"Class","title":"Prometheus::Instances","tags":["class","prometheus::instances","prometheus","instances"],"exported":false,"kind":"unknown"},{"type":"Systemd::Unit","title":"nrpe2nodexp-ferm_active.service","tags":["systemd::unit","systemd","unit","nrpe2nodexp-ferm_active.service","systemd::timer::job","timer","job","nrpe2nodexp-ferm_active","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=execution of nrpe2nodexp for the check_ferm_active command.\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=nagios\n\nGroup=prometheus-node-exporter\nSyslogIdentifier=nrpe2nodexp-ferm_active\nExecStart=-/usr/local/bin/nrpe2nodexp --alert-rule-hash \"bba0a2572329bb500b832470e08b381c\" --timeout 10 --check-command \"check_ferm_active\"\n","unit":"nrpe2nodexp-ferm_active.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"nrpe2nodexp-ferm_active","tags":["systemd::timer","systemd","timer","nrpe2nodexp-ferm_active","systemd::timer::job","job","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnUnitInactiveSec","interval":"10min"},{"interval":"1s","start":"OnActiveSec"}],"splay":600,"fixed_random_delay":true,"accuracy":"15sec","unit_name":"nrpe2nodexp-ferm_active.service"}},{"type":"File","title":"/etc/rsyslog.d/25-nrpe2nodexp-ferm-active.conf","tags":["file","rsyslog::conf","rsyslog","conf","nrpe2nodexp-ferm_active","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# SPDX-License-Identifier: Apache-2.0\nif $programname contains \"nrpe2nodexp-ferm_active\" then {\n    if ($msg contains \"\\\"ecs.version\\\": \\\"1.7.0\\\"\") then {\n        # Send logs to kafka\n        set $.log_outputs = \"kafka ecs_170 local\";\n    } else {\n        # Filter out non-relevant nrpe2nodexp messages\n        stop\n    }\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/usr/local/share/ca-certificates/Lets_Encrypt_Authority_X3.crt","tags":["file","sslcert::ca","sslcert","ca","lets_encrypt_authority_x3","class","acme_chief","acme_chief::cert","cert","tools-legacy","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/acme_chief/lets-encrypt-x3-cross-signed.pem"}},{"type":"File","title":"/usr/local/share/ca-certificates/Lets_Encrypt_Authority_X4.crt","tags":["file","sslcert::ca","sslcert","ca","lets_encrypt_authority_x4","class","acme_chief","acme_chief::cert","cert","tools-legacy","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/sslcert/manifests/ca.pp","line":40,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","require":"Package[ca-certificates]","notify":"Exec[update-ca-certificates]","source":"puppet:///modules/acme_chief/lets-encrypt-x4-cross-signed.pem"}},{"type":"File","title":"/etc/apache2/sites-available/00-dummy.conf","tags":["file","httpd::conf","httpd","conf","dummy","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","source":"puppet:///modules/httpd/dummy.conf","owner":"root","group":"root","mode":"0444","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/sites-enabled/00-dummy.conf","tags":["file","httpd::conf","httpd","conf","dummy","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"link","target":"/etc/apache2/sites-available/00-dummy.conf","notify":"Service[apache2]","owner":"root","group":"root"}},{"type":"File","title":"/etc/systemd/system/apache2.service.d/apache2-after-network-online-target.conf","tags":["file","systemd::unit","systemd","unit","apache2-apache2-after-network-online-target","systemd::override","override","apache2-after-network-online-target","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nAfter=network-online.target\nWants=network-online.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for apache2.service (apache2-apache2-after-network-online-target)]"}},{"type":"Exec","title":"systemd daemon-reload for apache2.service (apache2-apache2-after-network-online-target)","tags":["exec","systemd::unit","systemd","unit","apache2-apache2-after-network-online-target","systemd::override","override","apache2-after-network-online-target","class","httpd","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Unit","title":"wmf_auto_restart_apache-htcacheclean.service","tags":["systemd::unit","systemd","unit","wmf_auto_restart_apache-htcacheclean.service","systemd::timer::job","timer","job","wmf_auto_restart_apache-htcacheclean","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Auto restart job: apache-htcacheclean\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s apache-htcacheclean\n","unit":"wmf_auto_restart_apache-htcacheclean.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"wmf_auto_restart_apache-htcacheclean","tags":["systemd::timer","systemd","timer","wmf_auto_restart_apache-htcacheclean","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","timer_intervals":[{"start":"OnCalendar","interval":"Mon,Tue,Wed,Thu,Fri *-*-* 5:12:00"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"wmf_auto_restart_apache-htcacheclean.service"}},{"type":"Systemd::Syslog","title":"wmf_auto_restart_apache-htcacheclean","tags":["systemd::syslog","systemd","syslog","wmf_auto_restart_apache-htcacheclean","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/etc/apache2/sites-available/50-tools-wmflabs-org.conf","tags":["file","httpd::conf","httpd","conf","tools.wmflabs.org","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# SPDX-License-Identifier: Apache-2.0\n\n# THIS FILE IS MANAGED BY PUPPET\n# vim: filetype=apache\n\n<VirtualHost *:80>\n    ServerAdmin root@toolforge.org\n    ServerName tools.wmflabs.org\n\n    # duplicated here and in the https section so it does only one request to our server\n    Redirect gone /a\n    Redirect gone /aaaaaa\n    Redirect 308 /aaabot https://aaabot.toolforge.org\n    Redirect 308 /abbe98tools https://abbe98tools.toolforge.org\n    Redirect 308 /abbreviso https://abbreviso.toolforge.org\n    Redirect 308 /abcgames https://abcgames.toolforge.org\n    Redirect 308 /abdumubot https://abdumubot.toolforge.org\n    Redirect 308 /abibot https://abibot.toolforge.org\n    Redirect 308 /abigor https://abigor.toolforge.org\n    Redirect 308 /abohadi https://abohadi.toolforge.org\n    Redirect 308 /abohadi1 https://abohadi1.toolforge.org\n    Redirect 308 /abot https://abot.toolforge.org\n    Redirect 308 /abricot https://abricot.toolforge.org\n    Redirect 308 /abshir https://abshir.toolforge.org\n    Redirect gone /abusereport\n    Redirect gone /account\n    Redirect 308 /account-creator https://account-creator.toolforge.org\n    Redirect gone /acc-utilities\n    Redirect 308 /ace2018 https://ace2018.toolforge.org\n    Redirect gone /acoustid\n    Redirect gone /activity\n    Redirect gone /actrial\n    Redirect gone /adas\n    Redirect 308 /add https://add.toolforge.org\n    Redirect gone /addbot\n    Redirect 308 /add-information https://add-information.toolforge.org\n    Redirect 308 /addscholartopics https://addscholartopics.toolforge.org\n    Redirect gone /addshore\n    Redirect gone /addshore-dev\n    Redirect 308 /add-text https://add-text.toolforge.org\n    Redirect 308 /admin https://admin.toolforge.org\n    Redirect 308 /admin-beta https://admin-beta.toolforge.org\n    Redirect 308 /adminstats https://adminstats.toolforge.org\n    Redirect 308 /admin-test https://admin-test.toolforge.org\n    Redirect 308 /advertisedetector https://advertisedetector.toolforge.org\n    Redirect 308 /aemisinfo https://aemisinfo.toolforge.org\n    Redirect 308 /afcbot https://afcbot.toolforge.org\n    Redirect 308 /afch https://afch.toolforge.org\n    Redirect 308 /afch-updater https://afch-updater.toolforge.org\n    Redirect gone /afc-research\n    Redirect 308 /afdstats https://afdstats.toolforge.org\n    Redirect 308 /afrobot https://afrobot.toolforge.org\n    Redirect gone /aftabbot\n    Redirect 308 /aftabbotbnwiki https://aftabbotbnwiki.toolforge.org\n    Redirect 308 /aharonitelegrambot002 https://aharonitelegrambot002.toolforge.org\n    Redirect 308 /ahechtbot https://ahechtbot.toolforge.org\n    Redirect 308 /aiko-citationhunt https://aiko-citationhunt.toolforge.org\n    Redirect 308 /air7538tools https://air7538tools.toolforge.org\n    Redirect 308 /aivanalysis https://aivanalysis.toolforge.org\n    Redirect 308 /aivhelperbot https://aivhelperbot.toolforge.org\n    Redirect 308 /ajapaik2commons https://ajapaik2commons.toolforge.org\n    Redirect 308 /akkakkbot https://akkakkbot.toolforge.org\n    Redirect 308 /alaabot https://alaabot.toolforge.org\n    Redirect gone /alan\n    Redirect 308 /alanajjar https://alanajjar.toolforge.org\n    Redirect 308 /alberobot https://alberobot.toolforge.org\n    Redirect 308 /alchimista https://alchimista.toolforge.org\n    Redirect 308 /aleph https://aleph.toolforge.org\n    Redirect 308 /alessiobot https://alessiobot.toolforge.org\n    Redirect 308 /alex https://alex.toolforge.org\n    Redirect 308 /alfa80 https://alfa80.toolforge.org\n    Redirect gone /algo-news\n    Redirect 308 /alkamidbot https://alkamidbot.toolforge.org\n    Redirect 308 /alphatest https://alphatest.toolforge.org\n    Redirect 308 /alphawakt https://alphawakt.toolforge.org\n    Redirect 308 /altobot https://altobot.toolforge.org\n    Redirect 308 /altostratus https://altostratus.toolforge.org\n    Redirect 308 /alvaro https://alvaro.toolforge.org\n    Redirect 308 /am https://am.toolforge.org\n    Redirect gone /amarbot\n    Redirect 308 /amdb https://amdb.toolforge.org\n    Redirect 308 /ameen https://ameen.toolforge.org\n    Redirect 308 /ameisenbot https://ameisenbot.toolforge.org\n    Redirect 308 /amorybot https://amorybot.toolforge.org\n    Redirect 308 /amstats https://amstats.toolforge.org\n    Redirect 308 /anagrimes https://anagrimes.toolforge.org\n    Redirect 308 /analytalks https://analytalks.toolforge.org\n    Redirect 308 /analytics https://analytics.toolforge.org\n    Redirect 308 /ananthrk-test https://ananthrk-test.toolforge.org\n    Redirect 308 /ancestors2 https://ancestors2.toolforge.org\n    Redirect gone /andrewtesttool\n    Redirect gone /android-maven-repo\n    Redirect 308 /android-sdk-builds https://android-sdk-builds.toolforge.org\n    Redirect 308 /andxor https://andxor.toolforge.org\n    Redirect 308 /aneun-sandbox https://aneun-sandbox.toolforge.org\n    Redirect gone /ankitbot\n    Redirect 308 /anni-me https://anni-me.toolforge.org\n    Redirect 308 /anno https://anno.toolforge.org\n    Redirect 308 /anomiebot https://anomiebot.toolforge.org\n    Redirect 308 /anon https://anon.toolforge.org\n    Redirect gone /anorange\n    Redirect 308 /anticompositebot https://anticompositebot.toolforge.org\n    Redirect 308 /anticompositetest https://anticompositetest.toolforge.org\n    Redirect 308 /anticompositetools https://anticompositetools.toolforge.org\n    Redirect gone /antigng\n    Redirect 308 /antigng-bot https://antigng-bot.toolforge.org\n    Redirect 308 /aobo https://aobo.toolforge.org\n    Redirect 308 /apersonbot https://apersonbot.toolforge.org\n    Redirect gone /api-citations\n    Redirect 308 /apps-gallery https://apps-gallery.toolforge.org\n    Redirect 308 /apt-browser https://apt-browser.toolforge.org\n    Redirect 308 /arambot https://arambot.toolforge.org\n    Redirect 308 /arbclerkbot https://arbclerkbot.toolforge.org\n    Redirect 308 /arcanist https://arcanist.toolforge.org\n    Redirect gone /archaeo\n    Redirect 308 /archiveleaf https://archiveleaf.toolforge.org\n    Redirect 308 /archivesearch https://archivesearch.toolforge.org\n    Redirect 308 /archive-things https://archive-things.toolforge.org\n    Redirect 308 /archive-things-1 https://archive-things-1.toolforge.org\n    Redirect 308 /archive-things-2 https://archive-things-2.toolforge.org\n    Redirect 308 /archive-things-3 https://archive-things-3.toolforge.org\n    Redirect 308 /archive-things-4 https://archive-things-4.toolforge.org\n    Redirect 308 /archiving https://archiving.toolforge.org\n    Redirect 308 /arelph https://arelph.toolforge.org\n    Redirect 308 /arkivbot https://arkivbot.toolforge.org\n    Redirect 308 /arnaubot https://arnaubot.toolforge.org\n    Redirect 308 /arowf https://arowf.toolforge.org\n    Redirect 308 /artemisia https://artemisia.toolforge.org\n    Redirect gone /article\n    Redirect gone /article2\n    Redirect 308 /article-creation-mapper https://article-creation-mapper.toolforge.org\n    Redirect 308 /article-ideas-generator https://article-ideas-generator.toolforge.org\n    Redirect 308 /article-interactions https://article-interactions.toolforge.org\n    Redirect gone /article-locations\n    Redirect 308 /articleplaceholderwiki https://articleplaceholderwiki.toolforge.org\n    Redirect 308 /articlerequest https://articlerequest.toolforge.org\n    Redirect 308 /articlerequest-dev https://articlerequest-dev.toolforge.org\n    Redirect 308 /articles-by-lat-lon-without-images https://articles-by-lat-lon-without-images.toolforge.org\n    Redirect 308 /articles-needing-links https://articles-needing-links.toolforge.org\n    Redirect 308 /articles-recommender https://articles-recommender.toolforge.org\n    Redirect gone /article-suggestion\n    Redirect 308 /artlist https://artlist.toolforge.org\n    Redirect 308 /artuploader https://artuploader.toolforge.org\n    Redirect gone /arturo-test-tool\n    Redirect 308 /asaifmbot https://asaifmbot.toolforge.org\n    Redirect 308 /ascal https://ascal.toolforge.org\n    Redirect gone /asdf\n    Redirect 308 /ashbot https://ashbot.toolforge.org\n    Redirect gone /ash-dev\n    Redirect 308 /ash-django https://ash-django.toolforge.org\n    Redirect 308 /ashotbot https://ashotbot.toolforge.org\n    Redirect 308 /ashottools https://ashottools.toolforge.org\n    Redirect 308 /as-info https://as-info.toolforge.org\n    Redirect 308 /as-info-dev https://as-info-dev.toolforge.org\n    Redirect gone /askbot-01\n    Redirect 308 /assamesecalendar https://assamesecalendar.toolforge.org\n    Redirect 308 /assamesetool https://assamesetool.toolforge.org\n    Redirect 308 /assessor https://assessor.toolforge.org\n    Redirect 308 /asurabot https://asurabot.toolforge.org\n    Redirect 308 /aswnbot https://aswnbot.toolforge.org\n    Redirect 308 /atiro https://atiro.toolforge.org\n    Redirect 308 /ato https://ato.toolforge.org\n    Redirect 308 /atriskwiki https://atriskwiki.toolforge.org\n    Redirect 308 /attribution https://attribution.toolforge.org\n    Redirect 308 /aude https://aude.toolforge.org\n    Redirect 308 /audetools https://audetools.toolforge.org\n    Redirect 308 /auth https://auth.toolforge.org\n    Redirect 308 /author-disambiguator https://author-disambiguator.toolforge.org\n    Redirect 308 /authorlang-game https://authorlang-game.toolforge.org\n    Redirect 308 /authors https://authors.toolforge.org\n    Redirect 308 /autodesc https://autodesc.toolforge.org\n    Redirect 308 /autolist https://autolist.toolforge.org\n    Redirect 308 /autometrics https://autometrics.toolforge.org\n    Redirect 308 /autopromote-status https://autopromote-status.toolforge.org\n    Redirect 308 /avicbot https://avicbot.toolforge.org\n    Redirect 308 /awb https://awb.toolforge.org\n    Redirect 308 /awmd-stats https://awmd-stats.toolforge.org\n    Redirect 308 /awstats https://awstats.toolforge.org\n    Redirect gone /axel\n    Redirect gone /a-z-p\n    Redirect gone /a-z-p-0-9-z\n    Redirect 308 /badges https://badges.toolforge.org\n    Redirect 308 /bajo https://bajo.toolforge.org\n    Redirect 308 /balasankarc https://balasankarc.toolforge.org\n    Redirect 308 /baljeetdhaliwal https://baljeetdhaliwal.toolforge.org\n    Redirect 308 /baljeetsingh https://baljeetsingh.toolforge.org\n    Redirect 308 /bambots https://bambots.toolforge.org\n    Redirect 308 /basebot https://basebot.toolforge.org\n    Redirect gone /base-encode\n    Redirect 308 /base-php-cli https://base-php-cli.toolforge.org\n    Redirect gone /basetool\n    Redirect 308 /bash https://bash.toolforge.org\n    Redirect gone /basyounybot\n    Redirect 308 /batchrevert https://batchrevert.toolforge.org\n    Redirect 308 /bawolff https://bawolff.toolforge.org\n    Redirect 308 /bays https://bays.toolforge.org\n    Redirect 308 /bbc-tv-cite https://bbc-tv-cite.toolforge.org\n    Redirect 308 /bcxfu75kbot https://bcxfu75kbot.toolforge.org\n    Redirect gone /bd808-k8smigrate\n    Redirect 308 /bd808-pywikibot https://bd808-pywikibot.toolforge.org\n    Redirect 308 /bd808-ruby https://bd808-ruby.toolforge.org\n    Redirect 308 /bd808-test https://bd808-test.toolforge.org\n    Redirect 308 /bd808-test2 https://bd808-test2.toolforge.org\n    Redirect gone /bd808-test3\n    Redirect gone /bd808-test4\n    Redirect 308 /beastiebot https://beastiebot.toolforge.org\n    Redirect 308 /become https://become.toolforge.org\n    Redirect 308 /beleg-tally https://beleg-tally.toolforge.org\n    Redirect gone /beleg-test-14568913402\n    Redirect 308 /bene https://bene.toolforge.org\n    Redirect 308 /benin1 https://benin1.toolforge.org\n    Redirect 308 /bennofsplay https://bennofsplay.toolforge.org\n    Redirect 308 /best-image https://best-image.toolforge.org\n    Redirect 308 /betabot https://betabot.toolforge.org\n    Redirect 308 /betacommand-dev https://betacommand-dev.toolforge.org\n    Redirect 308 /betaweb https://betaweb.toolforge.org\n    Redirect 308 /bibleversefinder https://bibleversefinder.toolforge.org\n    Redirect 308 /bibleversefinder2 https://bibleversefinder2.toolforge.org\n    Redirect 308 /bibliodata https://bibliodata.toolforge.org\n    Redirect 308 /bikeshed https://bikeshed.toolforge.org\n    Redirect 308 /bingle https://bingle.toolforge.org\n    Redirect 308 /bing-maps https://bing-maps.toolforge.org\n    Redirect 308 /bingo https://bingo.toolforge.org\n    Redirect 308 /bkllc https://bkllc.toolforge.org\n    Redirect 308 /bkstats-test https://bkstats-test.toolforge.org\n    Redirect 308 /blablabla https://blablabla.toolforge.org\n    Redirect 308 /blahma https://blahma.toolforge.org\n    Redirect 308 /blankpages https://blankpages.toolforge.org\n    Redirect 308 /bl-assist https://bl-assist.toolforge.org\n    Redirect 308 /bldrwnsch https://bldrwnsch.toolforge.org\n    Redirect 308 /blockcalc https://blockcalc.toolforge.org\n    Redirect 308 /blocklog https://blocklog.toolforge.org\n    Redirect 308 /blocksearch https://blocksearch.toolforge.org\n    Redirect 308 /blockyquery https://blockyquery.toolforge.org\n    Redirect 308 /blog https://blog.toolforge.org\n    Redirect gone /blogconverter\n    Redirect gone /blubber\n    Redirect 308 /bn-googleocr https://bn-googleocr.toolforge.org\n    Redirect 308 /bnwiki8 https://bnwiki8.toolforge.org\n    Redirect 308 /bomwiki https://bomwiki.toolforge.org\n    Redirect 308 /book2scroll https://book2scroll.toolforge.org\n    Redirect 308 /bookmanagerv2 https://bookmanagerv2.toolforge.org\n    Redirect 308 /bookreader https://bookreader.toolforge.org\n    Redirect 308 /books-for-binding https://books-for-binding.toolforge.org\n    Redirect 308 /booksplitter https://booksplitter.toolforge.org\n    Redirect 308 /bookworm https://bookworm.toolforge.org\n    Redirect 308 /booster https://booster.toolforge.org\n    Redirect 308 /borracho https://borracho.toolforge.org\n    Redirect 308 /bot24 https://bot24.toolforge.org\n    Redirect 308 /bot873 https://bot873.toolforge.org\n    Redirect 308 /botadventures https://botadventures.toolforge.org\n    Redirect 308 /bot-ash-nazg https://bot-ash-nazg.toolforge.org\n    Redirect 308 /boteas https://boteas.toolforge.org\n    Redirect 308 /bothasava https://bothasava.toolforge.org\n    Redirect 308 /botleo https://botleo.toolforge.org\n    Redirect 308 /botomatik https://botomatik.toolforge.org\n    Redirect 308 /botorder https://botorder.toolforge.org\n    Redirect 308 /botqa https://botqa.toolforge.org\n    Redirect 308 /botriconferme https://botriconferme.toolforge.org\n    Redirect 308 /botsister https://botsister.toolforge.org\n    Redirect 308 /botundo https://botundo.toolforge.org\n    Redirect 308 /botvegas https://botvegas.toolforge.org\n    Redirect 308 /botwatch https://botwatch.toolforge.org\n    Redirect 308 /botwikiawk https://botwikiawk.toolforge.org\n    Redirect 308 /boty https://boty.toolforge.org\n    Redirect 308 /bovlbbot https://bovlbbot.toolforge.org\n    Redirect 308 /bowleerin https://bowleerin.toolforge.org\n    Redirect gone /bracketbot\n    Redirect gone /brandonstools\n    Redirect 308 /brgroup https://brgroup.toolforge.org\n    Redirect 308 /bridgebot https://bridgebot.toolforge.org\n    Redirect 308 /bsaut https://bsaut.toolforge.org\n    Redirect gone /bstorm-tool\n    Redirect gone /bstorm-tool2\n    Redirect gone /bub\n    Redirect 308 /bub2 https://bub2.toolforge.org\n    Redirect 308 /bugello https://bugello.toolforge.org\n    Redirect 308 /bunykbot https://bunykbot.toolforge.org\n    Redirect 308 /bytesadded https://bytesadded.toolforge.org\n    Redirect 308 /calakbot https://calakbot.toolforge.org\n    Redirect 308 /calak-dev https://calak-dev.toolforge.org\n    Redirect 308 /calling-card https://calling-card.toolforge.org\n    Redirect 308 /camelbot https://camelbot.toolforge.org\n    Redirect gone /canary\n    Redirect 308 /canarybot https://canarybot.toolforge.org\n    Redirect 308 /captcha https://captcha.toolforge.org\n    Redirect 308 /captcha-dev https://captcha-dev.toolforge.org\n    Redirect 308 /cargo-hierarchy https://cargo-hierarchy.toolforge.org\n    Redirect 308 /catbot https://catbot.toolforge.org\n    Redirect 308 /catcompare https://catcompare.toolforge.org\n    Redirect 308 /categorie https://categorie.toolforge.org\n    Redirect 308 /category-by-uploaders https://category-by-uploaders.toolforge.org\n    Redirect 308 /catfood https://catfood.toolforge.org\n    Redirect gone /catgraph\n    Redirect gone /catgraph-jsonp\n    Redirect 308 /catimages https://catimages.toolforge.org\n    Redirect gone /catlive\n    Redirect gone /catmonitor\n    Redirect 308 /catnap https://catnap.toolforge.org\n    Redirect 308 /catrename https://catrename.toolforge.org\n    Redirect 308 /catscan2 https://catscan2.toolforge.org\n    Redirect 308 /catscan3 https://catscan3.toolforge.org\n    Redirect 308 /catscan-pop https://catscan-pop.toolforge.org\n    Redirect 308 /catscore https://catscore.toolforge.org\n    Redirect gone /catsize\n    Redirect 308 /cats-php https://cats-php.toolforge.org\n    Redirect 308 /catwatchbot https://catwatchbot.toolforge.org\n    Redirect 308 /cauchy https://cauchy.toolforge.org\n    Redirect 308 /cauchy7 https://cauchy7.toolforge.org\n    Redirect gone /cbench\n    Redirect gone /cbench2\n    Redirect gone /cbng-sql-1\n    Redirect gone /cbng-sql-2\n    Redirect gone /cbng-sql-3\n    Redirect gone /cbng-sql-4\n    Redirect gone /cbng-sql-5\n    Redirect gone /cbng-sql-6\n    Redirect 308 /ccm https://ccm.toolforge.org\n    Redirect 308 /cdnjs https://cdnjs.toolforge.org\n    Redirect 308 /cdnjs-beta https://cdnjs-beta.toolforge.org\n    Redirect 308 /cdrini-dev https://cdrini-dev.toolforge.org\n    Redirect 308 /centralnotice-bannergenerator https://centralnotice-bannergenerator.toolforge.org\n    Redirect 308 /cerabot https://cerabot.toolforge.org\n    Redirect 308 /cewbot https://cewbot.toolforge.org\n    Redirect gone /cgstat\n    Redirect 308 /chaoyueltry https://chaoyueltry.toolforge.org\n    Redirect 308 /charttableconverter https://charttableconverter.toolforge.org\n    Redirect gone /chat\n    Redirect gone /checkdictation-fa\n    Redirect 308 /checker https://checker.toolforge.org\n    Redirect gone /checklinks\n    Redirect 308 /checkpersondata https://checkpersondata.toolforge.org\n    Redirect 308 /checkwiki https://checkwiki.toolforge.org\n    Redirect 308 /chemobot https://chemobot.toolforge.org\n    Redirect 308 /chie-bot https://chie-bot.toolforge.org\n    Redirect 308 /chobot https://chobot.toolforge.org\n    Redirect 308 /chocobot https://chocobot.toolforge.org\n    Redirect 308 /churches https://churches.toolforge.org\n    Redirect 308 /ci https://ci.toolforge.org\n    Redirect 308 /cil2 https://cil2.toolforge.org\n    Redirect 308 /cipherbot https://cipherbot.toolforge.org\n    Redirect gone /citationbase\n    Redirect gone /citation-bot\n    Redirect 308 /citationdetective https://citationdetective.toolforge.org\n    Redirect gone /citationgraph\n    Redirect 308 /citationhunt https://citationhunt.toolforge.org\n    Redirect 308 /citations https://citations.toolforge.org\n    Redirect 308 /citations-dev https://citations-dev.toolforge.org\n    Redirect 308 /citation-template-filling https://citation-template-filling.toolforge.org\n    Redirect 308 /citeimage https://citeimage.toolforge.org\n    Redirect 308 /cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 308 /citeplato https://citeplato.toolforge.org\n    Redirect 308 /citer https://citer.toolforge.org\n    Redirect 308 /cite-web-helper https://cite-web-helper.toolforge.org\n    Redirect 308 /citing-bot https://citing-bot.toolforge.org\n    Redirect 308 /citytime https://citytime.toolforge.org\n    Redirect 308 /cleanup https://cleanup.toolforge.org\n    Redirect 308 /clickstream-api https://clickstream-api.toolforge.org\n    Redirect 308 /cloudvps https://cloudvps.toolforge.org\n    Redirect 308 /clpo13-flask https://clpo13-flask.toolforge.org\n    Redirect 308 /cluebot https://cluebot.toolforge.org\n    Redirect 308 /cluebot3 https://cluebot3.toolforge.org\n    Redirect 308 /cluebotng https://cluebotng.toolforge.org\n    Redirect 308 /cluebotng-staging https://cluebotng-staging.toolforge.org\n    Redirect gone /cluestuff\n    Redirect gone /clunk\n    Redirect 308 /cobain https://cobain.toolforge.org\n    Redirect 308 /cobot https://cobot.toolforge.org\n    Redirect 308 /cocubot https://cocubot.toolforge.org\n    Redirect 308 /cocytus https://cocytus.toolforge.org\n    Redirect 308 /code-essay https://code-essay.toolforge.org\n    Redirect 308 /codelookup https://codelookup.toolforge.org\n    Redirect 308 /codeqc https://codeqc.toolforge.org\n    Redirect 308 /codexbot https://codexbot.toolforge.org\n    Redirect 308 /coh https://coh.toolforge.org\n    Redirect gone /coi\n    Redirect 308 /coibot https://coibot.toolforge.org\n    Redirect gone /comidentgen\n    Redirect 308 /common-interests https://common-interests.toolforge.org\n    Redirect gone /commons\n    Redirect 308 /commons-aiuser https://commons-aiuser.toolforge.org\n    Redirect 308 /commons-android-app https://commons-android-app.toolforge.org\n    Redirect 308 /commons-app-stats https://commons-app-stats.toolforge.org\n    Redirect 308 /commons-app-web https://commons-app-web.toolforge.org\n    Redirect 308 /commonsarchive https://commonsarchive.toolforge.org\n    Redirect 308 /commons-campaign-commander https://commons-campaign-commander.toolforge.org\n    Redirect 308 /commonscategorycount https://commonscategorycount.toolforge.org\n    Redirect 308 /commons-coverage https://commons-coverage.toolforge.org\n    Redirect 308 /commons-delinquent https://commons-delinquent.toolforge.org\n    Redirect gone /commons_describer\n    Redirect 308 /commonsedge https://commonsedge.toolforge.org\n    Redirect 308 /commonsfairuseupload https://commonsfairuseupload.toolforge.org\n    Redirect 308 /commonshelper https://commonshelper.toolforge.org\n    Redirect gone /commonshelper2\n    Redirect gone /commonsinterwiki\n    Redirect 308 /commons-maintenance-bot https://commons-maintenance-bot.toolforge.org\n    Redirect 308 /commons-mass-description https://commons-mass-description.toolforge.org\n    Redirect 308 /commons-mass-description-test https://commons-mass-description-test.toolforge.org\n    Redirect gone /commons-mass-upload\n    Redirect 308 /commonsnotificationbot https://commonsnotificationbot.toolforge.org\n    Redirect 308 /commons-poty https://commons-poty.toolforge.org\n    Redirect gone /commonsuploadsum\n    Redirect gone /commons-video-clicks\n    Redirect 308 /commtech-commons https://commtech-commons.toolforge.org\n    Redirect gone /communityguidelines\n    Redirect 308 /community-tech-tools https://community-tech-tools.toolforge.org\n    Redirect 308 /compare-accounts https://compare-accounts.toolforge.org\n    Redirect 308 /completer https://completer.toolforge.org\n    Redirect 308 /comprende https://comprende.toolforge.org\n    Redirect 308 /congressedits https://congressedits.toolforge.org\n    Redirect 308 /connectivity https://connectivity.toolforge.org\n    Redirect 308 /contact https://contact.toolforge.org\n    Redirect 308 /contentcontributor https://contentcontributor.toolforge.org\n    Redirect 308 /content-gap https://content-gap.toolforge.org\n    Redirect 308 /continuitybot https://continuitybot.toolforge.org\n    Redirect 308 /contraband https://contraband.toolforge.org\n    Redirect 308 /contrabandapp https://contrabandapp.toolforge.org\n    Redirect 308 /contribgraph https://contribgraph.toolforge.org\n    Redirect 308 /contribstats https://contribstats.toolforge.org\n    Redirect gone /contributions-summary\n    Redirect 308 /contributionsurveyor https://contributionsurveyor.toolforge.org\n    Redirect 308 /contropedia https://contropedia.toolforge.org\n    Redirect 308 /convenient-discussions https://convenient-discussions.toolforge.org\n    Redirect 308 /convert https://convert.toolforge.org\n    Redirect 308 /coord https://coord.toolforge.org\n    Redirect 308 /copyclear https://copyclear.toolforge.org\n    Redirect 308 /copypatrol https://copypatrol.toolforge.org\n    Redirect 308 /copyvios https://copyvios.toolforge.org\n    Redirect gone /copywhat\n    Redirect gone /corenlp\n    Redirect gone /corhist\n    Redirect 308 /costar https://costar.toolforge.org\n    Redirect 308 /countcountbot https://countcountbot.toolforge.org\n    Redirect 308 /countcounttest https://countcounttest.toolforge.org\n    Redirect 308 /countryip https://countryip.toolforge.org\n    Redirect 308 /coursestats https://coursestats.toolforge.org\n    Redirect 308 /coverage https://coverage.toolforge.org\n    Redirect 308 /coverme https://coverme.toolforge.org\n    Redirect 308 /covid https://covid.toolforge.org\n    Redirect 308 /covid-obit https://covid-obit.toolforge.org\n    Redirect 308 /cp https://cp.toolforge.org\n    Redirect 308 /cpb https://cpb.toolforge.org\n    Redirect 308 /cradle https://cradle.toolforge.org\n    Redirect gone /crazyometer\n    Redirect gone /creatorlinks\n    Redirect 308 /crisis-response https://crisis-response.toolforge.org\n    Redirect gone /crocodylia\n    Redirect 308 /cropbot https://cropbot.toolforge.org\n    Redirect 308 /cropcrop https://cropcrop.toolforge.org\n    Redirect 308 /croptool https://croptool.toolforge.org\n    Redirect 308 /crossactivity https://crossactivity.toolforge.org\n    Redirect gone /crosswatch\n    Redirect 308 /crosswatch2019 https://crosswatch2019.toolforge.org\n    Redirect gone /crosswatch-monitoring\n    Redirect 308 /csbot https://csbot.toolforge.org\n    Redirect 308 /csfd https://csfd.toolforge.org\n    Redirect 308 /csp-report https://csp-report.toolforge.org\n    Redirect 308 /cssk https://cssk.toolforge.org\n    Redirect 308 /cuddle https://cuddle.toolforge.org\n    Redirect 308 /currentevents https://currentevents.toolforge.org\n    Redirect 308 /custom-utils https://custom-utils.toolforge.org\n    Redirect 308 /cvn https://cvn.toolforge.org\n    Redirect 308 /cvrminer https://cvrminer.toolforge.org\n    Redirect 308 /cyberbot https://cyberbot.toolforge.org\n    Redirect gone /cybertools\n    Redirect 308 /cyberworm https://cyberworm.toolforge.org\n    Redirect 308 /cydebot https://cydebot.toolforge.org\n    Redirect 308 /daahbot https://daahbot.toolforge.org\n    Redirect gone /dabsolver\n    Redirect 308 /dal https://dal.toolforge.org\n    Redirect 308 /danilo https://danilo.toolforge.org\n    Redirect 308 /danmicholobot https://danmicholobot.toolforge.org\n    Redirect 308 /dannys712-bot https://dannys712-bot.toolforge.org\n    Redirect 308 /danorton-dev https://danorton-dev.toolforge.org\n    Redirect 308 /dapete-dev https://dapete-dev.toolforge.org\n    Redirect 308 /dashboard https://dashboard.toolforge.org\n    Redirect 308 /database-reports https://database-reports.toolforge.org\n    Redirect 308 /datacon-schedule-app https://datacon-schedule-app.toolforge.org\n    Redirect gone /data-design-demo\n    Redirect 308 /datasets https://datasets.toolforge.org\n    Redirect 308 /dataviz https://dataviz.toolforge.org\n    Redirect 308 /datbot https://datbot.toolforge.org\n    Redirect gone /datbotcommons\n    Redirect 308 /dateien https://dateien.toolforge.org\n    Redirect 308 /david-tool https://david-tool.toolforge.org\n    Redirect 308 /davod https://davod.toolforge.org\n    Redirect gone /dawiki\n    Redirect 308 /dawikibot https://dawikibot.toolforge.org\n    Redirect 308 /dawikitool https://dawikitool.toolforge.org\n    Redirect gone /db\n    Redirect 308 /dbbot https://dbbot.toolforge.org\n    Redirect 308 /dbreps https://dbreps.toolforge.org\n    Redirect 308 /dbreps-uk https://dbreps-uk.toolforge.org\n    Redirect gone /ddescriptions\n    Redirect 308 /deadlinkfinder https://deadlinkfinder.toolforge.org\n    Redirect 308 /deadlinks https://deadlinks.toolforge.org\n    Redirect 308 /death-anomalies https://death-anomalies.toolforge.org\n    Redirect gone /declare\n    Redirect gone /deep-learning-services\n    Redirect 308 /defconbot https://defconbot.toolforge.org\n    Redirect gone /dekel\n    Redirect 308 /delinker https://delinker.toolforge.org\n    Redirect 308 /dellie https://dellie.toolforge.org\n    Redirect 308 /deltabot https://deltabot.toolforge.org\n    Redirect 308 /deltaquad-bots https://deltaquad-bots.toolforge.org\n    Redirect 308 /demibot https://demibot.toolforge.org\n    Redirect 308 /demo-unicorn https://demo-unicorn.toolforge.org\n    Redirect 308 /denisa https://denisa.toolforge.org\n    Redirect 308 /denkmalbot https://denkmalbot.toolforge.org\n    Redirect 308 /denkmalliste https://denkmalliste.toolforge.org\n    Redirect 308 /depiction-game https://depiction-game.toolforge.org\n    Redirect 308 /depictions https://depictions.toolforge.org\n    Redirect 308 /depicts https://depicts.toolforge.org\n    Redirect 308 /deprecated-fixer-bot https://deprecated-fixer-bot.toolforge.org\n    Redirect 308 /derivative https://derivative.toolforge.org\n    Redirect 308 /desh https://desh.toolforge.org\n    Redirect gone /design-research-methods\n    Redirect gone /deskana\n    Redirect gone /deskana2\n    Redirect 308 /detox https://detox.toolforge.org\n    Redirect gone /detoxresearch\n    Redirect gone /devlibrarycard\n    Redirect 308 /devyasha https://devyasha.toolforge.org\n    Redirect 308 /devys https://devys.toolforge.org\n    Redirect 308 /dewikigreetbot https://dewikigreetbot.toolforge.org\n    Redirect 308 /dewikinews-rss https://dewikinews-rss.toolforge.org\n    Redirect 308 /dewikivpncheck https://dewikivpncheck.toolforge.org\n    Redirect 308 /dewkin https://dewkin.toolforge.org\n    Redirect gone /dewpmonobookupdater\n    Redirect 308 /dexbot https://dexbot.toolforge.org\n    Redirect gone /dexibotnet\n    Redirect gone /dibot\n    Redirect 308 /dibyadutta https://dibyadutta.toolforge.org\n    Redirect 308 /dicompte https://dicompte.toolforge.org\n    Redirect 308 /digero https://digero.toolforge.org\n    Redirect gone /digitaltmuseum\n    Redirect 308 /dijkstrasproject https://dijkstrasproject.toolforge.org\n    Redirect 308 /dimastbkbot https://dimastbkbot.toolforge.org\n    Redirect 308 /dimensioner https://dimensioner.toolforge.org\n    Redirect 308 /dioceses https://dioceses.toolforge.org\n    Redirect 308 /directory https://directory.toolforge.org\n    Redirect 308 /disambinator https://disambinator.toolforge.org\n    Redirect 308 /disclaim https://disclaim.toolforge.org\n    Redirect gone /discogs2pistes\n    Redirect gone /discord-irc\n    Redirect gone /discordwiki\n    Redirect 308 /dispatcher https://dispatcher.toolforge.org\n    Redirect 308 /dispenser https://dispenser.toolforge.org\n    Redirect 308 /dixondbot https://dixondbot.toolforge.org\n    Redirect 308 /dixtosa https://dixtosa.toolforge.org\n    Redirect 308 /dluxbot https://dluxbot.toolforge.org\n    Redirect 308 /dna https://dna.toolforge.org\n    Redirect 308 /dnbtools https://dnbtools.toolforge.org\n    Redirect 308 /dockerregistry https://dockerregistry.toolforge.org\n    Redirect 308 /docker-registry https://docker-registry.toolforge.org\n    Redirect 308 /doi-bot https://doi-bot.toolforge.org\n    Redirect gone /douglasbot\n    Redirect 308 /dow https://dow.toolforge.org\n    Redirect 308 /dpkg https://dpkg.toolforge.org\n    Redirect 308 /dplbot https://dplbot.toolforge.org\n    Redirect 308 /draftifyhistory https://draftifyhistory.toolforge.org\n    Redirect gone /draft-uncategorize-script\n    Redirect gone /dramaboard\n    Redirect 308 /drawshield https://drawshield.toolforge.org\n    Redirect 308 /drbot https://drbot.toolforge.org\n    Redirect 308 /dreamyjazzbot https://dreamyjazzbot.toolforge.org\n    Redirect 308 /drewbot https://drewbot.toolforge.org\n    Redirect 308 /dribper https://dribper.toolforge.org\n    Redirect 308 /drini https://drini.toolforge.org\n    Redirect 308 /droog https://droog.toolforge.org\n    Redirect gone /drtrigonbot\n    Redirect 308 /drvstats https://drvstats.toolforge.org\n    Redirect 308 /dschwenbot https://dschwenbot.toolforge.org\n    Redirect gone /dspull\n    Redirect 308 /dtz https://dtz.toolforge.org\n    Redirect 308 /dumpcattree https://dumpcattree.toolforge.org\n    Redirect gone /dumpscan\n    Redirect gone /dump-torrents\n    Redirect 308 /dupdet https://dupdet.toolforge.org\n    Redirect 308 /duplicate-coords https://duplicate-coords.toolforge.org\n    Redirect 308 /duplicatehunter https://duplicatehunter.toolforge.org\n    Redirect gone /durl-shortener\n    Redirect 308 /dutchbot https://dutchbot.toolforge.org\n    Redirect 308 /dvorapabot https://dvorapabot.toolforge.org\n    Redirect 308 /dvtbot https://dvtbot.toolforge.org\n    Redirect 308 /dykautobot https://dykautobot.toolforge.org\n    Redirect 308 /dykbot https://dykbot.toolforge.org\n    Redirect 308 /dykfeed https://dykfeed.toolforge.org\n    Redirect 308 /dykmoverbot https://dykmoverbot.toolforge.org\n    Redirect 308 /dykstats https://dykstats.toolforge.org\n    Redirect 308 /dynamicbot https://dynamicbot.toolforge.org\n    Redirect 308 /dynbot-srv1 https://dynbot-srv1.toolforge.org\n    Redirect 308 /dynbot-srv2 https://dynbot-srv2.toolforge.org\n    Redirect 308 /eagerbot https://eagerbot.toolforge.org\n    Redirect 308 /eagleeye https://eagleeye.toolforge.org\n    Redirect 308 /earwigbot https://earwigbot.toolforge.org\n    Redirect 308 /earwig-dev https://earwig-dev.toolforge.org\n    Redirect 308 /eatchabot https://eatchabot.toolforge.org\n    Redirect 308 /eathom https://eathom.toolforge.org\n    Redirect gone /ebrahim-dev\n    Redirect gone /ebraminio-dev\n    Redirect 308 /ecmabot https://ecmabot.toolforge.org\n    Redirect 308 /edcounter https://edcounter.toolforge.org\n    Redirect 308 /edgars https://edgars.toolforge.org\n    Redirect 308 /edgarsdev https://edgarsdev.toolforge.org\n    Redirect gone /edin\n    Redirect 308 /edinbot https://edinbot.toolforge.org\n    Redirect gone /edinc\n    Redirect 308 /editathonstat https://editathonstat.toolforge.org\n    Redirect 308 /editcompare https://editcompare.toolforge.org\n    Redirect gone /edit-counter\n    Redirect 308 /editcount-fr https://editcount-fr.toolforge.org\n    Redirect gone /editcountitis\n    Redirect gone /editful\n    Redirect 308 /editgroups https://editgroups.toolforge.org\n    Redirect 308 /editor-retention-dashboard https://editor-retention-dashboard.toolforge.org\n    Redirect gone /edits\n    Redirect gone /editsynergy\n    Redirect 308 /efenbot https://efenbot.toolforge.org\n    Redirect gone /elasticdash\n    Redirect 308 /elobot https://elobot.toolforge.org\n    Redirect gone /elph\n    Redirect 308 /elvisor https://elvisor.toolforge.org\n    Redirect 308 /emausbot https://emausbot.toolforge.org\n    Redirect 308 /embeddeddata https://embeddeddata.toolforge.org\n    Redirect 308 /embeddedincount https://embeddedincount.toolforge.org\n    Redirect 308 /emijrpbot https://emijrpbot.toolforge.org\n    Redirect 308 /emoociev https://emoociev.toolforge.org\n    Redirect 308 /enbbsb https://enbbsb.toolforge.org\n    Redirect 308 /enboten https://enboten.toolforge.org\n    Redirect 308 /endumen https://endumen.toolforge.org\n    Redirect 308 /energybot https://energybot.toolforge.org\n    Redirect 308 /enet https://enet.toolforge.org\n    Redirect gone /enett\n    Redirect 308 /enhourly https://enhourly.toolforge.org\n    Redirect 308 /enterpriseybot-rs https://enterpriseybot-rs.toolforge.org\n    Redirect 308 /entsuggest https://entsuggest.toolforge.org\n    Redirect 308 /enwiki-user-edits https://enwiki-user-edits.toolforge.org\n    Redirect 308 /enwiktdefns https://enwiktdefns.toolforge.org\n    Redirect 308 /enwnbot https://enwnbot.toolforge.org\n    Redirect 308 /enwp10 https://enwp10.toolforge.org\n    Redirect 308 /eranbot https://eranbot.toolforge.org\n    Redirect 308 /erex-yomi https://erex-yomi.toolforge.org\n    Redirect 308 /erwin85 https://erwin85.toolforge.org\n    Redirect 308 /esbackup https://esbackup.toolforge.org\n    Redirect 308 /esfichataxon https://esfichataxon.toolforge.org\n    Redirect 308 /etools https://etools.toolforge.org\n    Redirect 308 /etwelvetest https://etwelvetest.toolforge.org\n    Redirect 308 /etwikibots https://etwikibots.toolforge.org\n    Redirect gone /etwikt\n    Redirect 308 /etytree https://etytree.toolforge.org\n    Redirect 308 /eulenwiki https://eulenwiki.toolforge.org\n    Redirect 308 /eulenwiki2 https://eulenwiki2.toolforge.org\n    Redirect 308 /eulenwiki3 https://eulenwiki3.toolforge.org\n    Redirect 308 /event-live-session https://event-live-session.toolforge.org\n    Redirect 308 /event-streams https://event-streams.toolforge.org\n    Redirect 308 /every https://every.toolforge.org\n    Redirect gone /every-other-wiki-has\n    Redirect gone /everythingisconnected\n    Redirect gone /exambot\n    Redirect 308 /excel2wiki https://excel2wiki.toolforge.org\n    Redirect gone /experimental-embeddings\n    Redirect gone /exportpdf\n    Redirect 308 /expose-data https://expose-data.toolforge.org\n    Redirect gone /extdist\n    Redirect gone /extensionservice\n    Redirect gone /externalitemsuggester\n    Redirect 308 /extjsonuploader https://extjsonuploader.toolforge.org\n    Redirect 308 /ext-lnk-discover https://ext-lnk-discover.toolforge.org\n    Redirect 308 /extreg-wos https://extreg-wos.toolforge.org\n    Redirect 308 /extreme https://extreme.toolforge.org\n    Redirect 308 /fab https://fab.toolforge.org\n    Redirect gone /fab-proxy\n    Redirect 308 /facebook-messenger-chatbot https://facebook-messenger-chatbot.toolforge.org\n    Redirect 308 /faces https://faces.toolforge.org\n    Redirect 308 /fa-checkwiki https://fa-checkwiki.toolforge.org\n    Redirect 308 /faebot https://faebot.toolforge.org\n    Redirect 308 /fajrbot https://fajrbot.toolforge.org\n    Redirect 308 /family https://family.toolforge.org\n    Redirect 308 /farhangestan https://farhangestan.toolforge.org\n    Redirect 308 /farotbot https://farotbot.toolforge.org\n    Redirect gone /farticle\n    Redirect gone /fastilybot\n    Redirect gone /fastilybot-reports\n    Redirect 308 /fatameh https://fatameh.toolforge.org\n    Redirect 308 /fatemi https://fatemi.toolforge.org\n    Redirect 308 /fatg https://fatg.toolforge.org\n    Redirect 308 /fawikiauto https://fawikiauto.toolforge.org\n    Redirect 308 /fawiki-editathon https://fawiki-editathon.toolforge.org\n    Redirect 308 /fb-translate-bot https://fb-translate-bot.toolforge.org\n    Redirect gone /fc-importer\n    Redirect gone /featured-article\n    Redirect 308 /femiwiki https://femiwiki.toolforge.org\n    Redirect 308 /fengtools https://fengtools.toolforge.org\n    Redirect 308 /ferdibot https://ferdibot.toolforge.org\n    Redirect 308 /ffbot https://ffbot.toolforge.org\n    Redirect gone /fikarummet\n    Redirect 308 /filedupes https://filedupes.toolforge.org\n    Redirect 308 /file-reuse https://file-reuse.toolforge.org\n    Redirect 308 /file-reuse-piwik https://file-reuse-piwik.toolforge.org\n    Redirect gone /file-reuse-review\n    Redirect 308 /file-reuse-test https://file-reuse-test.toolforge.org\n    Redirect gone /filesearch\n    Redirect 308 /file-siblings https://file-siblings.toolforge.org\n    Redirect 308 /find-and-replace https://find-and-replace.toolforge.org\n    Redirect 308 /findit https://findit.toolforge.org\n    Redirect 308 /fingerprint https://fingerprint.toolforge.org\n    Redirect 308 /fireflydev https://fireflydev.toolforge.org\n    Redirect 308 /firefly-maintainer1 https://firefly-maintainer1.toolforge.org\n    Redirect 308 /fireflytools https://fireflytools.toolforge.org\n    Redirect 308 /firmenbuch https://firmenbuch.toolforge.org\n    Redirect 308 /first-paragraph-readability https://first-paragraph-readability.toolforge.org\n    Redirect 308 /fischbot https://fischbot.toolforge.org\n    Redirect 308 /fist https://fist.toolforge.org\n    Redirect gone /five-million\n    Redirect 308 /fiwiki-tools https://fiwiki-tools.toolforge.org\n    Redirect gone /fixdatebot\n    Redirect gone /flaggedrevspromotioncheck\n    Redirect gone /flaky-ci\n    Redirect 308 /flickr https://flickr.toolforge.org\n    Redirect 308 /flickr2commons https://flickr2commons.toolforge.org\n    Redirect 308 /flickrdash https://flickrdash.toolforge.org\n    Redirect 308 /flickr-rss https://flickr-rss.toolforge.org\n    Redirect 308 /flossbrowser https://flossbrowser.toolforge.org\n    Redirect 308 /fn https://fn.toolforge.org\n    Redirect 308 /fontcdn https://fontcdn.toolforge.org\n    Redirect gone /footygen\n    Redirect 308 /forrestbot https://forrestbot.toolforge.org\n    Redirect gone /foundation\n    Redirect 308 /fountain https://fountain.toolforge.org\n    Redirect 308 /fountain-test https://fountain-test.toolforge.org\n    Redirect 308 /fourohfour https://fourohfour.toolforge.org\n    Redirect 308 /fpbot https://fpbot.toolforge.org\n    Redirect 308 /fpcbot https://fpcbot.toolforge.org\n    Redirect 308 /fpcstats https://fpcstats.toolforge.org\n    Redirect 308 /framabot https://framabot.toolforge.org\n    Redirect 308 /freddy2001 https://freddy2001.toolforge.org\n    Redirect 308 /freebase https://freebase.toolforge.org\n    Redirect 308 /freefiles https://freefiles.toolforge.org\n    Redirect 308 /fretties https://fretties.toolforge.org\n    Redirect 308 /friskobot https://friskobot.toolforge.org\n    Redirect 308 /friybot https://friybot.toolforge.org\n    Redirect 308 /fronds https://fronds.toolforge.org\n    Redirect gone /fr-wikiversity\n    Redirect 308 /fr-wikiversity-ns https://fr-wikiversity-ns.toolforge.org\n    Redirect 308 /fscbot https://fscbot.toolforge.org\n    Redirect 308 /fshbibbot https://fshbibbot.toolforge.org\n    Redirect 308 /ft https://ft.toolforge.org\n    Redirect 308 /ftl https://ftl.toolforge.org\n    Redirect 308 /ftools https://ftools.toolforge.org\n    Redirect gone /fubar\n    Redirect gone /fun\n    Redirect 308 /fundraising-tools https://fundraising-tools.toolforge.org\n    Redirect 308 /furutani https://furutani.toolforge.org\n    Redirect 308 /fvcbot https://fvcbot.toolforge.org\n    Redirect 308 /g13bot https://g13bot.toolforge.org\n    Redirect 308 /gabrielchihonglee-bot https://gabrielchihonglee-bot.toolforge.org\n    Redirect 308 /gaelan-bot https://gaelan-bot.toolforge.org\n    Redirect 308 /gallery https://gallery.toolforge.org\n    Redirect 308 /gallica https://gallica.toolforge.org\n    Redirect 308 /galobot https://galobot.toolforge.org\n    Redirect 308 /ganreportbot https://ganreportbot.toolforge.org\n    Redirect gone /gblrenamemon\n    Redirect gone /gdk-artists-research\n    Redirect 308 /geekbot https://geekbot.toolforge.org\n    Redirect 308 /gendergapdashboard https://gendergapdashboard.toolforge.org\n    Redirect 308 /genealogy https://genealogy.toolforge.org\n    Redirect 308 /genedb https://genedb.toolforge.org\n    Redirect gone /gennfs\n    Redirect 308 /geocommons https://geocommons.toolforge.org\n    Redirect gone /geodata\n    Redirect 308 /geograph2commons https://geograph2commons.toolforge.org\n    Redirect 308 /geohack https://geohack.toolforge.org\n    Redirect gone /geoloc\n    Redirect 308 /geonotice https://geonotice.toolforge.org\n    Redirect 308 /geophotoreq https://geophotoreq.toolforge.org\n    Redirect 308 /geoplotter https://geoplotter.toolforge.org\n    Redirect 308 /gerakibot https://gerakibot.toolforge.org\n    Redirect 308 /gerakitools https://gerakitools.toolforge.org\n    Redirect 308 /germancon-mobile https://germancon-mobile.toolforge.org\n    Redirect 308 /germancontributioncounts https://germancontributioncounts.toolforge.org\n    Redirect 308 /gerrit-avatar-uploader https://gerrit-avatar-uploader.toolforge.org\n    Redirect 308 /gerrit-newcomer-bot https://gerrit-newcomer-bot.toolforge.org\n    Redirect 308 /gerrit-patch-uploader https://gerrit-patch-uploader.toolforge.org\n    Redirect 308 /gerrit-reports https://gerrit-reports.toolforge.org\n    Redirect 308 /gerrit-reviewer-bot https://gerrit-reviewer-bot.toolforge.org\n    Redirect gone /gerrit-to-redis\n    Redirect gone /getsentry\n    Redirect 308 /ggu https://ggu.toolforge.org\n    Redirect 308 /giftbot https://giftbot.toolforge.org\n    Redirect 308 /giftpast https://giftpast.toolforge.org\n    Redirect 308 /giovannitool https://giovannitool.toolforge.org\n    Redirect 308 /gir https://gir.toolforge.org\n    Redirect 308 /giraffe https://giraffe.toolforge.org\n    Redirect 308 /github https://github.toolforge.org\n    Redirect 308 /github-notif-bot https://github-notif-bot.toolforge.org\n    Redirect 308 /github-pr-closer https://github-pr-closer.toolforge.org\n    Redirect 308 /githubstats https://githubstats.toolforge.org\n    Redirect 308 /glaisher https://glaisher.toolforge.org\n    Redirect 308 /glam2commons https://glam2commons.toolforge.org\n    Redirect 308 /glamalign https://glamalign.toolforge.org\n    Redirect 308 /glamify https://glamify.toolforge.org\n    Redirect 308 /glamingest https://glamingest.toolforge.org\n    Redirect 308 /glamorous-maintenance https://glamorous-maintenance.toolforge.org\n    Redirect 308 /glamtools https://glamtools.toolforge.org\n    Redirect 308 /globalcsd https://globalcsd.toolforge.org\n    Redirect 308 /globaleditcounter https://globaleditcounter.toolforge.org\n    Redirect 308 /global-pandas https://global-pandas.toolforge.org\n    Redirect gone /globalprefs\n    Redirect 308 /globalsearch https://globalsearch.toolforge.org\n    Redirect 308 /global-search https://global-search.toolforge.org\n    Redirect 308 /global-search-test https://global-search-test.toolforge.org\n    Redirect 308 /globalusagecount https://globalusagecount.toolforge.org\n    Redirect 308 /global-wiki-tools https://global-wiki-tools.toolforge.org\n    Redirect 308 /gmt https://gmt.toolforge.org\n    Redirect gone /gns\n    Redirect 308 /gnubotmarcoo https://gnubotmarcoo.toolforge.org\n    Redirect 308 /goatid https://goatid.toolforge.org\n    Redirect gone /goblinbot4\n    Redirect gone /goodarticle\n    Redirect 308 /goodarticlebot https://goodarticlebot.toolforge.org\n    Redirect 308 /goodbot https://goodbot.toolforge.org\n    Redirect gone /google-drive-photos-to-commons\n    Redirect 308 /goransmtool https://goransmtool.toolforge.org\n    Redirect 308 /gorlingor https://gorlingor.toolforge.org\n    Redirect gone /governance-timeline\n    Redirect 308 /gpsexif https://gpsexif.toolforge.org\n    Redirect 308 /gpy https://gpy.toolforge.org\n    Redirect 308 /grafana https://grafana.toolforge.org\n    Redirect gone /grafana-json-datasource\n    Redirect 308 /graham87 https://graham87.toolforge.org\n    Redirect 308 /graminbot https://graminbot.toolforge.org\n    Redirect 308 /granitstein https://granitstein.toolforge.org\n    Redirect 308 /grantmaking https://grantmaking.toolforge.org\n    Redirect 308 /grantmetrics https://grantmetrics.toolforge.org\n    Redirect 308 /grantmetrics-test https://grantmetrics-test.toolforge.org\n    Redirect 308 /grantsbot https://grantsbot.toolforge.org\n    Redirect 308 /grapedog https://grapedog.toolforge.org\n    Redirect 308 /graphql https://graphql.toolforge.org\n    Redirect 308 /gratitude https://gratitude.toolforge.org\n    Redirect 308 /grep https://grep.toolforge.org\n    Redirect gone /gridengine-status\n    Redirect gone /grid-jobs\n    Redirect 308 /grillitus https://grillitus.toolforge.org\n    Redirect 308 /grouplens https://grouplens.toolforge.org\n    Redirect 308 /gsoc https://gsoc.toolforge.org\n    Redirect gone /gsoc-dev\n    Redirect gone /gsociftttdev\n    Redirect 308 /gsoc-ifttt-dev https://gsoc-ifttt-dev.toolforge.org\n    Redirect 308 /gsoc-petscan-query-articles https://gsoc-petscan-query-articles.toolforge.org\n    Redirect 308 /gsoc-worklist-tool https://gsoc-worklist-tool.toolforge.org\n    Redirect gone /gtirloni-sandbox\n    Redirect 308 /guc https://guc.toolforge.org\n    Redirect 308 /gulp https://gulp.toolforge.org\n    Redirect 308 /gun-wd https://gun-wd.toolforge.org\n    Redirect 308 /gurmukhispell https://gurmukhispell.toolforge.org\n    Redirect gone /gutrs\n    Redirect 308 /gyan https://gyan.toolforge.org\n    Redirect 308 /h2bot https://h2bot.toolforge.org\n    Redirect gone /hackmd\n    Redirect 308 /hackprowiki https://hackprowiki.toolforge.org\n    Redirect 308 /hall-of-fame https://hall-of-fame.toolforge.org\n    Redirect 308 /hamishbot https://hamishbot.toolforge.org\n    Redirect gone /harejtest\n    Redirect 308 /hartman https://hartman.toolforge.org\n    Redirect gone /harvesting-data-rafinery\n    Redirect 308 /harvesting-data-refinery https://harvesting-data-refinery.toolforge.org\n    Redirect 308 /hashtags https://hashtags.toolforge.org\n    Redirect 308 /hashtags-hub https://hashtags-hub.toolforge.org\n    Redirect 308 /hashtags-test https://hashtags-test.toolforge.org\n    Redirect 308 /hashtagwatcher https://hashtagwatcher.toolforge.org\n    Redirect gone /hassen\n    Redirect gone /hastagwatcher\n    Redirect 308 /hasteurbot https://hasteurbot.toolforge.org\n    Redirect 308 /hat-collector https://hat-collector.toolforge.org\n    Redirect 308 /hatjitsu https://hatjitsu.toolforge.org\n    Redirect 308 /hauki https://hauki.toolforge.org\n    Redirect 308 /hawk-eye-bot https://hawk-eye-bot.toolforge.org\n    Redirect 308 /hay https://hay.toolforge.org\n    Redirect 308 /hazard-bot https://hazard-bot.toolforge.org\n    Redirect 308 /hcclab https://hcclab.toolforge.org\n    Redirect 308 /hd https://hd.toolforge.org\n    Redirect 308 /hebbot https://hebbot.toolforge.org\n    Redirect 308 /heimdall https://heimdall.toolforge.org\n    Redirect 308 /heinterwiki https://heinterwiki.toolforge.org\n    Redirect 308 /hello-play https://hello-play.toolforge.org\n    Redirect 308 /help https://help.toolforge.org\n    Redirect 308 /helpearwigbot https://helpearwigbot.toolforge.org\n    Redirect 308 /helperbot https://helperbot.toolforge.org\n    Redirect 308 /helperpad https://helperpad.toolforge.org\n    Redirect 308 /hennalabs https://hennalabs.toolforge.org\n    Redirect 308 /herculebot https://herculebot.toolforge.org\n    Redirect 308 /heritage https://heritage.toolforge.org\n    Redirect gone /hermes\n    Redirect 308 /hersfold-hacb https://hersfold-hacb.toolforge.org\n    Redirect 308 /hersfold-irc https://hersfold-irc.toolforge.org\n    Redirect 308 /hersfold-web https://hersfold-web.toolforge.org\n    Redirect 308 /hewiki-tools https://hewiki-tools.toolforge.org\n    Redirect gone /he-wiktionary-rule-checker\n    Redirect gone /hexacore\n    Redirect 308 /hgztools https://hgztools.toolforge.org\n    Redirect 308 /himo https://himo.toolforge.org\n    Redirect 308 /hinotetools https://hinotetools.toolforge.org\n    Redirect gone /hippietest\n    Redirect 308 /hirise https://hirise.toolforge.org\n    Redirect 308 /historicmaps https://historicmaps.toolforge.org\n    Redirect gone /historyview\n    Redirect 308 /histsearch https://histsearch.toolforge.org\n    Redirect 308 /hiw-bot https://hiw-bot.toolforge.org\n    Redirect 308 /hiwiki https://hiwiki.toolforge.org\n    Redirect 308 /hjhhg https://hjhhg.toolforge.org\n    Redirect gone /hkjacksonhk-bot\n    Redirect gone /hll\n    Redirect 308 /holidays-viewer https://holidays-viewer.toolforge.org\n    Redirect 308 /honeypot95 https://honeypot95.toolforge.org\n    Redirect 308 /hoo https://hoo.toolforge.org\n    Redirect gone /hoo-propertysuggester-test\n    Redirect gone /hostbot\n    Redirect 308 /hotarticles https://hotarticles.toolforge.org\n    Redirect 308 /hroest https://hroest.toolforge.org\n    Redirect 308 /hroest2 https://hroest2.toolforge.org\n    Redirect 308 /hroest3 https://hroest3.toolforge.org\n    Redirect 308 /hrwiki https://hrwiki.toolforge.org\n    Redirect 308 /hsfbot https://hsfbot.toolforge.org\n    Redirect 308 /hss https://hss.toolforge.org\n    Redirect 308 /htools https://htools.toolforge.org\n    Redirect 308 /hub https://hub.toolforge.org\n    Redirect 308 /huggle https://huggle.toolforge.org\n    Redirect 308 /huji https://huji.toolforge.org\n    Redirect gone /hujibot\n    Redirect 308 /huntleybots https://huntleybots.toolforge.org\n    Redirect 308 /huwiki https://huwiki.toolforge.org\n    Redirect 308 /hylabels https://hylabels.toolforge.org\n    Redirect 308 /hypobot https://hypobot.toolforge.org\n    Redirect 308 /iabot https://iabot.toolforge.org\n    Redirect 308 /iacrop https://iacrop.toolforge.org\n    Redirect 308 /iamnetx-test https://iamnetx-test.toolforge.org\n    Redirect 308 /ia-upload https://ia-upload.toolforge.org\n    Redirect 308 /ib2test https://ib2test.toolforge.org\n    Redirect 308 /ibrahim https://ibrahim.toolforge.org\n    Redirect gone /ibrahimid\n    Redirect 308 /icalendar https://icalendar.toolforge.org\n    Redirect 308 /icelab https://icelab.toolforge.org\n    Redirect 308 /ichijo https://ichijo.toolforge.org\n    Redirect 308 /icommons https://icommons.toolforge.org\n    Redirect 308 /icu-transliterate https://icu-transliterate.toolforge.org\n    Redirect 308 /ideasbot https://ideasbot.toolforge.org\n    Redirect 308 /ideedarticles https://ideedarticles.toolforge.org\n    Redirect 308 /idsgen https://idsgen.toolforge.org\n    Redirect gone /idwiki-gpu\n    Redirect 308 /idwiki-marathon https://idwiki-marathon.toolforge.org\n    Redirect 308 /iepcbm-bot1 https://iepcbm-bot1.toolforge.org\n    Redirect 308 /iepcbm-bot-2 https://iepcbm-bot-2.toolforge.org\n    Redirect 308 /ifttt https://ifttt.toolforge.org\n    Redirect 308 /ifttt-dev https://ifttt-dev.toolforge.org\n    Redirect gone /ifttt-testing\n    Redirect 308 /igl https://igl.toolforge.org\n    Redirect 308 /igloo https://igloo.toolforge.org\n    Redirect 308 /ignator https://ignator.toolforge.org\n    Redirect 308 /iluvatarbot https://iluvatarbot.toolforge.org\n    Redirect 308 /imagechecker https://imagechecker.toolforge.org\n    Redirect 308 /imagemapedit https://imagemapedit.toolforge.org\n    Redirect gone /image-metadata-viewer\n    Redirect 308 /image-resize-calc https://image-resize-calc.toolforge.org\n    Redirect 308 /imagery https://imagery.toolforge.org\n    Redirect gone /images\n    Redirect 308 /imagetracer https://imagetracer.toolforge.org\n    Redirect gone /img-usage\n    Redirect 308 /import-500px https://import-500px.toolforge.org\n    Redirect 308 /import-freemind https://import-freemind.toolforge.org\n    Redirect 308 /inactiveadmins https://inactiveadmins.toolforge.org\n    Redirect gone /inactive-admins\n    Redirect gone /inactive-bureaucrats\n    Redirect 308 /inaturalistreviewer https://inaturalistreviewer.toolforge.org\n    Redirect 308 /incolabot https://incolabot.toolforge.org\n    Redirect 308 /index-page-mover https://index-page-mover.toolforge.org\n    Redirect 308 /indic-ocr https://indic-ocr.toolforge.org\n    Redirect 308 /indic-techcom https://indic-techcom.toolforge.org\n    Redirect 308 /indic-techcom-wiki https://indic-techcom-wiki.toolforge.org\n    Redirect 308 /indic-wd https://indic-wd.toolforge.org\n    Redirect 308 /indicwiki https://indicwiki.toolforge.org\n    Redirect 308 /indic-wscontest https://indic-wscontest.toolforge.org\n    Redirect 308 /indic-wsstats https://indic-wsstats.toolforge.org\n    Redirect 308 /info-farmer https://info-farmer.toolforge.org\n    Redirect 308 /infogeo https://infogeo.toolforge.org\n    Redirect 308 /inforobbot https://inforobbot.toolforge.org\n    Redirect 308 /inkobot https://inkobot.toolforge.org\n    Redirect gone /inkowik\n    Redirect 308 /inkpen https://inkpen.toolforge.org\n    Redirect 308 /integraality https://integraality.toolforge.org\n    Redirect 308 /intelibot https://intelibot.toolforge.org\n    Redirect 308 /intelirc https://intelirc.toolforge.org\n    Redirect 308 /interaction-timeline https://interaction-timeline.toolforge.org\n    Redirect 308 /interactoa https://interactoa.toolforge.org\n    Redirect 308 /interact-oa https://interact-oa.toolforge.org\n    Redirect 308 /interbot https://interbot.toolforge.org\n    Redirect 308 /interlang https://interlang.toolforge.org\n    Redirect 308 /interpagelinker https://interpagelinker.toolforge.org\n    Redirect 308 /intersect-contribs https://intersect-contribs.toolforge.org\n    Redirect 308 /intuition https://intuition.toolforge.org\n    Redirect 308 /invadibot https://invadibot.toolforge.org\n    Redirect 308 /ios-crashes https://ios-crashes.toolforge.org\n    Redirect 308 /ipa-speaker https://ipa-speaker.toolforge.org\n    Redirect gone /ipchanges\n    Redirect 308 /ipcheck https://ipcheck.toolforge.org\n    Redirect 308 /ipcheck-dev https://ipcheck-dev.toolforge.org\n    Redirect 308 /ipinfo https://ipinfo.toolforge.org\n    Redirect gone /iplookup\n    Redirect 308 /ipp https://ipp.toolforge.org\n    Redirect gone /ip-range-calc\n    Redirect 308 /ipwatcher https://ipwatcher.toolforge.org\n    Redirect 308 /ipython https://ipython.toolforge.org\n    Redirect gone /irc\n    Redirect gone /ircclient\n    Redirect 308 /irc-cloaks https://irc-cloaks.toolforge.org\n    Redirect 308 /irc-cloudbot https://irc-cloudbot.toolforge.org\n    Redirect 308 /irclogbot https://irclogbot.toolforge.org\n    Redirect 308 /irclogs https://irclogs.toolforge.org\n    Redirect 308 /ircredirect https://ircredirect.toolforge.org\n    Redirect 308 /ircredirector https://ircredirector.toolforge.org\n    Redirect 308 /irc-wmt https://irc-wmt.toolforge.org\n    Redirect 308 /ireas https://ireas.toolforge.org\n    Redirect 308 /irfan https://irfan.toolforge.org\n    Redirect 308 /irishbot https://irishbot.toolforge.org\n    Redirect 308 /isa https://isa.toolforge.org\n    Redirect 308 /isbn https://isbn.toolforge.org\n    Redirect 308 /isbn2tpl https://isbn2tpl.toolforge.org\n    Redirect 308 /isbn2wiki https://isbn2wiki.toolforge.org\n    Redirect 308 /isbn-tmptest https://isbn-tmptest.toolforge.org\n    Redirect 308 /isbn-usage https://isbn-usage.toolforge.org\n    Redirect 308 /is-deployed https://is-deployed.toolforge.org\n    Redirect 308 /isin https://isin.toolforge.org\n    Redirect gone /isitdeployed\n    Redirect 308 /isprangefinder https://isprangefinder.toolforge.org\n    Redirect gone /italian-wikipedia-bar\n    Redirect 308 /itemfinder https://itemfinder.toolforge.org\n    Redirect 308 /itemlister https://itemlister.toolforge.org\n    Redirect 308 /itsource https://itsource.toolforge.org\n    Redirect 308 /itwiki https://itwiki.toolforge.org\n    Redirect 308 /itwikiarticlebot https://itwikiarticlebot.toolforge.org\n    Redirect 308 /itwikinews-rss https://itwikinews-rss.toolforge.org\n    Redirect gone /it-wiki-users-leaflet\n    Redirect 308 /itwp-deletions https://itwp-deletions.toolforge.org\n    Redirect 308 /iw https://iw.toolforge.org\n    Redirect 308 /jackbot https://jackbot.toolforge.org\n    Redirect gone /james\n    Redirect 308 /jamesur-usergroupsearch https://jamesur-usergroupsearch.toolforge.org\n    Redirect 308 /janet https://janet.toolforge.org\n    Redirect gone /jarallah\n    Redirect gone /jarallah-ii\n    Redirect gone /jarbot\n    Redirect gone /jarbot-ii\n    Redirect gone /jarbot-iii\n    Redirect 308 /jarry-common https://jarry-common.toolforge.org\n    Redirect 308 /jata https://jata.toolforge.org\n    Redirect 308 /javatest https://javatest.toolforge.org\n    Redirect 308 /jawi https://jawi.toolforge.org\n    Redirect 308 /jayprakashbot https://jayprakashbot.toolforge.org\n    Redirect 308 /jbbot https://jbbot.toolforge.org\n    Redirect 308 /jbbot2 https://jbbot2.toolforge.org\n    Redirect 308 /jeh-dev https://jeh-dev.toolforge.org\n    Redirect 308 /jeltebot https://jeltebot.toolforge.org\n    Redirect 308 /jembot https://jembot.toolforge.org\n    Redirect 308 /jeremy https://jeremy.toolforge.org\n    Redirect 308 /jeremyb https://jeremyb.toolforge.org\n    Redirect 308 /jimmy https://jimmy.toolforge.org\n    Redirect 308 /jira-bugimport https://jira-bugimport.toolforge.org\n    Redirect 308 /jitrixis-test https://jitrixis-test.toolforge.org\n    Redirect 308 /jitse-bot https://jitse-bot.toolforge.org\n    Redirect 308 /jjmc89-bot https://jjmc89-bot.toolforge.org\n    Redirect 308 /jjmc89-bot-dev https://jjmc89-bot-dev.toolforge.org\n    Redirect 308 /joanjoc https://joanjoc.toolforge.org\n    Redirect gone /joaquinito01\n    Redirect gone /jogobot\n    Redirect 308 /jogotools https://jogotools.toolforge.org\n    Redirect gone /johnlewis\n    Redirect 308 /joinedventure https://joinedventure.toolforge.org\n    Redirect 308 /jorobot https://jorobot.toolforge.org\n    Redirect 308 /josve05a-test https://josve05a-test.toolforge.org\n    Redirect 308 /jouncebot https://jouncebot.toolforge.org\n    Redirect 308 /jshint https://jshint.toolforge.org\n    Redirect 308 /jtools https://jtools.toolforge.org\n    Redirect 308 /jurgennl https://jurgennl.toolforge.org\n    Redirect 308 /jury https://jury.toolforge.org\n    Redirect 308 /justincbot https://justincbot.toolforge.org\n    Redirect 308 /k8s-status https://k8s-status.toolforge.org\n    Redirect 308 /kaare https://kaare.toolforge.org\n    Redirect 308 /kaleem-bot https://kaleem-bot.toolforge.org\n    Redirect gone /kaleem-bot-i\n    Redirect 308 /kanjybot https://kanjybot.toolforge.org\n    Redirect gone /kanzatgroup\n    Redirect 308 /karsilayici https://karsilayici.toolforge.org\n    Redirect 308 /kaspar2commons https://kaspar2commons.toolforge.org\n    Redirect 308 /kasparbot https://kasparbot.toolforge.org\n    Redirect 308 /kasper-data-translator https://kasper-data-translator.toolforge.org\n    Redirect 308 /kdb https://kdb.toolforge.org\n    Redirect 308 /kenrick95bot https://kenrick95bot.toolforge.org\n    Redirect 308 /ket-bot https://ket-bot.toolforge.org\n    Redirect 308 /keystone-browser https://keystone-browser.toolforge.org\n    Redirect 308 /khanamalumat https://khanamalumat.toolforge.org\n    Redirect gone /khanomalumat\n    Redirect 308 /kharbot https://kharbot.toolforge.org\n    Redirect 308 /khebi https://khebi.toolforge.org\n    Redirect 308 /kian https://kian.toolforge.org\n    Redirect gone /kirstentest\n    Redirect 308 /klossebot https://klossebot.toolforge.org\n    Redirect 308 /kmlexport https://kmlexport.toolforge.org\n    Redirect gone /kmlexport-cswiki\n    Redirect 308 /knowledgegrapher https://knowledgegrapher.toolforge.org\n    Redirect 308 /kokolores https://kokolores.toolforge.org\n    Redirect 308 /kolbert https://kolbert.toolforge.org\n    Redirect gone /kolega\n    Redirect gone /kolega2357\n    Redirect 308 /kotools https://kotools.toolforge.org\n    Redirect 308 /kowikitools https://kowikitools.toolforge.org\n    Redirect 308 /krdbot https://krdbot.toolforge.org\n    Redirect 308 /krinklebot https://krinklebot.toolforge.org\n    Redirect 308 /krinkle-redirect https://krinkle-redirect.toolforge.org\n    Redirect 308 /ksamsok-rest https://ksamsok-rest.toolforge.org\n    Redirect 308 /ktc https://ktc.toolforge.org\n    Redirect 308 /kuwaity-tool https://kuwaity-tool.toolforge.org\n    Redirect 308 /l235-bot https://l235-bot.toolforge.org\n    Redirect 308 /l235-irc https://l235-irc.toolforge.org\n    Redirect 308 /laaknortools https://laaknortools.toolforge.org\n    Redirect 308 /labelimgohs https://labelimgohs.toolforge.org\n    Redirect gone /labstore-profiling\n    Redirect gone /lahitools\n    Redirect 308 /lalm https://lalm.toolforge.org\n    Redirect 308 /lambdabot https://lambdabot.toolforge.org\n    Redirect 308 /languagebar-ui https://languagebar-ui.toolforge.org\n    Redirect 308 /languageproofing https://languageproofing.toolforge.org\n    Redirect 308 /languageproofing-ui https://languageproofing-ui.toolforge.org\n    Redirect gone /languagetool\n    Redirect 308 /langviews https://langviews.toolforge.org\n    Redirect gone /langviews-test\n    Redirect 308 /largedatasetbot https://largedatasetbot.toolforge.org\n    Redirect gone /lastactiveadms\n    Redirect 308 /lastpics https://lastpics.toolforge.org\n    Redirect 308 /lbenedix https://lbenedix.toolforge.org\n    Redirect 308 /lcm-dashboard https://lcm-dashboard.toolforge.org\n    Redirect 308 /ldap https://ldap.toolforge.org\n    Redirect gone /ldap-beta\n    Redirect 308 /lebot https://lebot.toolforge.org\n    Redirect 308 /legobot https://legobot.toolforge.org\n    Redirect 308 /legobot-2 https://legobot-2.toolforge.org\n    Redirect gone /legoktm-adminbots\n    Redirect 308 /leptibot https://leptibot.toolforge.org\n    Redirect 308 /lestaty https://lestaty.toolforge.org\n    Redirect gone /lets-translate\n    Redirect 308 /lexeme-forms https://lexeme-forms.toolforge.org\n    Redirect 308 /lexeme-senses https://lexeme-senses.toolforge.org\n    Redirect 308 /liangent https://liangent.toolforge.org\n    Redirect 308 /liangent-django https://liangent-django.toolforge.org\n    Redirect 308 /liangent-migration-test https://liangent-migration-test.toolforge.org\n    Redirect 308 /liangent-misc https://liangent-misc.toolforge.org\n    Redirect 308 /liangent-php https://liangent-php.toolforge.org\n    Redirect 308 /liangent-py https://liangent-py.toolforge.org\n    Redirect 308 /liangent-shared https://liangent-shared.toolforge.org\n    Redirect 308 /liangent-toolserver https://liangent-toolserver.toolforge.org\n    Redirect gone /lib\n    Redirect gone /librarybase-db\n    Redirect 308 /librarybase-updater https://librarybase-updater.toolforge.org\n    Redirect 308 /libraryupgrader https://libraryupgrader.toolforge.org\n    Redirect 308 /librewiki https://librewiki.toolforge.org\n    Redirect 308 /liepp https://liepp.toolforge.org\n    Redirect 308 /lifeweb https://lifeweb.toolforge.org\n    Redirect 308 /lighttpd-test https://lighttpd-test.toolforge.org\n    Redirect 308 /lijebot https://lijebot.toolforge.org\n    Redirect gone /lilbit\n    Redirect 308 /lil-cvn https://lil-cvn.toolforge.org\n    Redirect 308 /limesmap https://limesmap.toolforge.org\n    Redirect 308 /lincolnbot https://lincolnbot.toolforge.org\n    Redirect 308 /linedwell https://linedwell.toolforge.org\n    Redirect 308 /lingua-libre https://lingua-libre.toolforge.org\n    Redirect 308 /linkedpageviews https://linkedpageviews.toolforge.org\n    Redirect 308 /linkscount https://linkscount.toolforge.org\n    Redirect 308 /linksearch https://linksearch.toolforge.org\n    Redirect gone /linkspam\n    Redirect 308 /linkstranslator https://linkstranslator.toolforge.org\n    Redirect 308 /linkwatcher https://linkwatcher.toolforge.org\n    Redirect 308 /linkybot https://linkybot.toolforge.org\n    Redirect 308 /linkypedia https://linkypedia.toolforge.org\n    Redirect 308 /list https://list.toolforge.org\n    Redirect 308 /listeria https://listeria.toolforge.org\n    Redirect 308 /listpages https://listpages.toolforge.org\n    Redirect 308 /lists https://lists.toolforge.org\n    Redirect gone /listunpatrolledpages\n    Redirect gone /livingstyleguide-prototype\n    Redirect 308 /lkftools https://lkftools.toolforge.org\n    Redirect gone /local-awb\n    Redirect gone /local-library-fulltext\n    Redirect gone /local-maps\n    Redirect gone /local-oclc-reference\n    Redirect 308 /local-reference-api https://local-reference-api.toolforge.org\n    Redirect 308 /local-root https://local-root.toolforge.org\n    Redirect 308 /local-southparkfan https://local-southparkfan.toolforge.org\n    Redirect gone /local-wikipedia-library-reference\n    Redirect 308 /locator https://locator.toolforge.org\n    Redirect 308 /locatorbot https://locatorbot.toolforge.org\n    Redirect 308 /locator-tool https://locator-tool.toolforge.org\n    Redirect gone /locktool\n    Redirect gone /logger\n    Redirect 308 /logojudge https://logojudge.toolforge.org\n    Redirect 308 /logoscope https://logoscope.toolforge.org\n    Redirect 308 /logs https://logs.toolforge.org\n    Redirect 308 /lolrrit-wm https://lolrrit-wm.toolforge.org\n    Redirect 308 /loltools https://loltools.toolforge.org\n    Redirect 308 /loltools-testing https://loltools-testing.toolforge.org\n    Redirect gone /loltrs\n    Redirect 308 /lonelylinks https://lonelylinks.toolforge.org\n    Redirect gone /low\n    Redirect 308 /lp-tools https://lp-tools.toolforge.org\n    Redirect 308 /lrbot https://lrbot.toolforge.org\n    Redirect 308 /lrtools https://lrtools.toolforge.org\n    Redirect 308 /lst-guard https://lst-guard.toolforge.org\n    Redirect gone /lta\n    Redirect 308 /ltfeedchecker https://ltfeedchecker.toolforge.org\n    Redirect 308 /lua-catscan2 https://lua-catscan2.toolforge.org\n    Redirect 308 /luke081515bot https://luke081515bot.toolforge.org\n    Redirect 308 /luke081515bot-beta https://luke081515bot-beta.toolforge.org\n    Redirect 308 /luke081515bot-dev https://luke081515bot-dev.toolforge.org\n    Redirect 308 /lyan https://lyan.toolforge.org\n    Redirect 308 /lynxbot https://lynxbot.toolforge.org\n    Redirect 308 /lziad https://lziad.toolforge.org\n    Redirect 308 /lziad-cvnbot https://lziad-cvnbot.toolforge.org\n    Redirect 308 /mabot https://mabot.toolforge.org\n    Redirect 308 /macfanbot https://macfanbot.toolforge.org\n    Redirect 308 /macfanlogbot https://macfanlogbot.toolforge.org\n    Redirect 308 /machtsinn https://machtsinn.toolforge.org\n    Redirect 308 /machtsinn-dev https://machtsinn-dev.toolforge.org\n    Redirect 308 /macommune https://macommune.toolforge.org\n    Redirect 308 /magnustools https://magnustools.toolforge.org\n    Redirect 308 /magnus-toolserver https://magnus-toolserver.toolforge.org\n    Redirect 308 /magog https://magog.toolforge.org\n    Redirect 308 /mahdiz https://mahdiz.toolforge.org\n    Redirect gone /maintainers\n    Redirect 308 /maintenance-bot https://maintenance-bot.toolforge.org\n    Redirect 308 /maintgraph https://maintgraph.toolforge.org\n    Redirect gone /maintun\n    Redirect 308 /maiwiki-editathon https://maiwiki-editathon.toolforge.org\n    Redirect 308 /majavah-bot https://majavah-bot.toolforge.org\n    Redirect 308 /makeref https://makeref.toolforge.org\n    Redirect 308 /manishearth https://manishearth.toolforge.org\n    Redirect 308 /manypedia https://manypedia.toolforge.org\n    Redirect 308 /map https://map.toolforge.org\n    Redirect 308 /mapillary-commons https://mapillary-commons.toolforge.org\n    Redirect 308 /maplayers-demo https://maplayers-demo.toolforge.org\n    Redirect gone /maplink-generator\n    Redirect 308 /map-of-monuments https://map-of-monuments.toolforge.org\n    Redirect 308 /maps https://maps.toolforge.org\n    Redirect 308 /map-search https://map-search.toolforge.org\n    Redirect 308 /mapycz https://mapycz.toolforge.org\n    Redirect gone /mardetanha-dev\n    Redirect 308 /maria https://maria.toolforge.org\n    Redirect 308 /masscamps https://masscamps.toolforge.org\n    Redirect 308 /massmailer https://massmailer.toolforge.org\n    Redirect 308 /masssly-test-tool https://masssly-test-tool.toolforge.org\n    Redirect 308 /massviews https://massviews.toolforge.org\n    Redirect gone /massviews-test\n    Redirect gone /math\n    Redirect 308 /mathbot https://mathbot.toolforge.org\n    Redirect 308 /mathqa https://mathqa.toolforge.org\n    Redirect gone /matilda\n    Redirect 308 /matsubot https://matsubot.toolforge.org\n    Redirect 308 /matthewrbot https://matthewrbot.toolforge.org\n    Redirect 308 /matthewrbot-dev https://matthewrbot-dev.toolforge.org\n    Redirect 308 /matthewrbowker https://matthewrbowker.toolforge.org\n    Redirect gone /matthewrbowker-dev\n    Redirect 308 /matthobot https://matthobot.toolforge.org\n    Redirect 308 /matvaretabellen https://matvaretabellen.toolforge.org\n    Redirect 308 /maurelio https://maurelio.toolforge.org\n    Redirect 308 /mavrikant https://mavrikant.toolforge.org\n    Redirect 308 /mbh https://mbh.toolforge.org\n    Redirect 308 /mbrt1 https://mbrt1.toolforge.org\n    Redirect 308 /mc8 https://mc8.toolforge.org\n    Redirect gone /mdaniels-acc-dev\n    Redirect 308 /mdanielsbot https://mdanielsbot.toolforge.org\n    Redirect gone /mdaniels-licencehelper\n    Redirect 308 /mdaniels-ogrebot https://mdaniels-ogrebot.toolforge.org\n    Redirect gone /mdaniels-refill-ng\n    Redirect gone /mdaniels-refill-ng-api\n    Redirect 308 /mdann52bot https://mdann52bot.toolforge.org\n    Redirect 308 /mdvt https://mdvt.toolforge.org\n    Redirect 308 /mediacounts https://mediacounts.toolforge.org\n    Redirect 308 /media-dubiety https://media-dubiety.toolforge.org\n    Redirect gone /mediaplaycounts\n    Redirect 308 /media-reports https://media-reports.toolforge.org\n    Redirect 308 /mediaviews https://mediaviews.toolforge.org\n    Redirect 308 /mediaviews-api https://mediaviews-api.toolforge.org\n    Redirect gone /mediawiki2latex\n    Redirect 308 /mediawiki-feeds https://mediawiki-feeds.toolforge.org\n    Redirect gone /mediawiki-mc\n    Redirect gone /mediawiki-mirror\n    Redirect 308 /medusatest https://medusatest.toolforge.org\n    Redirect 308 /meetbot https://meetbot.toolforge.org\n    Redirect 308 /meetingtimes https://meetingtimes.toolforge.org\n    Redirect 308 /megacron https://megacron.toolforge.org\n    Redirect 308 /mehrdadbot https://mehrdadbot.toolforge.org\n    Redirect 308 /memberbot https://memberbot.toolforge.org\n    Redirect 308 /menobot https://menobot.toolforge.org\n    Redirect 308 /merge2pdf https://merge2pdf.toolforge.org\n    Redirect 308 /merlbot https://merlbot.toolforge.org\n    Redirect 308 /merlbot2 https://merlbot2.toolforge.org\n    Redirect 308 /merlbot-read https://merlbot-read.toolforge.org\n    Redirect 308 /merlbot-web https://merlbot-web.toolforge.org\n    Redirect 308 /merl-dev https://merl-dev.toolforge.org\n    Redirect gone /merliwbot\n    Redirect gone /messenger-chatbot\n    Redirect 308 /meta https://meta.toolforge.org\n    Redirect 308 /meta2 https://meta2.toolforge.org\n    Redirect 308 /meta-dev https://meta-dev.toolforge.org\n    Redirect 308 /metamine https://metamine.toolforge.org\n    Redirect 308 /metaviews https://metaviews.toolforge.org\n    Redirect 308 /metmuseum https://metmuseum.toolforge.org\n    Redirect 308 /metricslibrary https://metricslibrary.toolforge.org\n    Redirect 308 /metricslibrary-dev https://metricslibrary-dev.toolforge.org\n    Redirect 308 /mfnf-export https://mfnf-export.toolforge.org\n    Redirect 308 /mfw-bww https://mfw-bww.toolforge.org\n    Redirect 308 /mg-bot https://mg-bot.toolforge.org\n    Redirect gone /mh-signbot\n    Redirect gone /mhwikibot\n    Redirect gone /mide\n    Redirect gone /mide-dev\n    Redirect 308 /mifterbot https://mifterbot.toolforge.org\n    Redirect 308 /mifterbot-en https://mifterbot-en.toolforge.org\n    Redirect 308 /milhistbot https://milhistbot.toolforge.org\n    Redirect 308 /mirador https://mirador.toolforge.org\n    Redirect gone /miraheze-discord-irc\n    Redirect gone /miraheze-notifico\n    Redirect 308 /mirusbot https://mirusbot.toolforge.org\n    Redirect 308 /misc2svg https://misc2svg.toolforge.org\n    Redirect 308 /missing-from-wikipedia https://missing-from-wikipedia.toolforge.org\n    Redirect 308 /missingpages https://missingpages.toolforge.org\n    Redirect 308 /missingtopics https://missingtopics.toolforge.org\n    Redirect 308 /missing-value https://missing-value.toolforge.org\n    Redirect 308 /mitmachen https://mitmachen.toolforge.org\n    Redirect 308 /mix-n-match https://mix-n-match.toolforge.org\n    Redirect 308 /mjbmr https://mjbmr.toolforge.org\n    Redirect 308 /mjbmrbot https://mjbmrbot.toolforge.org\n    Redirect 308 /mjbmr-tools https://mjbmr-tools.toolforge.org\n    Redirect 308 /mjlbot https://mjlbot.toolforge.org\n    Redirect 308 /mlbt https://mlbt.toolforge.org\n    Redirect 308 /mlwikidbupdate https://mlwikidbupdate.toolforge.org\n    Redirect 308 /mlwikisource https://mlwikisource.toolforge.org\n    Redirect 308 /mmt https://mmt.toolforge.org\n    Redirect gone /mobile\n    Redirect 308 /moedata https://moedata.toolforge.org\n    Redirect 308 /mohammedbot https://mohammedbot.toolforge.org\n    Redirect 308 /mohib https://mohib.toolforge.org\n    Redirect 308 /mohiburdu https://mohiburdu.toolforge.org\n    Redirect gone /monaco\n    Redirect 308 /mono https://mono.toolforge.org\n    Redirect 308 /montage https://montage.toolforge.org\n    Redirect 308 /montage-beta https://montage-beta.toolforge.org\n    Redirect 308 /montage-dev https://montage-dev.toolforge.org\n    Redirect 308 /monumental https://monumental.toolforge.org\n    Redirect 308 /monumental-glam https://monumental-glam.toolforge.org\n    Redirect gone /morebots\n    Redirect gone /morfeusz\n    Redirect 308 /mormegil https://mormegil.toolforge.org\n    Redirect 308 /morph https://morph.toolforge.org\n    Redirect 308 /morphtool https://morphtool.toolforge.org\n    Redirect 308 /mortar https://mortar.toolforge.org\n    Redirect gone /mostlinkedmissing\n    Redirect 308 /most-readable-pages https://most-readable-pages.toolforge.org\n    Redirect 308 /most-wanted https://most-wanted.toolforge.org\n    Redirect gone /move\n    Redirect 308 /movecat https://movecat.toolforge.org\n    Redirect 308 /movestats https://movestats.toolforge.org\n    Redirect 308 /mp https://mp.toolforge.org\n    Redirect 308 /mpaatools https://mpaatools.toolforge.org\n    Redirect 308 /mrakinsey https://mrakinsey.toolforge.org\n    Redirect 308 /mrbluebot https://mrbluebot.toolforge.org\n    Redirect gone /mrmetadata\n    Redirect 308 /msbits https://msbits.toolforge.org\n    Redirect 308 /mscbot https://mscbot.toolforge.org\n    Redirect 308 /mstools https://mstools.toolforge.org\n    Redirect 308 /msynbot https://msynbot.toolforge.org\n    Redirect gone /mtc-rest\n    Redirect gone /mu\n    Redirect 308 /multichill https://multichill.toolforge.org\n    Redirect 308 /multicompare https://multicompare.toolforge.org\n    Redirect 308 /multidesc https://multidesc.toolforge.org\n    Redirect 308 /muninnbot https://muninnbot.toolforge.org\n    Redirect 308 /murbot https://murbot.toolforge.org\n    Redirect 308 /musikanimal https://musikanimal.toolforge.org\n    Redirect gone /musikanimal-test\n    Redirect 308 /musikbot https://musikbot.toolforge.org\n    Redirect 308 /mw2sparql https://mw2sparql.toolforge.org\n    Redirect gone /mwcoreteam\n    Redirect gone /mwhook-bot\n    Redirect 308 /mwlint https://mwlint.toolforge.org\n    Redirect 308 /mwp https://mwp.toolforge.org\n    Redirect 308 /mwpackages https://mwpackages.toolforge.org\n    Redirect 308 /mwph-api https://mwph-api.toolforge.org\n    Redirect 308 /mwp-testing https://mwp-testing.toolforge.org\n    Redirect 308 /mwstew https://mwstew.toolforge.org\n    Redirect 308 /mwversion https://mwversion.toolforge.org\n    Redirect 308 /mybot https://mybot.toolforge.org\n    Redirect 308 /my-first-django-oauth-app https://my-first-django-oauth-app.toolforge.org\n    Redirect 308 /my-first-django-tool https://my-first-django-tool.toolforge.org\n    Redirect 308 /my-first-flask-oauth-tool https://my-first-flask-oauth-tool.toolforge.org\n    Redirect 308 /my-first-flask-tool https://my-first-flask-tool.toolforge.org\n    Redirect 308 /my-first-pywikibot-tool https://my-first-pywikibot-tool.toolforge.org\n    Redirect gone /my_first_tool\n    Redirect gone /myrcx\n    Redirect 308 /mysql-php-session-test https://mysql-php-session-test.toolforge.org\n    Redirect 308 /my-threads https://my-threads.toolforge.org\n    Redirect gone /mywikitool\n    Redirect gone /mzmcbride\n    Redirect 308 /nada https://nada.toolforge.org\n    Redirect 308 /nagf https://nagf.toolforge.org\n    Redirect 308 /nakon https://nakon.toolforge.org\n    Redirect 308 /namakemono https://namakemono.toolforge.org\n    Redirect 308 /napalmbot https://napalmbot.toolforge.org\n    Redirect 308 /napalmbot-sah https://napalmbot-sah.toolforge.org\n    Redirect gone /napalmtools\n    Redirect 308 /nara https://nara.toolforge.org\n    Redirect 308 /nasirkhanbot https://nasirkhanbot.toolforge.org\n    Redirect 308 /nasirkhantools https://nasirkhantools.toolforge.org\n    Redirect 308 /navlink-recommendation https://navlink-recommendation.toolforge.org\n    Redirect 308 /nearby-places-viewer https://nearby-places-viewer.toolforge.org\n    Redirect 308 /neechal https://neechal.toolforge.org\n    Redirect 308 /neechalbot https://neechalbot.toolforge.org\n    Redirect 308 /negative24-bottesting https://negative24-bottesting.toolforge.org\n    Redirect 308 /neuraltricity https://neuraltricity.toolforge.org\n    Redirect 308 /neuromat https://neuromat.toolforge.org\n    Redirect 308 /newbie-uploads https://newbie-uploads.toolforge.org\n    Redirect gone /newfiles\n    Redirect 308 /newiki-editathon https://newiki-editathon.toolforge.org\n    Redirect 308 /new-q5 https://new-q5.toolforge.org\n    Redirect 308 /new-uploads-refresher https://new-uploads-refresher.toolforge.org\n    Redirect 308 /newusers https://newusers.toolforge.org\n    Redirect 308 /newwebtest https://newwebtest.toolforge.org\n    Redirect gone /newyorkadam\n    Redirect 308 /nfcbot https://nfcbot.toolforge.org\n    Redirect 308 /nicepedia https://nicepedia.toolforge.org\n    Redirect gone /ninjastrikers\n    Redirect 308 /ninobot https://ninobot.toolforge.org\n    Redirect 308 /ninobott https://ninobott.toolforge.org\n    Redirect gone /ninthcircuit\n    Redirect gone /niosh\n    Redirect 308 /nitlow https://nitlow.toolforge.org\n    Redirect 308 /nitolw https://nitolw.toolforge.org\n    Redirect 308 /njsbot https://njsbot.toolforge.org\n    Redirect 308 /nli-wiki https://nli-wiki.toolforge.org\n    Redirect 308 /nlwikibots https://nlwikibots.toolforge.org\n    Redirect 308 /nlwikt-tools https://nlwikt-tools.toolforge.org\n    Redirect gone /nn1l2bot\n    Redirect 308 /noaabot https://noaabot.toolforge.org\n    Redirect 308 /noclaims https://noclaims.toolforge.org\n    Redirect 308 /nodejs-mw-oauth-tool https://nodejs-mw-oauth-tool.toolforge.org\n    Redirect 308 /nodetree https://nodetree.toolforge.org\n    Redirect 308 /nomad https://nomad.toolforge.org\n    Redirect 308 /nominatim https://nominatim.toolforge.org\n    Redirect 308 /nordic-museum-depicts https://nordic-museum-depicts.toolforge.org\n    Redirect gone /noref\n    Redirect 308 /notebooks https://notebooks.toolforge.org\n    Redirect 308 /notif-bot https://notif-bot.toolforge.org\n    Redirect 308 /not-in-the-other-language https://not-in-the-other-language.toolforge.org\n    Redirect 308 /npp https://npp.toolforge.org\n    Redirect 308 /nppbrowser https://nppbrowser.toolforge.org\n    Redirect 308 /nppdash https://nppdash.toolforge.org\n    Redirect 308 /npp-lv https://npp-lv.toolforge.org\n    Redirect 308 /nrhpservice https://nrhpservice.toolforge.org\n    Redirect 308 /nsfw https://nsfw.toolforge.org\n    Redirect 308 /nullbot https://nullbot.toolforge.org\n    Redirect 308 /nullzero https://nullzero.toolforge.org\n    Redirect 308 /nullzerobot https://nullzerobot.toolforge.org\n    Redirect 308 /nyandata https://nyandata.toolforge.org\n    Redirect 308 /oabot https://oabot.toolforge.org\n    Redirect 308 /oabot-wd-game https://oabot-wd-game.toolforge.org\n    Redirect gone /oar\n    Redirect 308 /oauth-hello-world https://oauth-hello-world.toolforge.org\n    Redirect 308 /oauthtest https://oauthtest.toolforge.org\n    Redirect 308 /obaid https://obaid.toolforge.org\n    Redirect 308 /ocgepub https://ocgepub.toolforge.org\n    Redirect 308 /ocounter https://ocounter.toolforge.org\n    Redirect 308 /ocr4wikisource https://ocr4wikisource.toolforge.org\n    Redirect 308 /ocrtoy https://ocrtoy.toolforge.org\n    Redirect 308 /octodata https://octodata.toolforge.org\n    Redirect 308 /octrabot https://octrabot.toolforge.org\n    Redirect gone /odder-dev\n    Redirect 308 /oddol https://oddol.toolforge.org\n    Redirect 308 /okmaps https://okmaps.toolforge.org\n    Redirect 308 /olsibot https://olsibot.toolforge.org\n    Redirect 308 /olympics https://olympics.toolforge.org\n    Redirect 308 /omarghridabot https://omarghridabot.toolforge.org\n    Redirect gone /oncall\n    Redirect gone /onetools\n    Redirect 308 /oojs-ui https://oojs-ui.toolforge.org\n    Redirect 308 /ooui-debug https://ooui-debug.toolforge.org\n    Redirect 308 /opendatasets https://opendatasets.toolforge.org\n    Redirect 308 /openhatch-wiki https://openhatch-wiki.toolforge.org\n    Redirect 308 /openipmap https://openipmap.toolforge.org\n    Redirect 308 /openrefine-wikidata https://openrefine-wikidata.toolforge.org\n    Redirect 308 /openstack-browser https://openstack-browser.toolforge.org\n    Redirect 308 /openstack-browser-dev https://openstack-browser-dev.toolforge.org\n    Redirect 308 /oqtools https://oqtools.toolforge.org\n    Redirect 308 /orator-matcher https://orator-matcher.toolforge.org\n    Redirect 308 /order-user-by-reg https://order-user-by-reg.toolforge.org\n    Redirect 308 /ordia https://ordia.toolforge.org\n    Redirect 308 /orejasbot https://orejasbot.toolforge.org\n    Redirect 308 /ores https://ores.toolforge.org\n    Redirect gone /ores-afc\n    Redirect 308 /ores-demos https://ores-demos.toolforge.org\n    Redirect 308 /ores-support-checklist https://ores-support-checklist.toolforge.org\n    Redirect 308 /orphan-groups https://orphan-groups.toolforge.org\n    Redirect 308 /orphantalk https://orphantalk.toolforge.org\n    Redirect 308 /orpheus https://orpheus.toolforge.org\n    Redirect 308 /orwell01 https://orwell01.toolforge.org\n    Redirect 308 /orwell02 https://orwell02.toolforge.org\n    Redirect 308 /os https://os.toolforge.org\n    Redirect 308 /oscoor https://oscoor.toolforge.org\n    Redirect 308 /os-deprecation https://os-deprecation.toolforge.org\n    Redirect 308 /osm https://osm.toolforge.org\n    Redirect 308 /osm4wiki https://osm4wiki.toolforge.org\n    Redirect 308 /osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 308 /osmbstat https://osmbstat.toolforge.org\n    Redirect 308 /osmcounts https://osmcounts.toolforge.org\n    Redirect 308 /osm-gadget https://osm-gadget.toolforge.org\n    Redirect 308 /osm-gadget-leaflet https://osm-gadget-leaflet.toolforge.org\n    Redirect 308 /osmkmlmap https://osmkmlmap.toolforge.org\n    Redirect 308 /osmlint https://osmlint.toolforge.org\n    Redirect 308 /otrs-helper https://otrs-helper.toolforge.org\n    Redirect 308 /otrsreports https://otrsreports.toolforge.org\n    Redirect 308 /oubli-signature-bot https://oubli-signature-bot.toolforge.org\n    Redirect gone /ouda\n    Redirect 308 /oudabot https://oudabot.toolforge.org\n    Redirect gone /outofband\n    Redirect 308 /outreachy-hiteshpr https://outreachy-hiteshpr.toolforge.org\n    Redirect 308 /outreachy-recent-edits-tool https://outreachy-recent-edits-tool.toolforge.org\n    Redirect 308 /outreachy-sagorika1996 https://outreachy-sagorika1996.toolforge.org\n    Redirect 308 /outreachy-sayani-tool https://outreachy-sayani-tool.toolforge.org\n    Redirect 308 /outreachy-shipra https://outreachy-shipra.toolforge.org\n    Redirect 308 /outreachy-user-contribution-tool https://outreachy-user-contribution-tool.toolforge.org\n    Redirect 308 /outreachy-useredits https://outreachy-useredits.toolforge.org\n    Redirect 308 /outreachy-userrank https://outreachy-userrank.toolforge.org\n    Redirect 308 /outreachy-user-ranking-tool https://outreachy-user-ranking-tool.toolforge.org\n    Redirect 308 /outreachy-wikicv https://outreachy-wikicv.toolforge.org\n    Redirect gone /outreacy-wikicv\n    Redirect 308 /owintes https://owintes.toolforge.org\n    Redirect 308 /p4-linkie https://p4-linkie.toolforge.org\n    Redirect 308 /pacetrack https://pacetrack.toolforge.org\n    Redirect 308 /pagecount https://pagecount.toolforge.org\n    Redirect 308 /pagecounts https://pagecounts.toolforge.org\n    Redirect 308 /pagepile https://pagepile.toolforge.org\n    Redirect 308 /pagepile-visual-filter https://pagepile-visual-filter.toolforge.org\n    Redirect 308 /pageshift https://pageshift.toolforge.org\n    Redirect 308 /pageviews https://pageviews.toolforge.org\n    Redirect 308 /pageviews-test https://pageviews-test.toolforge.org\n    Redirect gone /paid\n    Redirect gone /palmleaf-transcriber\n    Redirect 308 /pandata https://pandata.toolforge.org\n    Redirect 308 /panderine https://panderine.toolforge.org\n    Redirect 308 /panoviewer https://panoviewer.toolforge.org\n    Redirect 308 /para https://para.toolforge.org\n    Redirect 308 /parliamentdiagram https://parliamentdiagram.toolforge.org\n    Redirect 308 /parliament-diagram-generator https://parliament-diagram-generator.toolforge.org\n    Redirect gone /parsec\n    Redirect 308 /passlicense https://passlicense.toolforge.org\n    Redirect 308 /paste https://paste.toolforge.org\n    Redirect 308 /pastebin https://pastebin.toolforge.org\n    Redirect 308 /paste-test https://paste-test.toolforge.org\n    Redirect 308 /pathbot-test-1 https://pathbot-test-1.toolforge.org\n    Redirect 308 /pathoschild-contrib https://pathoschild-contrib.toolforge.org\n    Redirect 308 /pathway-viewer https://pathway-viewer.toolforge.org\n    Redirect 308 /patrall https://patrall.toolforge.org\n    Redirect 308 /patrollerinfo https://patrollerinfo.toolforge.org\n    Redirect 308 /patrolstats https://patrolstats.toolforge.org\n    Redirect gone /patrubot\n    Redirect 308 /pavlochembot https://pavlochembot.toolforge.org\n    Redirect 308 /paws https://paws.toolforge.org\n    Redirect 308 /paws-beta https://paws-beta.toolforge.org\n    Redirect 308 /paws-dev https://paws-dev.toolforge.org\n    Redirect 308 /paws-public https://paws-public.toolforge.org\n    Redirect 308 /paws-published https://paws-published.toolforge.org\n    Redirect 308 /paws-stats https://paws-stats.toolforge.org\n    Redirect 308 /paws-status https://paws-status.toolforge.org\n    Redirect 308 /paws-support https://paws-support.toolforge.org\n    Redirect 308 /payravi https://payravi.toolforge.org\n    Redirect 308 /pb https://pb.toolforge.org\n    Redirect 308 /pbbot https://pbbot.toolforge.org\n    Redirect 308 /peachy https://peachy.toolforge.org\n    Redirect 308 /peachy-docs https://peachy-docs.toolforge.org\n    Redirect 308 /pearbot https://pearbot.toolforge.org\n    Redirect 308 /pearbot2 https://pearbot2.toolforge.org\n    Redirect 308 /peek https://peek.toolforge.org\n    Redirect 308 /perebot https://perebot.toolforge.org\n    Redirect 308 /perfectbot https://perfectbot.toolforge.org\n    Redirect 308 /perfect-venn-diagram-generator https://perfect-venn-diagram-generator.toolforge.org\n    Redirect 308 /perflogbot https://perflogbot.toolforge.org\n    Redirect 308 /periodibot https://periodibot.toolforge.org\n    Redirect gone /periodssuck\n    Redirect gone /permission-denied-test\n    Redirect gone /perrybot\n    Redirect 308 /personabot https://personabot.toolforge.org\n    Redirect 308 /persondata https://persondata.toolforge.org\n    Redirect gone /petscan-md\n    Redirect 308 /pg2ws https://pg2ws.toolforge.org\n    Redirect gone /pgrmeval\n    Redirect 308 /phab-ban https://phab-ban.toolforge.org\n    Redirect 308 /phabbot https://phabbot.toolforge.org\n    Redirect 308 /phabricator-bug-status https://phabricator-bug-status.toolforge.org\n    Redirect 308 /phabricator-reporter https://phabricator-reporter.toolforge.org\n    Redirect gone /phab-search\n    Redirect 308 /phabsearchemail https://phabsearchemail.toolforge.org\n    Redirect 308 /phabulous https://phabulous.toolforge.org\n    Redirect gone /phamhi-tool\n    Redirect 308 /phantombot https://phantombot.toolforge.org\n    Redirect 308 /phetools https://phetools.toolforge.org\n    Redirect 308 /phoenix9 https://phoenix9.toolforge.org\n    Redirect 308 /phpcs https://phpcs.toolforge.org\n    Redirect 308 /phpinfo https://phpinfo.toolforge.org\n    Redirect gone /phragile\n    Redirect 308 /piagetbot https://piagetbot.toolforge.org\n    Redirect 308 /piagetenwiki https://piagetenwiki.toolforge.org\n    Redirect 308 /pibot https://pibot.toolforge.org\n    Redirect 308 /pib-upload https://pib-upload.toolforge.org\n    Redirect 308 /pileviews https://pileviews.toolforge.org\n    Redirect 308 /ping08bot https://ping08bot.toolforge.org\n    Redirect 308 /pinyin-wiki https://pinyin-wiki.toolforge.org\n    Redirect 308 /pipeng https://pipeng.toolforge.org\n    Redirect 308 /pirsquared https://pirsquared.toolforge.org\n    Redirect 308 /pisgbot https://pisgbot.toolforge.org\n    Redirect 308 /pitsilemu https://pitsilemu.toolforge.org\n    Redirect 308 /plagiabot https://plagiabot.toolforge.org\n    Redirect 308 /plaigsossbot https://plaigsossbot.toolforge.org\n    Redirect 308 /plaintexteditcounter https://plaintexteditcounter.toolforge.org\n    Redirect 308 /planettoearth https://planettoearth.toolforge.org\n    Redirect 308 /plantel2wiki https://plantel2wiki.toolforge.org\n    Redirect 308 /plasmahelp https://plasmahelp.toolforge.org\n    Redirect gone /platypus-qa\n    Redirect 308 /plnode https://plnode.toolforge.org\n    Redirect 308 /plstools https://plstools.toolforge.org\n    Redirect 308 /pltools https://pltools.toolforge.org\n    Redirect 308 /pmidtool https://pmidtool.toolforge.org\n    Redirect 308 /poiimport https://poiimport.toolforge.org\n    Redirect 308 /popularpages https://popularpages.toolforge.org\n    Redirect 308 /popularpages-dev https://popularpages-dev.toolforge.org\n    Redirect 308 /portal https://portal.toolforge.org\n    Redirect 308 /portalbox https://portalbox.toolforge.org\n    Redirect gone /portal-stats\n    Redirect 308 /position-holder-history https://position-holder-history.toolforge.org\n    Redirect 308 /potd https://potd.toolforge.org\n    Redirect 308 /potd-feed https://potd-feed.toolforge.org\n    Redirect 308 /potd-viewer https://potd-viewer.toolforge.org\n    Redirect 308 /potrace https://potrace.toolforge.org\n    Redirect 308 /poty https://poty.toolforge.org\n    Redirect 308 /povoconta https://povoconta.toolforge.org\n    Redirect 308 /powow https://powow.toolforge.org\n    Redirect gone /ppp-sparql\n    Redirect gone /precise-tools\n    Redirect 308 /prefbot https://prefbot.toolforge.org\n    Redirect gone /primary-sources-v2\n    Redirect 308 /primebot https://primebot.toolforge.org\n    Redirect 308 /prime-draftnocat https://prime-draftnocat.toolforge.org\n    Redirect 308 /primerpedia https://primerpedia.toolforge.org\n    Redirect gone /prism\n    Redirect gone /projanalysis\n    Redirect gone /project-fa\n    Redirect 308 /projector https://projector.toolforge.org\n    Redirect 308 /projektneuheiten-feed https://projektneuheiten-feed.toolforge.org\n    Redirect gone /projetpp\n    Redirect gone /prometheus\n    Redirect 308 /prompter https://prompter.toolforge.org\n    Redirect 308 /proneval https://proneval.toolforge.org\n    Redirect 308 /proneval-gsoc17 https://proneval-gsoc17.toolforge.org\n    Redirect gone /propertyuse\n    Redirect 308 /prop-explorer https://prop-explorer.toolforge.org\n    Redirect 308 /prosjektbot https://prosjektbot.toolforge.org\n    Redirect gone /proxies\n    Redirect 308 /prvnotifications https://prvnotifications.toolforge.org\n    Redirect 308 /ptable https://ptable.toolforge.org\n    Redirect 308 /ptbot https://ptbot.toolforge.org\n    Redirect 308 /ptbots https://ptbots.toolforge.org\n    Redirect 308 /ptools https://ptools.toolforge.org\n    Redirect 308 /ptwikis https://ptwikis.toolforge.org\n    Redirect 308 /pub https://pub.toolforge.org\n    Redirect 308 /pubchem-wikidata-updates https://pubchem-wikidata-updates.toolforge.org\n    Redirect 308 /purger https://purger.toolforge.org\n    Redirect gone /push-notifications-helper\n    Redirect 308 /pv https://pv.toolforge.org\n    Redirect 308 /pybot https://pybot.toolforge.org\n    Redirect 308 /pyshexy https://pyshexy.toolforge.org\n    Redirect 308 /pywikibot https://pywikibot.toolforge.org\n    Redirect 308 /pywikibot-grrtbt https://pywikibot-grrtbt.toolforge.org\n    Redirect 308 /pywikibot-test https://pywikibot-test.toolforge.org\n    Redirect 308 /pywikibot-testwiki https://pywikibot-testwiki.toolforge.org\n    Redirect 308 /pywikibot-tw https://pywikibot-tw.toolforge.org\n    Redirect 308 /pywikipedia https://pywikipedia.toolforge.org\n    Redirect 308 /pywowbot https://pywowbot.toolforge.org\n    Redirect 308 /qedkbot https://qedkbot.toolforge.org\n    Redirect 308 /qic https://qic.toolforge.org\n    Redirect 308 /qrcode-generator https://qrcode-generator.toolforge.org\n    Redirect gone /qsgenerator\n    Redirect 308 /quality-analyzer https://quality-analyzer.toolforge.org\n    Redirect 308 /quality-assisted-editor https://quality-assisted-editor.toolforge.org\n    Redirect 308 /quarry https://quarry.toolforge.org\n    Redirect 308 /quarrybot-enwiki https://quarrybot-enwiki.toolforge.org\n    Redirect 308 /quarry-dev https://quarry-dev.toolforge.org\n    Redirect 308 /quentintools https://quentintools.toolforge.org\n    Redirect 308 /quentinv57-bots https://quentinv57-bots.toolforge.org\n    Redirect 308 /quentinv57-common https://quentinv57-common.toolforge.org\n    Redirect 308 /query https://query.toolforge.org\n    Redirect 308 /query2map https://query2map.toolforge.org\n    Redirect 308 /query-universe https://query-universe.toolforge.org\n    Redirect 308 /quickcategories https://quickcategories.toolforge.org\n    Redirect 308 /quick-intersection https://quick-intersection.toolforge.org\n    Redirect 308 /quickpreset-migrate https://quickpreset-migrate.toolforge.org\n    Redirect gone /quickquery\n    Redirect 308 /quickstatements https://quickstatements.toolforge.org\n    Redirect 308 /quips https://quips.toolforge.org\n    Redirect gone /quotable\n    Redirect 308 /quotenbot https://quotenbot.toolforge.org\n    Redirect 308 /r96340-bot https://r96340-bot.toolforge.org\n    Redirect 308 /raehhamsang https://raehhamsang.toolforge.org\n    Redirect 308 /ragesossbot https://ragesossbot.toolforge.org\n    Redirect 308 /railways https://railways.toolforge.org\n    Redirect 308 /ralgisbot https://ralgisbot.toolforge.org\n    Redirect 308 /ramp https://ramp.toolforge.org\n    Redirect 308 /ramp2 https://ramp2.toolforge.org\n    Redirect 308 /random https://random.toolforge.org\n    Redirect 308 /random-featured https://random-featured.toolforge.org\n    Redirect 308 /randomincategory https://randomincategory.toolforge.org\n    Redirect 308 /rang https://rang.toolforge.org\n    Redirect 308 /rangeblockfinder https://rangeblockfinder.toolforge.org\n    Redirect 308 /rangecalc-improved https://rangecalc-improved.toolforge.org\n    Redirect 308 /rangecontrib https://rangecontrib.toolforge.org\n    Redirect gone /rank\n    Redirect gone /rank1\n    Redirect gone /rank4\n    Redirect 308 /raun https://raun.toolforge.org\n    Redirect 308 /raunbot https://raunbot.toolforge.org\n    Redirect 308 /raymond https://raymond.toolforge.org\n    Redirect 308 /raymondyee-test https://raymondyee-test.toolforge.org\n    Redirect 308 /rchv https://rchv.toolforge.org\n    Redirect gone /rcm\n    Redirect 308 /rcquery https://rcquery.toolforge.org\n    Redirect 308 /rc-vikidia https://rc-vikidia.toolforge.org\n    Redirect 308 /reader https://reader.toolforge.org\n    Redirect 308 /readmore https://readmore.toolforge.org\n    Redirect gone /reasomics\n    Redirect 308 /reasonator https://reasonator.toolforge.org\n    Redirect 308 /rebot https://rebot.toolforge.org\n    Redirect 308 /recitation-bot https://recitation-bot.toolforge.org\n    Redirect 308 /recoin https://recoin.toolforge.org\n    Redirect gone /recoin-sample\n    Redirect gone /recommendation\n    Redirect 308 /recom-tool https://recom-tool.toolforge.org\n    Redirect 308 /redirecter https://redirecter.toolforge.org\n    Redirect 308 /redirectviews https://redirectviews.toolforge.org\n    Redirect 308 /redirtest https://redirtest.toolforge.org\n    Redirect 308 /redpanda https://redpanda.toolforge.org\n    Redirect 308 /redwarn https://redwarn.toolforge.org\n    Redirect gone /refcreator\n    Redirect 308 /referee https://referee.toolforge.org\n    Redirect gone /referencebot\n    Redirect 308 /refill https://refill.toolforge.org\n    Redirect 308 /refill-api https://refill-api.toolforge.org\n    Redirect gone /reflinks\n    Redirect 308 /refswikipedia https://refswikipedia.toolforge.org\n    Redirect 308 /reftoolbar https://reftoolbar.toolforge.org\n    Redirect 308 /registro-cancellazioni https://registro-cancellazioni.toolforge.org\n    Redirect 308 /reise-reise https://reise-reise.toolforge.org\n    Redirect 308 /relgen https://relgen.toolforge.org\n    Redirect 308 /remarkup2wikitext https://remarkup2wikitext.toolforge.org\n    Redirect 308 /rembot https://rembot.toolforge.org\n    Redirect 308 /reminderbot https://reminderbot.toolforge.org\n    Redirect 308 /render https://render.toolforge.org\n    Redirect 308 /render-tests https://render-tests.toolforge.org\n    Redirect gone /repi\n    Redirect 308 /replacer https://replacer.toolforge.org\n    Redirect 308 /replag https://replag.toolforge.org\n    Redirect 308 /repo https://repo.toolforge.org\n    Redirect gone /reports\n    Redirect gone /reportsbot\n    Redirect 308 /reports-bot https://reports-bot.toolforge.org\n    Redirect 308 /request https://request.toolforge.org\n    Redirect 308 /retractionbot https://retractionbot.toolforge.org\n    Redirect 308 /revdiffsearch https://revdiffsearch.toolforge.org\n    Redirect 308 /revertstat https://revertstat.toolforge.org\n    Redirect 308 /revi https://revi.toolforge.org\n    Redirect 308 /revibot https://revibot.toolforge.org\n    Redirect 308 /revibot-i https://revibot-i.toolforge.org\n    Redirect 308 /revibot-ii https://revibot-ii.toolforge.org\n    Redirect 308 /revibot-iii https://revibot-iii.toolforge.org\n    Redirect gone /revibot-iv\n    Redirect 308 /reviewer https://reviewer.toolforge.org\n    Redirect 308 /reviewers https://reviewers.toolforge.org\n    Redirect 308 /review-stats https://review-stats.toolforge.org\n    Redirect 308 /reviewtools https://reviewtools.toolforge.org\n    Redirect 308 /revisions-blacklist https://revisions-blacklist.toolforge.org\n    Redirect 308 /revisionstats https://revisionstats.toolforge.org\n    Redirect 308 /revitalizebot https://revitalizebot.toolforge.org\n    Redirect 308 /rezabot https://rezabot.toolforge.org\n    Redirect 308 /reza-dev https://reza-dev.toolforge.org\n    Redirect 308 /rfahelper https://rfahelper.toolforge.org\n    Redirect 308 /rfastats https://rfastats.toolforge.org\n    Redirect 308 /rfa-tool https://rfa-tool.toolforge.org\n    Redirect 308 /rfc-analyzer https://rfc-analyzer.toolforge.org\n    Redirect 308 /rfx https://rfx.toolforge.org\n    Redirect 308 /rfx-dev https://rfx-dev.toolforge.org\n    Redirect gone /rhinosf1-afdclose\n    Redirect 308 /ricordisamoa https://ricordisamoa.toolforge.org\n    Redirect 308 /ri-diff-fixture-updater https://ri-diff-fixture-updater.toolforge.org\n    Redirect 308 /rightstool https://rightstool.toolforge.org\n    Redirect 308 /rileybot https://rileybot.toolforge.org\n    Redirect 308 /rillke https://rillke.toolforge.org\n    Redirect 308 /rillke-node https://rillke-node.toolforge.org\n    Redirect 308 /rluts https://rluts.toolforge.org\n    Redirect 308 /rmstats https://rmstats.toolforge.org\n    Redirect 308 /rm-stats https://rm-stats.toolforge.org\n    Redirect 308 /robin https://robin.toolforge.org\n    Redirect 308 /robokobot https://robokobot.toolforge.org\n    Redirect 308 /roccerbot https://roccerbot.toolforge.org\n    Redirect 308 /roccerbot-new https://roccerbot-new.toolforge.org\n    Redirect 308 /rotatebot https://rotatebot.toolforge.org\n    Redirect 308 /rotbot https://rotbot.toolforge.org\n    Redirect 308 /rotpunkt-bot https://rotpunkt-bot.toolforge.org\n    Redirect 308 /roundtripping https://roundtripping.toolforge.org\n    Redirect gone /roysmith-test\n    Redirect 308 /ruarbcom https://ruarbcom.toolforge.org\n    Redirect gone /ruarbcom-js\n    Redirect gone /rubinbot\n    Redirect gone /rubinbot2\n    Redirect gone /rubinbot3\n    Redirect 308 /ru_monuments https://ru_monuments.toolforge.org\n    Redirect gone /ruprecht\n    Redirect 308 /ruptho-interaction-classifier https://ruptho-interaction-classifier.toolforge.org\n    Redirect 308 /russbot https://russbot.toolforge.org\n    Redirect 308 /rust-hello-world https://rust-hello-world.toolforge.org\n    Redirect 308 /ru-unreliable-music-sources https://ru-unreliable-music-sources.toolforge.org\n    Redirect 308 /ruwikisource https://ruwikisource.toolforge.org\n    Redirect 308 /ruwn-misc https://ruwn-misc.toolforge.org\n    Redirect 308 /rxy https://rxy.toolforge.org\n    Redirect 308 /ryanbot https://ryanbot.toolforge.org\n    Redirect 308 /ryu https://ryu.toolforge.org\n    Redirect gone /saami\n    Redirect 308 /sal https://sal.toolforge.org\n    Redirect 308 /sammour https://sammour.toolforge.org\n    Redirect 308 /samoabot https://samoabot.toolforge.org\n    Redirect 308 /sanaa https://sanaa.toolforge.org\n    Redirect 308 /saper https://saper.toolforge.org\n    Redirect 308 /sau226test https://sau226test.toolforge.org\n    Redirect gone /sau226-wiki-bug-testing\n    Redirect gone /sbl\n    Redirect 308 /sbot https://sbot.toolforge.org\n    Redirect 308 /scaldingbot https://scaldingbot.toolforge.org\n    Redirect gone /scfc-test-can-be-deleted-anytime\n    Redirect 308 /schema2code https://schema2code.toolforge.org\n    Redirect 308 /scholia https://scholia.toolforge.org\n    Redirect 308 /scholiaanalytics https://scholiaanalytics.toolforge.org\n    Redirect 308 /scholia-analytics https://scholia-analytics.toolforge.org\n    Redirect 308 /scholia-dev https://scholia-dev.toolforge.org\n    Redirect 308 /schoolwiki https://schoolwiki.toolforge.org\n    Redirect 308 /schubota https://schubota.toolforge.org\n    Redirect 308 /scottytools https://scottytools.toolforge.org\n    Redirect 308 /scotus-recordings https://scotus-recordings.toolforge.org\n    Redirect gone /scratch\n    Redirect 308 /scribe https://scribe.toolforge.org\n    Redirect 308 /scrotbot https://scrotbot.toolforge.org\n    Redirect 308 /sdbot https://sdbot.toolforge.org\n    Redirect gone /sdm\n    Redirect 308 /sdzerobot https://sdzerobot.toolforge.org\n    Redirect 308 /search https://search.toolforge.org\n    Redirect 308 /searchdiff https://searchdiff.toolforge.org\n    Redirect 308 /searchsbl https://searchsbl.toolforge.org\n    Redirect 308 /section-links https://section-links.toolforge.org\n    Redirect 308 /section-redirect https://section-redirect.toolforge.org\n    Redirect 308 /section-watchlist https://section-watchlist.toolforge.org\n    Redirect 308 /security https://security.toolforge.org\n    Redirect 308 /secwatch https://secwatch.toolforge.org\n    Redirect 308 /seealsology https://seealsology.toolforge.org\n    Redirect 308 /seijabot https://seijabot.toolforge.org\n    Redirect 308 /sejmedits https://sejmedits.toolforge.org\n    Redirect 308 /selim https://selim.toolforge.org\n    Redirect 308 /sequencer https://sequencer.toolforge.org\n    Redirect 308 /sergobot-statistics https://sergobot-statistics.toolforge.org\n    Redirect 308 /serobot https://serobot.toolforge.org\n    Redirect 308 /service001 https://service001.toolforge.org\n    Redirect 308 /serviceawards https://serviceawards.toolforge.org\n    Redirect 308 /sficbot https://sficbot.toolforge.org\n    Redirect gone /sge-jobs\n    Redirect gone /sge-status\n    Redirect 308 /shbibbot https://shbibbot.toolforge.org\n    Redirect 308 /shbot https://shbot.toolforge.org\n    Redirect 308 /shex-author https://shex-author.toolforge.org\n    Redirect 308 /shexia https://shexia.toolforge.org\n    Redirect 308 /shex-simple https://shex-simple.toolforge.org\n    Redirect 308 /shexstatements https://shexstatements.toolforge.org\n    Redirect 308 /shextranslator https://shextranslator.toolforge.org\n    Redirect 308 /shfbot https://shfbot.toolforge.org\n    Redirect 308 /shields https://shields.toolforge.org\n    Redirect gone /shilad\n    Redirect 308 /shortnames https://shortnames.toolforge.org\n    Redirect 308 /shorturls https://shorturls.toolforge.org\n    Redirect 308 /shotbot https://shotbot.toolforge.org\n    Redirect gone /shri\n    Redirect 308 /shrinitools https://shrinitools.toolforge.org\n    Redirect 308 /shrugbot https://shrugbot.toolforge.org\n    Redirect gone /shtest\n    Redirect 308 /shuaib https://shuaib.toolforge.org\n    Redirect 308 /shuaib-bot https://shuaib-bot.toolforge.org\n    Redirect 308 /shumariyat https://shumariyat.toolforge.org\n    Redirect 308 /sibu https://sibu.toolforge.org\n    Redirect 308 /sibutest https://sibutest.toolforge.org\n    Redirect 308 /sighting https://sighting.toolforge.org\n    Redirect 308 /sigma https://sigma.toolforge.org\n    Redirect 308 /signature-checker https://signature-checker.toolforge.org\n    Redirect gone /signature-manquante-bot\n    Redirect 308 /signatures https://signatures.toolforge.org\n    Redirect 308 /sign-language-browser https://sign-language-browser.toolforge.org\n    Redirect 308 /signpost https://signpost.toolforge.org\n    Redirect 308 /signpostlab https://signpostlab.toolforge.org\n    Redirect 308 /similarity https://similarity.toolforge.org\n    Redirect 308 /simple https://simple.toolforge.org\n    Redirect 308 /simplecommonstransfer https://simplecommonstransfer.toolforge.org\n    Redirect gone /simplewd\n    Redirect 308 /simplewikt https://simplewikt.toolforge.org\n    Redirect 308 /sistercities https://sistercities.toolforge.org\n    Redirect 308 /sit https://sit.toolforge.org\n    Redirect 308 /sitematrix https://sitematrix.toolforge.org\n    Redirect 308 /sites https://sites.toolforge.org\n    Redirect 308 /siteviews https://siteviews.toolforge.org\n    Redirect gone /siwiki\n    Redirect 308 /sixdegrees https://sixdegrees.toolforge.org\n    Redirect 308 /slakrtools https://slakrtools.toolforge.org\n    Redirect 308 /sleepybot https://sleepybot.toolforge.org\n    Redirect 308 /slf https://slf.toolforge.org\n    Redirect gone /slipjack\n    Redirect gone /slow-parse\n    Redirect 308 /slumpartikel https://slumpartikel.toolforge.org\n    Redirect 308 /smv-description-translations https://smv-description-translations.toolforge.org\n    Redirect 308 /sn1pebot https://sn1pebot.toolforge.org\n    Redirect 308 /snaevar-bot https://snaevar-bot.toolforge.org\n    Redirect 308 /snapshots https://snapshots.toolforge.org\n    Redirect gone /snowolf\n    Redirect 308 /socksfinder https://socksfinder.toolforge.org\n    Redirect 308 /sonarqubebot https://sonarqubebot.toolforge.org\n    Redirect 308 /soni https://soni.toolforge.org\n    Redirect 308 /sonitool https://sonitool.toolforge.org\n    Redirect 308 /sourcemd https://sourcemd.toolforge.org\n    Redirect 308 /southparkfan https://southparkfan.toolforge.org\n    Redirect gone /soweego\n    Redirect 308 /sowhy https://sowhy.toolforge.org\n    Redirect 308 /sp1 https://sp1.toolforge.org\n    Redirect 308 /spacemedia https://spacemedia.toolforge.org\n    Redirect 308 /spamforbreakfast https://spamforbreakfast.toolforge.org\n    Redirect 308 /spamwatch https://spamwatch.toolforge.org\n    Redirect 308 /sparqlblocks https://sparqlblocks.toolforge.org\n    Redirect 308 /sparrow https://sparrow.toolforge.org\n    Redirect 308 /spbot https://spbot.toolforge.org\n    Redirect gone /spdx\n    Redirect 308 /speedpatrolling https://speedpatrolling.toolforge.org\n    Redirect gone /speed-patrolling\n    Redirect 308 /speedydeletionwikia https://speedydeletionwikia.toolforge.org\n    Redirect 308 /spellbot https://spellbot.toolforge.org\n    Redirect 308 /spellbot-dev https://spellbot-dev.toolforge.org\n    Redirect 308 /spellcheck https://spellcheck.toolforge.org\n    Redirect 308 /sphinxcapt-leaderboard https://sphinxcapt-leaderboard.toolforge.org\n    Redirect 308 /spiarticleanalyzer https://spiarticleanalyzer.toolforge.org\n    Redirect 308 /spi-tools https://spi-tools.toolforge.org\n    Redirect 308 /spi-tools-dev https://spi-tools-dev.toolforge.org\n    Redirect 308 /splinetools https://splinetools.toolforge.org\n    Redirect 308 /sqid https://sqid.toolforge.org\n    Redirect 308 /sql-optimizer https://sql-optimizer.toolforge.org\n    Redirect 308 /sqoop-tool https://sqoop-tool.toolforge.org\n    Redirect 308 /squirrelnestbot https://squirrelnestbot.toolforge.org\n    Redirect gone /squirrelnest-upf\n    Redirect 308 /srish https://srish.toolforge.org\n    Redirect gone /srr-sandbox\n    Redirect 308 /srwiki https://srwiki.toolforge.org\n    Redirect gone /srwiki-dev\n    Redirect 308 /stabilizerbot https://stabilizerbot.toolforge.org\n    Redirect gone /stang\n    Redirect 308 /stashbot https://stashbot.toolforge.org\n    Redirect 308 /static https://static.toolforge.org\n    Redirect 308 /static-browser https://static-browser.toolforge.org\n    Redirect gone /static-bz\n    Redirect 308 /statistics https://statistics.toolforge.org\n    Redirect gone /statistics-api\n    Redirect 308 /statisticsbot https://statisticsbot.toolforge.org\n    Redirect gone /stats\n    Redirect 308 /status https://status.toolforge.org\n    Redirect 308 /steinsplitter https://steinsplitter.toolforge.org\n    Redirect 308 /steinsplitter2 https://steinsplitter2.toolforge.org\n    Redirect 308 /stemmeberettigelse https://stemmeberettigelse.toolforge.org\n    Redirect 308 /stereoskopie https://stereoskopie.toolforge.org\n    Redirect 308 /stewardbots https://stewardbots.toolforge.org\n    Redirect gone /stewbots\n    Redirect 308 /stimmberechtigung https://stimmberechtigung.toolforge.org\n    Redirect 308 /stockholm-mania https://stockholm-mania.toolforge.org\n    Redirect 308 /stradbot https://stradbot.toolforge.org\n    Redirect 308 /strephit https://strephit.toolforge.org\n    Redirect gone /strikertest2017-08-23\n    Redirect gone /stub\n    Redirect 308 /studiesworld https://studiesworld.toolforge.org\n    Redirect 308 /stwalkerster https://stwalkerster.toolforge.org\n    Redirect gone /styleguide\n    Redirect 308 /stylize https://stylize.toolforge.org\n    Redirect 308 /submitter https://submitter.toolforge.org\n    Redirect gone /suchaserver\n    Redirect 308 /suggestbot https://suggestbot.toolforge.org\n    Redirect 308 /suggestor https://suggestor.toolforge.org\n    Redirect 308 /suha https://suha.toolforge.org\n    Redirect 308 /sulinfo https://sulinfo.toolforge.org\n    Redirect 308 /summary-generator https://summary-generator.toolforge.org\n    Redirect 308 /super-admin-bot https://super-admin-bot.toolforge.org\n    Redirect 308 /supercount https://supercount.toolforge.org\n    Redirect 308 /superyetkin https://superyetkin.toolforge.org\n    Redirect 308 /superzerocool https://superzerocool.toolforge.org\n    Redirect 308 /suyash-sandarbh https://suyash-sandarbh.toolforge.org\n    Redirect 308 /svenbot https://svenbot.toolforge.org\n    Redirect 308 /svgcheck https://svgcheck.toolforge.org\n    Redirect 308 /svgedit https://svgedit.toolforge.org\n    Redirect gone /svgedit-dashboard\n    Redirect 308 /svg-map-maker https://svg-map-maker.toolforge.org\n    Redirect 308 /svgtranslate https://svgtranslate.toolforge.org\n    Redirect 308 /svgtranslate-test https://svgtranslate-test.toolforge.org\n    Redirect 308 /svgworkaroundbot https://svgworkaroundbot.toolforge.org\n    Redirect 308 /svwikihostbot https://svwikihostbot.toolforge.org\n    Redirect 308 /svwiktionary https://svwiktionary.toolforge.org\n    Redirect 308 /swedishforsamling https://swedishforsamling.toolforge.org\n    Redirect 308 /swviewer https://swviewer.toolforge.org\n    Redirect 308 /sybot51 https://sybot51.toolforge.org\n    Redirect 308 /symabot https://symabot.toolforge.org\n    Redirect 308 /symacbot https://symacbot.toolforge.org\n    Redirect gone /sync-badges\n    Redirect 308 /t13bot https://t13bot.toolforge.org\n    Redirect 308 /t187305-demo https://t187305-demo.toolforge.org\n    Redirect gone /t1943bot\n    Redirect 308 /tabernacle https://tabernacle.toolforge.org\n    Redirect 308 /tabletop https://tabletop.toolforge.org\n    Redirect 308 /tabular-wikidata https://tabular-wikidata.toolforge.org\n    Redirect 308 /tabulist https://tabulist.toolforge.org\n    Redirect 308 /tahir https://tahir.toolforge.org\n    Redirect gone /taim-bot\n    Redirect 308 /tamilwikitools https://tamilwikitools.toolforge.org\n    Redirect 308 /tantan-www https://tantan-www.toolforge.org\n    Redirect 308 /taqpol-test https://taqpol-test.toolforge.org\n    Redirect 308 /tarrow-dev https://tarrow-dev.toolforge.org\n    Redirect 308 /tasmania https://tasmania.toolforge.org\n    Redirect gone /taweetham\n    Redirect 308 /taxobot https://taxobot.toolforge.org\n    Redirect 308 /taxoboxalyzer https://taxoboxalyzer.toolforge.org\n    Redirect 308 /taxonbot https://taxonbot.toolforge.org\n    Redirect 308 /taxonbota https://taxonbota.toolforge.org\n    Redirect 308 /taxonkatbot https://taxonkatbot.toolforge.org\n    Redirect 308 /tb-dev https://tb-dev.toolforge.org\n    Redirect 308 /tbloemink https://tbloemink.toolforge.org\n    Redirect 308 /tc-rc https://tc-rc.toolforge.org\n    Redirect 308 /tedbot https://tedbot.toolforge.org\n    Redirect 308 /teg https://teg.toolforge.org\n    Redirect gone /tei2wikitext\n    Redirect gone /telefabot\n    Redirect 308 /telegrambot https://telegrambot.toolforge.org\n    Redirect 308 /telegram-wikilinksbot https://telegram-wikilinksbot.toolforge.org\n    Redirect gone /telnet\n    Redirect gone /templatecheck\n    Redirect 308 /templatecount https://templatecount.toolforge.org\n    Redirect gone /templatedata-filler\n    Redirect 308 /templatehoard https://templatehoard.toolforge.org\n    Redirect 308 /templatetiger https://templatetiger.toolforge.org\n    Redirect 308 /templatetransclusioncheck https://templatetransclusioncheck.toolforge.org\n    Redirect 308 /templator https://templator.toolforge.org\n    Redirect 308 /tenst https://tenst.toolforge.org\n    Redirect 308 /tessdata https://tessdata.toolforge.org\n    Redirect gone /tesseract-ocr-service\n    Redirect 308 /test https://test.toolforge.org\n    Redirect 308 /test0 https://test0.toolforge.org\n    Redirect gone /test001\n    Redirect gone /test2\n    Redirect gone /test3\n    Redirect 308 /test999 https://test999.toolforge.org\n    Redirect 308 /test-generic-webservice https://test-generic-webservice.toolforge.org\n    Redirect gone /testingtool\n    Redirect 308 /test-lighttpd-precise https://test-lighttpd-precise.toolforge.org\n    Redirect gone /test-lighttpd-trusty\n    Redirect 308 /test-music1201 https://test-music1201.toolforge.org\n    Redirect gone /test-stats\n    Redirect gone /test-t188680\n    Redirect 308 /test-tool https://test-tool.toolforge.org\n    Redirect 308 /testtool-101 https://testtool-101.toolforge.org\n    Redirect 308 /test-vvv https://test-vvv.toolforge.org\n    Redirect gone /test-webservice-generic\n    Redirect gone /testwiki\n    Redirect gone /testwikis\n    Redirect 308 /testwikistats https://testwikistats.toolforge.org\n    Redirect 308 /tewptrends https://tewptrends.toolforge.org\n    Redirect 308 /texbot https://texbot.toolforge.org\n    Redirect gone /text2hash\n    Redirect 308 /textcatdemo https://textcatdemo.toolforge.org\n    Redirect 308 /tfaprotbot https://tfaprotbot.toolforge.org\n    Redirect gone /tgwikibot\n    Redirect 308 /thanatos https://thanatos.toolforge.org\n    Redirect 308 /thankyou https://thankyou.toolforge.org\n    Redirect 308 /thebook https://thebook.toolforge.org\n    Redirect 308 /thedavetool https://thedavetool.toolforge.org\n    Redirect 308 /thedavetools https://thedavetools.toolforge.org\n    Redirect gone /thehelpfulbot\n    Redirect gone /themesquitobot\n    Redirect gone /theoslittlebot\n    Redirect 308 /thesandbot https://thesandbot.toolforge.org\n    Redirect 308 /thibaut120094 https://thibaut120094.toolforge.org\n    Redirect 308 /thibtools https://thibtools.toolforge.org\n    Redirect 308 /thparkthsql https://thparkthsql.toolforge.org\n    Redirect gone /threed2commons\n    Redirect gone /tichy\n    Redirect 308 /tilde https://tilde.toolforge.org\n    Redirect 308 /tilescraper https://tilescraper.toolforge.org\n    Redirect 308 /time-convertor https://time-convertor.toolforge.org\n    Redirect 308 /timerelengteam https://timerelengteam.toolforge.org\n    Redirect 308 /timescale https://timescale.toolforge.org\n    Redirect 308 /title-search https://title-search.toolforge.org\n    Redirect 308 /tivenbot https://tivenbot.toolforge.org\n    Redirect 308 /tmg https://tmg.toolforge.org\n    Redirect 308 /toc https://toc.toolforge.org\n    Redirect 308 /tom29739-testing https://tom29739-testing.toolforge.org\n    Redirect gone /tombot3\n    Redirect gone /tomthirteen\n    Redirect gone /tool\n    Redirect 308 /tool123 https://tool123.toolforge.org\n    Redirect 308 /tool-account https://tool-account.toolforge.org\n    Redirect 308 /tool-db-usage https://tool-db-usage.toolforge.org\n    Redirect 308 /toolflow https://toolflow.toolforge.org\n    Redirect 308 /toolforge https://toolforge.toolforge.org\n    Redirect 308 /toolforge-gallery https://toolforge-gallery.toolforge.org\n    Redirect 308 /tool-gallery https://tool-gallery.toolforge.org\n    Redirect 308 /toolhub https://toolhub.toolforge.org\n    Redirect 308 /tool-log-stats https://tool-log-stats.toolforge.org\n    Redirect 308 /toolpilot https://toolpilot.toolforge.org\n    Redirect gone /tools\n    Redirect 308 /toolschecker https://toolschecker.toolforge.org\n    Redirect gone /toolschecker-ge-ws\n    Redirect gone /toolschecker-k8s-ws\n    Redirect 308 /toolscript https://toolscript.toolforge.org\n    Redirect 308 /tools-dashboard https://tools-dashboard.toolforge.org\n    Redirect 308 /toolserver https://toolserver.toolforge.org\n    Redirect gone /toolserverdb\n    Redirect 308 /toolserver-home-archive https://toolserver-home-archive.toolforge.org\n    Redirect 308 /tools-gallery https://tools-gallery.toolforge.org\n    Redirect 308 /tools-info https://tools-info.toolforge.org\n    Redirect 308 /tooltranslate https://tooltranslate.toolforge.org\n    Redirect 308 /toolviews https://toolviews.toolforge.org\n    Redirect 308 /top500importer https://top500importer.toolforge.org\n    Redirect 308 /topic-finder https://topic-finder.toolforge.org\n    Redirect 308 /topicmatcher https://topicmatcher.toolforge.org\n    Redirect 308 /topviews https://topviews.toolforge.org\n    Redirect gone /topviews-test\n    Redirect gone /torintool\n    Redirect 308 /torproxy https://torproxy.toolforge.org\n    Redirect 308 /totoazero https://totoazero.toolforge.org\n    Redirect 308 /tour https://tour.toolforge.org\n    Redirect 308 /tpbot https://tpbot.toolforge.org\n    Redirect 308 /tptools https://tptools.toolforge.org\n    Redirect 308 /traffic-grapher https://traffic-grapher.toolforge.org\n    Redirect 308 /train-blockers https://train-blockers.toolforge.org\n    Redirect 308 /translate https://translate.toolforge.org\n    Redirect 308 /translate-bot https://translate-bot.toolforge.org\n    Redirect 308 /translate-category https://translate-category.toolforge.org\n    Redirect 308 /translatemplate https://translatemplate.toolforge.org\n    Redirect gone /translation-server\n    Redirect 308 /tree-of-life https://tree-of-life.toolforge.org\n    Redirect 308 /trend https://trend.toolforge.org\n    Redirect gone /tristessa\n    Redirect gone /tronbot\n    Redirect gone /trusty-deprecation\n    Redirect gone /trusty-tools\n    Redirect 308 /tsbot https://tsbot.toolforge.org\n    Redirect 308 /tsreports https://tsreports.toolforge.org\n    Redirect 308 /tsreports-dev https://tsreports-dev.toolforge.org\n    Redirect gone /tts\n    Redirect 308 /tts-comparison https://tts-comparison.toolforge.org\n    Redirect 308 /ttt https://ttt.toolforge.org\n    Redirect 308 /tulsibot https://tulsibot.toolforge.org\n    Redirect 308 /tusc https://tusc.toolforge.org\n    Redirect 308 /tweep https://tweep.toolforge.org\n    Redirect 308 /twinkle https://twinkle.toolforge.org\n    Redirect 308 /twitterbot https://twitterbot.toolforge.org\n    Redirect 308 /twitter-retweet-bot https://twitter-retweet-bot.toolforge.org\n    Redirect 308 /twitter-to-commons https://twitter-to-commons.toolforge.org\n    Redirect 308 /twl https://twl.toolforge.org\n    Redirect gone /twl17\n    Redirect 308 /twlbot https://twlbot.toolforge.org\n    Redirect 308 /twltools https://twltools.toolforge.org\n    Redirect gone /typo-categorizer\n    Redirect 308 /typos https://typos.toolforge.org\n    Redirect 308 /typoscan https://typoscan.toolforge.org\n    Redirect gone /uaachecker\n    Redirect 308 /ukbot https://ukbot.toolforge.org\n    Redirect 308 /ukwiki-analysis https://ukwiki-analysis.toolforge.org\n    Redirect 308 /unblock https://unblock.toolforge.org\n    Redirect 308 /unblockbot https://unblockbot.toolforge.org\n    Redirect gone /unique\n    Redirect 308 /universalviewer https://universalviewer.toolforge.org\n    Redirect 308 /un-ocha-maps https://un-ocha-maps.toolforge.org\n    Redirect gone /unpatrollededitstats\n    Redirect 308 /unpaywall-importer https://unpaywall-importer.toolforge.org\n    Redirect 308 /unpkg https://unpkg.toolforge.org\n    Redirect gone /uploadhelper-ir\n    Redirect 308 /upload-stats-bot https://upload-stats-bot.toolforge.org\n    Redirect 308 /urbanecmbot https://urbanecmbot.toolforge.org\n    Redirect 308 /urbanecm-test-1 https://urbanecm-test-1.toolforge.org\n    Redirect 308 /urdubot https://urdubot.toolforge.org\n    Redirect 308 /urdusign https://urdusign.toolforge.org\n    Redirect 308 /urduspellchecker https://urduspellchecker.toolforge.org\n    Redirect 308 /url2commons https://url2commons.toolforge.org\n    Redirect 308 /url-converter https://url-converter.toolforge.org\n    Redirect 308 /urlinktranslator https://urlinktranslator.toolforge.org\n    Redirect gone /us\n    Redirect 308 /usage https://usage.toolforge.org\n    Redirect 308 /user https://user.toolforge.org\n    Redirect gone /user-activity\n    Redirect 308 /user-contributions-feed https://user-contributions-feed.toolforge.org\n    Redirect gone /useredit\n    Redirect gone /useredit2\n    Redirect gone /useredits\n    Redirect gone /useredits1\n    Redirect 308 /usergraph https://usergraph.toolforge.org\n    Redirect gone /user-id\n    Redirect 308 /userimpact https://userimpact.toolforge.org\n    Redirect 308 /usernamesearch https://usernamesearch.toolforge.org\n    Redirect gone /userrank\n    Redirect 308 /usersearch https://usersearch.toolforge.org\n    Redirect 308 /user-stats https://user-stats.toolforge.org\n    Redirect 308 /userviews https://userviews.toolforge.org\n    Redirect gone /usrd-tools\n    Redirect 308 /usualsuspects https://usualsuspects.toolforge.org\n    Redirect gone /ut-bot\n    Redirect gone /ut-interwiki-bot\n    Redirect gone /ut-iw-bot\n    Redirect gone /vagrant2\n    Redirect gone /vagrant-test\n    Redirect 308 /valhallasw-testing-tool https://valhallasw-testing-tool.toolforge.org\n    Redirect 308 /validator https://validator.toolforge.org\n    Redirect 308 /valstat https://valstat.toolforge.org\n    Redirect 308 /valutabot https://valutabot.toolforge.org\n    Redirect 308 /vcat https://vcat.toolforge.org\n    Redirect 308 /veblenbot https://veblenbot.toolforge.org\n    Redirect 308 /vector-dark https://vector-dark.toolforge.org\n    Redirect 308 /vectorizer https://vectorizer.toolforge.org\n    Redirect 308 /veertje-tools https://veertje-tools.toolforge.org\n    Redirect gone /vendor\n    Redirect 308 /verb-import-game https://verb-import-game.toolforge.org\n    Redirect 308 /verification-pages https://verification-pages.toolforge.org\n    Redirect 308 /versions https://versions.toolforge.org\n    Redirect 308 /viafbot https://viafbot.toolforge.org\n    Redirect 308 /vic https://vic.toolforge.org\n    Redirect 308 /video2commons https://video2commons.toolforge.org\n    Redirect 308 /video2commons-socketio https://video2commons-socketio.toolforge.org\n    Redirect 308 /video2commons-test https://video2commons-test.toolforge.org\n    Redirect 308 /video-cat-bot https://video-cat-bot.toolforge.org\n    Redirect 308 /videoconvert https://videoconvert.toolforge.org\n    Redirect 308 /videoconvertion https://videoconvertion.toolforge.org\n    Redirect gone /video-cut-tool\n    Redirect gone /video-cut-tool-back-end\n    Redirect gone /video-cut-tool-front-end\n    Redirect 308 /videotutorials https://videotutorials.toolforge.org\n    Redirect gone /vipbot\n    Redirect gone /vip-space-media\n    Redirect 308 /vishwin https://vishwin.toolforge.org\n    Redirect 308 /visualcategories https://visualcategories.toolforge.org\n    Redirect 308 /visualeditor https://visualeditor.toolforge.org\n    Redirect 308 /vitalarticlesbot https://vitalarticlesbot.toolforge.org\n    Redirect 308 /vizbot https://vizbot.toolforge.org\n    Redirect 308 /vltools https://vltools.toolforge.org\n    Redirect 308 /vocabulary-index https://vocabulary-index.toolforge.org\n    Redirect 308 /voiceintro https://voiceintro.toolforge.org\n    Redirect 308 /volby2wiki https://volby2wiki.toolforge.org\n    Redirect 308 /voxelbot https://voxelbot.toolforge.org\n    Redirect 308 /vrb https://vrb.toolforge.org\n    Redirect 308 /vtwo https://vtwo.toolforge.org\n    Redirect 308 /vuln-checker https://vuln-checker.toolforge.org\n    Redirect 308 /vvoters https://vvoters.toolforge.org\n    Redirect 308 /v-wiki https://v-wiki.toolforge.org\n    Redirect 308 /wafaashohdy https://wafaashohdy.toolforge.org\n    Redirect 308 /wahldiagramm https://wahldiagramm.toolforge.org\n    Redirect 308 /wahrani https://wahrani.toolforge.org\n    Redirect 308 /wakt https://wakt.toolforge.org\n    Redirect 308 /wakt-beta https://wakt-beta.toolforge.org\n    Redirect 308 /wam https://wam.toolforge.org\n    Redirect 308 /wam-article-suggestions https://wam-article-suggestions.toolforge.org\n    Redirect 308 /wanderwiki https://wanderwiki.toolforge.org\n    Redirect gone /wantedpages\n    Redirect gone /warped-to-iframe\n    Redirect 308 /watchr https://watchr.toolforge.org\n    Redirect 308 /watch-translations https://watch-translations.toolforge.org\n    Redirect 308 /watroles https://watroles.toolforge.org\n    Redirect 308 /wawewewi https://wawewewi.toolforge.org\n    Redirect 308 /wb2rdf https://wb2rdf.toolforge.org\n    Redirect 308 /wbwcalculator https://wbwcalculator.toolforge.org\n    Redirect 308 /wcam-bot https://wcam-bot.toolforge.org\n    Redirect 308 /wcdo https://wcdo.toolforge.org\n    Redirect 308 /wcna-2018-registration https://wcna-2018-registration.toolforge.org\n    Redirect 308 /wd-analysis https://wd-analysis.toolforge.org\n    Redirect 308 /wd-analyst https://wd-analyst.toolforge.org\n    Redirect gone /wdapi\n    Redirect 308 /wd-art https://wd-art.toolforge.org\n    Redirect 308 /wdbeoupdate https://wdbeoupdate.toolforge.org\n    Redirect gone /wd-books-cleaner\n    Redirect 308 /wdcat https://wdcat.toolforge.org\n    Redirect 308 /wd-constraints-precheck https://wd-constraints-precheck.toolforge.org\n    Redirect 308 /wd-depicts https://wd-depicts.toolforge.org\n    Redirect 308 /wdgraph https://wdgraph.toolforge.org\n    Redirect 308 /wdic https://wdic.toolforge.org\n    Redirect 308 /wdimagecheck https://wdimagecheck.toolforge.org\n    Redirect 308 /wd-image-positions https://wd-image-positions.toolforge.org\n    Redirect 308 /wdmap https://wdmap.toolforge.org\n    Redirect 308 /wdml https://wdml.toolforge.org\n    Redirect 308 /wdmm https://wdmm.toolforge.org\n    Redirect 308 /wdprop https://wdprop.toolforge.org\n    Redirect 308 /wdpv https://wdpv.toolforge.org\n    Redirect 308 /wdq2sparql https://wdq2sparql.toolforge.org\n    Redirect gone /wdq_checker\n    Redirect 308 /wdq-checker https://wdq-checker.toolforge.org\n    Redirect 308 /wdqs-tutorial https://wdqs-tutorial.toolforge.org\n    Redirect gone /wdqs-wmil-tutorial\n    Redirect 308 /wd-query-builder https://wd-query-builder.toolforge.org\n    Redirect 308 /wd-rank https://wd-rank.toolforge.org\n    Redirect 308 /wdrdr https://wdrdr.toolforge.org\n    Redirect 308 /wdreconcile https://wdreconcile.toolforge.org\n    Redirect 308 /wd-ref-island https://wd-ref-island.toolforge.org\n    Redirect 308 /wd-shex-infer https://wd-shex-infer.toolforge.org\n    Redirect 308 /wdumps https://wdumps.toolforge.org\n    Redirect 308 /wdvaliditycheck https://wdvaliditycheck.toolforge.org\n    Redirect 308 /wdvd https://wdvd.toolforge.org\n    Redirect 308 /wd-word-cloud https://wd-word-cloud.toolforge.org\n    Redirect 308 /weapon-of-mass-description https://weapon-of-mass-description.toolforge.org\n    Redirect 308 /weapon-of-mass-description-test https://weapon-of-mass-description-test.toolforge.org\n    Redirect gone /weather\n    Redirect 308 /webarchivebot https://webarchivebot.toolforge.org\n    Redirect gone /webchat\n    Redirect 308 /weeklypedia https://weeklypedia.toolforge.org\n    Redirect 308 /welcomebot https://welcomebot.toolforge.org\n    Redirect 308 /welcomebots-bn https://welcomebots-bn.toolforge.org\n    Redirect 308 /wembedder https://wembedder.toolforge.org\n    Redirect 308 /wfind https://wfind.toolforge.org\n    Redirect 308 /whichsub https://whichsub.toolforge.org\n    Redirect 308 /whodunnit https://whodunnit.toolforge.org\n    Redirect 308 /whois https://whois.toolforge.org\n    Redirect 308 /whois-referral https://whois-referral.toolforge.org\n    Redirect 308 /whois-referral-dev https://whois-referral-dev.toolforge.org\n    Redirect 308 /whymbot https://whymbot.toolforge.org\n    Redirect 308 /widar https://widar.toolforge.org\n    Redirect 308 /wigi https://wigi.toolforge.org\n    Redirect gone /wiki\n    Redirect 308 /wiki13 https://wiki13.toolforge.org\n    Redirect 308 /wiki17an-watcher https://wiki17an-watcher.toolforge.org\n    Redirect 308 /wiki2email https://wiki2email.toolforge.org\n    Redirect 308 /wiki2html https://wiki2html.toolforge.org\n    Redirect 308 /wiki2prop https://wiki2prop.toolforge.org\n    Redirect 308 /wiki3d https://wiki3d.toolforge.org\n    Redirect gone /wiki-android-apps\n    Redirect 308 /wikiarthistory https://wikiarthistory.toolforge.org\n    Redirect 308 /wiki-as-git https://wiki-as-git.toolforge.org\n    Redirect 308 /wikiatlas2014 https://wikiatlas2014.toolforge.org\n    Redirect gone /wikibase-databridge-storybook\n    Redirect 308 /wikibase-nearest-neighbors https://wikibase-nearest-neighbors.toolforge.org\n    Redirect 308 /wikibase-preview https://wikibase-preview.toolforge.org\n    Redirect 308 /wikibase-termbox-storybook https://wikibase-termbox-storybook.toolforge.org\n    Redirect 308 /wikibattle https://wikibattle.toolforge.org\n    Redirect 308 /wikiblame https://wikiblame.toolforge.org\n    Redirect 308 /wikibookassamese https://wikibookassamese.toolforge.org\n    Redirect gone /wikibot\n    Redirect 308 /wikibugs https://wikibugs.toolforge.org\n    Redirect 308 /wikicaptcha https://wikicaptcha.toolforge.org\n    Redirect 308 /wikicite-dashboard https://wikicite-dashboard.toolforge.org\n    Redirect gone /wikicitevis\n    Redirect 308 /wikicontest https://wikicontest.toolforge.org\n    Redirect 308 /wikicontrib https://wikicontrib.toolforge.org\n    Redirect 308 /wikicup https://wikicup.toolforge.org\n    Redirect 308 /wikidata-analysis https://wikidata-analysis.toolforge.org\n    Redirect 308 /wikidata-annotation-tool https://wikidata-annotation-tool.toolforge.org\n    Redirect 308 /wikidata-compare https://wikidata-compare.toolforge.org\n    Redirect 308 /wikidata-delinker https://wikidata-delinker.toolforge.org\n    Redirect 308 /wikidata-edits https://wikidata-edits.toolforge.org\n    Redirect gone /wikidata-exports\n    Redirect 308 /wikidata-externalid-url https://wikidata-externalid-url.toolforge.org\n    Redirect 308 /wikidata-game https://wikidata-game.toolforge.org\n    Redirect 308 /wikidatagroup https://wikidatagroup.toolforge.org\n    Redirect 308 /wikidata-janitor https://wikidata-janitor.toolforge.org\n    Redirect 308 /wikidata-map https://wikidata-map.toolforge.org\n    Redirect 308 /wikidata-nolabels https://wikidata-nolabels.toolforge.org\n    Redirect 308 /wikidata-primary-sources https://wikidata-primary-sources.toolforge.org\n    Redirect 308 /wikidata-reconcile https://wikidata-reconcile.toolforge.org\n    Redirect 308 /wikidata-redirects-conflicts-reports https://wikidata-redirects-conflicts-reports.toolforge.org\n    Redirect 308 /wikidata-slicer https://wikidata-slicer.toolforge.org\n    Redirect 308 /wikidata-terminator https://wikidata-terminator.toolforge.org\n    Redirect 308 /wikidata-timeline https://wikidata-timeline.toolforge.org\n    Redirect 308 /wikidata-todo https://wikidata-todo.toolforge.org\n    Redirect 308 /wikidata-trends https://wikidata-trends.toolforge.org\n    Redirect gone /wikidiff2-dev-test\n    Redirect 308 /wikidipendenza https://wikidipendenza.toolforge.org\n    Redirect 308 /wikiedudashboard https://wikiedudashboard.toolforge.org\n    Redirect 308 /wikiedudashboard-test https://wikiedudashboard-test.toolforge.org\n    Redirect 308 /wikiemojibot https://wikiemojibot.toolforge.org\n    Redirect gone /wikifactmine-api\n    Redirect gone /wikifactmine-pipeline\n    Redirect 308 /wikifeeds https://wikifeeds.toolforge.org\n    Redirect 308 /wikifile-transfer https://wikifile-transfer.toolforge.org\n    Redirect 308 /wiki-geo https://wiki-geo.toolforge.org\n    Redirect 308 /wikigrade https://wikigrade.toolforge.org\n    Redirect 308 /wikigraph https://wikigraph.toolforge.org\n    Redirect 308 /wikigrok https://wikigrok.toolforge.org\n    Redirect 308 /wikihistory https://wikihistory.toolforge.org\n    Redirect 308 /wikihoaxbuster https://wikihoaxbuster.toolforge.org\n    Redirect 308 /wikiholic https://wikiholic.toolforge.org\n    Redirect 308 /wikiinfo https://wikiinfo.toolforge.org\n    Redirect 308 /wikiintent https://wikiintent.toolforge.org\n    Redirect gone /wiki-irc\n    Redirect 308 /wikijourney https://wikijourney.toolforge.org\n    Redirect 308 /wikilaeum https://wikilaeum.toolforge.org\n    Redirect 308 /wikilinkbot https://wikilinkbot.toolforge.org\n    Redirect 308 /wikilint https://wikilint.toolforge.org\n    Redirect 308 /wikilist https://wikilist.toolforge.org\n    Redirect 308 /wikilogos https://wikilogos.toolforge.org\n    Redirect 308 /wikiloop https://wikiloop.toolforge.org\n    Redirect 308 /wikiloop-testflight https://wikiloop-testflight.toolforge.org\n    Redirect 308 /wikiloves https://wikiloves.toolforge.org\n    Redirect 308 /wikilovesdownloads https://wikilovesdownloads.toolforge.org\n    Redirect gone /wiki-loves-earth-2019\n    Redirect 308 /wikiloveslove https://wikiloveslove.toolforge.org\n    Redirect 308 /wikimap https://wikimap.toolforge.org\n    Redirect gone /wikimediadc\n    Redirect 308 /wikimedia-france https://wikimedia-france.toolforge.org\n    Redirect 308 /wikimediaui-styleguide https://wikimediaui-styleguide.toolforge.org\n    Redirect 308 /wikiment https://wikiment.toolforge.org\n    Redirect 308 /wikimetrics https://wikimetrics.toolforge.org\n    Redirect 308 /wikimetrics-development https://wikimetrics-development.toolforge.org\n    Redirect 308 /wikimetrics-production https://wikimetrics-production.toolforge.org\n    Redirect 308 /wikimetrics-staging https://wikimetrics-staging.toolforge.org\n    Redirect 308 /wikiminiatlas https://wikiminiatlas.toolforge.org\n    Redirect 308 /wiki-needs-pictures https://wiki-needs-pictures.toolforge.org\n    Redirect 308 /wikinews https://wikinews.toolforge.org\n    Redirect 308 /wikinews-importer https://wikinews-importer.toolforge.org\n    Redirect 308 /wikinews-pagestats https://wikinews-pagestats.toolforge.org\n    Redirect 308 /wikinity https://wikinity.toolforge.org\n    Redirect 308 /wikinity-test https://wikinity-test.toolforge.org\n    Redirect 308 /wikintu https://wikintu.toolforge.org\n    Redirect 308 /wiki-osm-markers https://wiki-osm-markers.toolforge.org\n    Redirect 308 /wikioverdata https://wikioverdata.toolforge.org\n    Redirect gone /wikipagestats\n    Redirect gone /wikipathways2wiki\n    Redirect gone /wikipedia-android-builds\n    Redirect 308 /wikipedia-contributor-locations https://wikipedia-contributor-locations.toolforge.org\n    Redirect 308 /wikipedia-fetch-content https://wikipedia-fetch-content.toolforge.org\n    Redirect gone /wikipedia-library\n    Redirect gone /wikipedia-readability\n    Redirect 308 /wikipedia-zh-irc-query https://wikipedia-zh-irc-query.toolforge.org\n    Redirect 308 /wikipedia-zh-message-transport https://wikipedia-zh-message-transport.toolforge.org\n    Redirect 308 /wikipheme https://wikipheme.toolforge.org\n    Redirect 308 /wikiplayer https://wikiplayer.toolforge.org\n    Redirect 308 /wikiportretdev https://wikiportretdev.toolforge.org\n    Redirect 308 /wikiprovenance https://wikiprovenance.toolforge.org\n    Redirect gone /wikipulse\n    Redirect 308 /wikiradio https://wikiradio.toolforge.org\n    Redirect 308 /wikiresearch https://wikiresearch.toolforge.org\n    Redirect 308 /wiki-retweet-bot https://wiki-retweet-bot.toolforge.org\n    Redirect 308 /wikiscanner https://wikiscanner.toolforge.org\n    Redirect 308 /wikisense https://wikisense.toolforge.org\n    Redirect 308 /wikishield https://wikishield.toolforge.org\n    Redirect 308 /wikishootme https://wikishootme.toolforge.org\n    Redirect 308 /wikisoba https://wikisoba.toolforge.org\n    Redirect gone /wikisource-api\n    Redirect 308 /wikisource-bot https://wikisource-bot.toolforge.org\n    Redirect gone /wikisource-penguin-classics\n    Redirect 308 /wikisource-tweets https://wikisource-tweets.toolforge.org\n    Redirect 308 /wikistats https://wikistats.toolforge.org\n    Redirect 308 /wikistreak https://wikistreak.toolforge.org\n    Redirect 308 /wikistream https://wikistream.toolforge.org\n    Redirect 308 /wikistreams https://wikistreams.toolforge.org\n    Redirect 308 /wikitable https://wikitable.toolforge.org\n    Redirect 308 /wikitabs https://wikitabs.toolforge.org\n    Redirect gone /wiki-talk\n    Redirect gone /wiki-talk2\n    Redirect 308 /wikitanvirbot https://wikitanvirbot.toolforge.org\n    Redirect 308 /wiki-task-locator https://wiki-task-locator.toolforge.org\n    Redirect 308 /wikitasks https://wikitasks.toolforge.org\n    Redirect 308 /wikitei https://wikitei.toolforge.org\n    Redirect 308 /wiki-tennis https://wiki-tennis.toolforge.org\n    Redirect 308 /wikitest-rtl https://wikitest-rtl.toolforge.org\n    Redirect 308 /wikitext-deprecation https://wikitext-deprecation.toolforge.org\n    Redirect 308 /wikitime https://wikitime.toolforge.org\n    Redirect 308 /wiki-todo https://wiki-todo.toolforge.org\n    Redirect gone /wikitool\n    Redirect 308 /wikitools https://wikitools.toolforge.org\n    Redirect 308 /wiki-topic https://wiki-topic.toolforge.org\n    Redirect gone /wikitranslator\n    Redirect 308 /wikitree https://wikitree.toolforge.org\n    Redirect 308 /wikitrends https://wikitrends.toolforge.org\n    Redirect 308 /wikitrip https://wikitrip.toolforge.org\n    Redirect 308 /wikitweets https://wikitweets.toolforge.org\n    Redirect 308 /wikiviewstats https://wikiviewstats.toolforge.org\n    Redirect 308 /wikiviewstats2 https://wikiviewstats2.toolforge.org\n    Redirect 308 /wikivisualization https://wikivisualization.toolforge.org\n    Redirect 308 /wikiviz https://wikiviz.toolforge.org\n    Redirect 308 /wikivoyage https://wikivoyage.toolforge.org\n    Redirect 308 /wikiwatchdog https://wikiwatchdog.toolforge.org\n    Redirect 308 /wikiwhatsappbot https://wikiwhatsappbot.toolforge.org\n    Redirect 308 /wikiwho https://wikiwho.toolforge.org\n    Redirect 308 /wiki-zulip-bot https://wiki-zulip-bot.toolforge.org\n    Redirect 308 /wiktioutils https://wiktioutils.toolforge.org\n    Redirect 308 /wikt-mwtest https://wikt-mwtest.toolforge.org\n    Redirect 308 /wikyrillomat https://wikyrillomat.toolforge.org\n    Redirect 308 /william-avery-bot https://william-avery-bot.toolforge.org\n    Redirect 308 /winput https://winput.toolforge.org\n    Redirect 308 /winter https://winter.toolforge.org\n    Redirect 308 /wiper https://wiper.toolforge.org\n    Redirect 308 /wiper-languagetool https://wiper-languagetool.toolforge.org\n    Redirect 308 /withoutaname https://withoutaname.toolforge.org\n    Redirect 308 /wits https://wits.toolforge.org\n    Redirect 308 /wiwosm https://wiwosm.toolforge.org\n    Redirect 308 /wizarbot https://wizarbot.toolforge.org\n    Redirect 308 /wle https://wle.toolforge.org\n    Redirect 308 /wlm https://wlm.toolforge.org\n    Redirect 308 /wlm-analytics https://wlm-analytics.toolforge.org\n    Redirect gone /wlm-de-redirect\n    Redirect 308 /wlm-de-utils https://wlm-de-utils.toolforge.org\n    Redirect gone /wlmin\n    Redirect 308 /wlm-italy https://wlm-italy.toolforge.org\n    Redirect 308 /wlmitaly2019 https://wlmitaly2019.toolforge.org\n    Redirect 308 /wlmjudging https://wlmjudging.toolforge.org\n    Redirect gone /wlm-jury-at\n    Redirect gone /wlm-jury-yarl\n    Redirect 308 /wlm-maps https://wlm-maps.toolforge.org\n    Redirect 308 /wlm-nl-table-gen https://wlm-nl-table-gen.toolforge.org\n    Redirect 308 /wlmpacommonscat https://wlmpacommonscat.toolforge.org\n    Redirect 308 /wlm-stats https://wlm-stats.toolforge.org\n    Redirect 308 /wlmtrafo https://wlmtrafo.toolforge.org\n    Redirect 308 /wlmuk https://wlmuk.toolforge.org\n    Redirect gone /wlmus\n    Redirect 308 /wlm-us https://wlm-us.toolforge.org\n    Redirect 308 /wlxjury https://wlxjury.toolforge.org\n    Redirect 308 /wm-bot https://wm-bot.toolforge.org\n    Redirect 308 /wm-cee-spring https://wm-cee-spring.toolforge.org\n    Redirect 308 /wmcharts https://wmcharts.toolforge.org\n    Redirect 308 /wm-commons-emoji-bot https://wm-commons-emoji-bot.toolforge.org\n    Redirect 308 /wmcounter https://wmcounter.toolforge.org\n    Redirect gone /wmcsbot\n    Redirect 308 /wmcz https://wmcz.toolforge.org\n    Redirect 308 /wmde-access https://wmde-access.toolforge.org\n    Redirect gone /wmde-editconflict-test\n    Redirect gone /wmde-graphql-demo\n    Redirect gone /wmde-inline-movedparagraphs\n    Redirect gone /wmde-reference-previews\n    Redirect gone /wmde-uca-test\n    Redirect 308 /wmde-wd-team https://wmde-wd-team.toolforge.org\n    Redirect gone /wmfdbbot\n    Redirect gone /wmflabs-collection\n    Redirect 308 /wmf-sitematrix https://wmf-sitematrix.toolforge.org\n    Redirect gone /wmf-task-samtar\n    Redirect 308 /wmf-wiki-info https://wmf-wiki-info.toolforge.org\n    Redirect 308 /wmit https://wmit.toolforge.org\n    Redirect 308 /wmk-dev https://wmk-dev.toolforge.org\n    Redirect 308 /wmk-tools https://wmk-tools.toolforge.org\n    Redirect 308 /wm-metrics https://wm-metrics.toolforge.org\n    Redirect 308 /wmopbot https://wmopbot.toolforge.org\n    Redirect 308 /wmpt https://wmpt.toolforge.org\n    Redirect 308 /wmtran https://wmtran.toolforge.org\n    Redirect 308 /wmukevents https://wmukevents.toolforge.org\n    Redirect 308 /wmve https://wmve.toolforge.org\n    Redirect 308 /wmve-dev https://wmve-dev.toolforge.org\n    Redirect 308 /wm-ve-needcheck-reporter https://wm-ve-needcheck-reporter.toolforge.org\n    Redirect 308 /wnegar https://wnegar.toolforge.org\n    Redirect 308 /women-in-red https://women-in-red.toolforge.org\n    Redirect 308 /wordcount https://wordcount.toolforge.org\n    Redirect 308 /wordpile https://wordpile.toolforge.org\n    Redirect gone /wordtowiki\n    Redirect gone /wordtowiki-dev\n    Redirect 308 /worklist-tool https://worklist-tool.toolforge.org\n    Redirect gone /wpb\n    Redirect 308 /wpcleaner https://wpcleaner.toolforge.org\n    Redirect 308 /wpp https://wpp.toolforge.org\n    Redirect 308 /wprequests https://wprequests.toolforge.org\n    Redirect 308 /wp-signpost https://wp-signpost.toolforge.org\n    Redirect 308 /wptestblog https://wptestblog.toolforge.org\n    Redirect gone /wptestblog2\n    Redirect gone /wpv\n    Redirect 308 /wp-world https://wp-world.toolforge.org\n    Redirect 308 /wrating https://wrating.toolforge.org\n    Redirect 308 /wrcp https://wrcp.toolforge.org\n    Redirect gone /ws2wd\n    Redirect 308 /ws-cat-browser https://ws-cat-browser.toolforge.org\n    Redirect 308 /wscontest https://wscontest.toolforge.org\n    Redirect 308 /wsdetool https://wsdetool.toolforge.org\n    Redirect 308 /wsexport https://wsexport.toolforge.org\n    Redirect 308 /wsexport-test https://wsexport-test.toolforge.org\n    Redirect 308 /ws-google-ocr https://ws-google-ocr.toolforge.org\n    Redirect gone /w-slackbot\n    Redirect gone /wsm\n    Redirect 308 /ws-search https://ws-search.toolforge.org\n    Redirect 308 /wudele https://wudele.toolforge.org\n    Redirect 308 /wugbot https://wugbot.toolforge.org\n    Redirect 308 /www https://www.toolforge.org\n    Redirect gone /www-portal-builder\n    Redirect 308 /www-portal-staging https://www-portal-staging.toolforge.org\n    Redirect gone /wyimportbot\n    Redirect 308 /xdebugtesting https://xdebugtesting.toolforge.org\n    Redirect 308 /xdebugtesting1 https://xdebugtesting1.toolforge.org\n    Redirect 308 /xdebugtesting2 https://xdebugtesting2.toolforge.org\n    Redirect 308 /xecfork https://xecfork.toolforge.org\n    Redirect 308 /xfd-stats https://xfd-stats.toolforge.org\n    Redirect 308 /xiplus https://xiplus.toolforge.org\n    Redirect 308 /xlinkbot https://xlinkbot.toolforge.org\n    Redirect gone /xmlfeed\n    Redirect 308 /xn--dk8hv9g https://xn--dk8hv9g.toolforge.org\n    Redirect gone /xoxoxo-dev\n    Redirect 308 /xqtools https://xqtools.toolforge.org\n    Redirect gone /xslack\n    Redirect 308 /xstools https://xstools.toolforge.org\n    Redirect 308 /xtools https://xtools.toolforge.org\n    Redirect 308 /xtools-articleinfo https://xtools-articleinfo.toolforge.org\n    Redirect gone /xtools-autoedits\n    Redirect 308 /xtools-dev https://xtools-dev.toolforge.org\n    Redirect 308 /xtools-ec https://xtools-ec.toolforge.org\n    Redirect 308 /xtools-mab-dev https://xtools-mab-dev.toolforge.org\n    Redirect gone /xtools-pages\n    Redirect 308 /xxn-testtool https://xxn-testtool.toolforge.org\n    Redirect 308 /xxn-tools https://xxn-tools.toolforge.org\n    Redirect 308 /xyzbot https://xyzbot.toolforge.org\n    Redirect 308 /yabbr https://yabbr.toolforge.org\n    Redirect 308 /yabot https://yabot.toolforge.org\n    Redirect 308 /yacbot https://yacbot.toolforge.org\n    Redirect 308 /yadfa https://yadfa.toolforge.org\n    Redirect 308 /yadkard https://yadkard.toolforge.org\n    Redirect 308 /yapperbot https://yapperbot.toolforge.org\n    Redirect 308 /yarl https://yarl.toolforge.org\n    Redirect 308 /yashe https://yashe.toolforge.org\n    Redirect 308 /yellowbot https://yellowbot.toolforge.org\n    Redirect 308 /yellowcard https://yellowcard.toolforge.org\n    Redirect gone /yemen\n    Redirect 308 /yichengtry https://yichengtry.toolforge.org\n    Redirect 308 /yifeibot https://yifeibot.toolforge.org\n    Redirect 308 /yjsw https://yjsw.toolforge.org\n    Redirect 308 /youtube-channel https://youtube-channel.toolforge.org\n    Redirect 308 /ytcleaner https://ytcleaner.toolforge.org\n    Redirect gone /ytrb\n    Redirect gone /yunomi\n    Redirect 308 /zayenbot https://zayenbot.toolforge.org\n    Redirect 308 /zbot https://zbot.toolforge.org\n    Redirect 308 /zedlikbot https://zedlikbot.toolforge.org\n    Redirect 308 /zenithbot https://zenithbot.toolforge.org\n    Redirect 308 /zerabot https://zerabot.toolforge.org\n    Redirect 308 /zhaofeng-test https://zhaofeng-test.toolforge.org\n    Redirect 308 /zhdeletionpedia https://zhdeletionpedia.toolforge.org\n    Redirect gone /zhnotofu\n    Redirect 308 /zhtest https://zhtest.toolforge.org\n    Redirect 308 /zhuyifei1999-test https://zhuyifei1999-test.toolforge.org\n    Redirect 308 /zhwiki https://zhwiki.toolforge.org\n    Redirect 308 /zhwiki-qualifications-check https://zhwiki-qualifications-check.toolforge.org\n    Redirect 308 /zhwiki-teleirc https://zhwiki-teleirc.toolforge.org\n    Redirect 308 /zhwiki-username-check https://zhwiki-username-check.toolforge.org\n    Redirect 308 /zimmerbot https://zimmerbot.toolforge.org\n    Redirect 308 /zkbot https://zkbot.toolforge.org\n    Redirect 308 /zonestamp https://zonestamp.toolforge.org\n    Redirect 308 /zoomable-images https://zoomable-images.toolforge.org\n    Redirect 308 /zoomproof https://zoomproof.toolforge.org\n    Redirect 308 /zoomviewer https://zoomviewer.toolforge.org\n    Redirect gone /zoranzoki21bot\n    Redirect gone /zoranzoki21wiki\n    Redirect gone /zppixbot\n    Redirect gone /zppixbot-test\n    Redirect 308 /zumraband https://zumraband.toolforge.org\n    Redirect 308 /zurichpopulation https://zurichpopulation.toolforge.org\n    Redirect 308 /zygimantus-dev https://zygimantus-dev.toolforge.org\n    Redirect 308 /zygserv https://zygserv.toolforge.org\n\n    # This must be listed last given Apache processes Redirect rules in order.\n    # Also, do a 302 in case something goes horribly wrong with the rules before this.\n    Redirect 302 / https://toolforge.org/\n\n    CustomLog /var/log/apache2/tools.wmflabs.org-access.log wmf\n    ErrorLog /var/log/apache2/tools.wmflabs.org-error.log\n    LogLevel warn\n    ServerSignature Off\n</VirtualHost>\n\n<VirtualHost *:443>\n    ServerAdmin root@toolforge.org\n    ServerName tools.wmflabs.org\n\n    SSLEngine on\n    SSLCertificateFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.crt\n    SSLCertificateChainFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.chained.crt\n    SSLCertificateKeyFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.key\n    SSLProtocol all -SSLv2 -SSLv3\n    SSLCipherSuite -ALL:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA\n    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256\n    SSLHonorCipherOrder On\n    SSLOpenSSLConfCmd DHParameters \"/etc/ssl/dhparam.pem\"\n\n    Header always set Report-To '{\"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{\"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\"}]}'\n    Header always set NEL '{\"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}'\n\n    CustomLog /var/log/apache2/tools.wmflabs.org-access.log wmf\n    ErrorLog /var/log/apache2/tools.wmflabs.org-error.log\n    LogLevel warn\n    ServerSignature Off\n\n    # duplicated here and in the http section so it does only one request to our server\n    Redirect gone /a\n    Redirect gone /aaaaaa\n    Redirect 308 /aaabot https://aaabot.toolforge.org\n    Redirect 308 /abbe98tools https://abbe98tools.toolforge.org\n    Redirect 308 /abbreviso https://abbreviso.toolforge.org\n    Redirect 308 /abcgames https://abcgames.toolforge.org\n    Redirect 308 /abdumubot https://abdumubot.toolforge.org\n    Redirect 308 /abibot https://abibot.toolforge.org\n    Redirect 308 /abigor https://abigor.toolforge.org\n    Redirect 308 /abohadi https://abohadi.toolforge.org\n    Redirect 308 /abohadi1 https://abohadi1.toolforge.org\n    Redirect 308 /abot https://abot.toolforge.org\n    Redirect 308 /abricot https://abricot.toolforge.org\n    Redirect 308 /abshir https://abshir.toolforge.org\n    Redirect gone /abusereport\n    Redirect gone /account\n    Redirect 308 /account-creator https://account-creator.toolforge.org\n    Redirect gone /acc-utilities\n    Redirect 308 /ace2018 https://ace2018.toolforge.org\n    Redirect gone /acoustid\n    Redirect gone /activity\n    Redirect gone /actrial\n    Redirect gone /adas\n    Redirect 308 /add https://add.toolforge.org\n    Redirect gone /addbot\n    Redirect 308 /add-information https://add-information.toolforge.org\n    Redirect 308 /addscholartopics https://addscholartopics.toolforge.org\n    Redirect gone /addshore\n    Redirect gone /addshore-dev\n    Redirect 308 /add-text https://add-text.toolforge.org\n    Redirect 308 /admin https://admin.toolforge.org\n    Redirect 308 /admin-beta https://admin-beta.toolforge.org\n    Redirect 308 /adminstats https://adminstats.toolforge.org\n    Redirect 308 /admin-test https://admin-test.toolforge.org\n    Redirect 308 /advertisedetector https://advertisedetector.toolforge.org\n    Redirect 308 /aemisinfo https://aemisinfo.toolforge.org\n    Redirect 308 /afcbot https://afcbot.toolforge.org\n    Redirect 308 /afch https://afch.toolforge.org\n    Redirect 308 /afch-updater https://afch-updater.toolforge.org\n    Redirect gone /afc-research\n    Redirect 308 /afdstats https://afdstats.toolforge.org\n    Redirect 308 /afrobot https://afrobot.toolforge.org\n    Redirect gone /aftabbot\n    Redirect 308 /aftabbotbnwiki https://aftabbotbnwiki.toolforge.org\n    Redirect 308 /aharonitelegrambot002 https://aharonitelegrambot002.toolforge.org\n    Redirect 308 /ahechtbot https://ahechtbot.toolforge.org\n    Redirect 308 /aiko-citationhunt https://aiko-citationhunt.toolforge.org\n    Redirect 308 /air7538tools https://air7538tools.toolforge.org\n    Redirect 308 /aivanalysis https://aivanalysis.toolforge.org\n    Redirect 308 /aivhelperbot https://aivhelperbot.toolforge.org\n    Redirect 308 /ajapaik2commons https://ajapaik2commons.toolforge.org\n    Redirect 308 /akkakkbot https://akkakkbot.toolforge.org\n    Redirect 308 /alaabot https://alaabot.toolforge.org\n    Redirect gone /alan\n    Redirect 308 /alanajjar https://alanajjar.toolforge.org\n    Redirect 308 /alberobot https://alberobot.toolforge.org\n    Redirect 308 /alchimista https://alchimista.toolforge.org\n    Redirect 308 /aleph https://aleph.toolforge.org\n    Redirect 308 /alessiobot https://alessiobot.toolforge.org\n    Redirect 308 /alex https://alex.toolforge.org\n    Redirect 308 /alfa80 https://alfa80.toolforge.org\n    Redirect gone /algo-news\n    Redirect 308 /alkamidbot https://alkamidbot.toolforge.org\n    Redirect 308 /alphatest https://alphatest.toolforge.org\n    Redirect 308 /alphawakt https://alphawakt.toolforge.org\n    Redirect 308 /altobot https://altobot.toolforge.org\n    Redirect 308 /altostratus https://altostratus.toolforge.org\n    Redirect 308 /alvaro https://alvaro.toolforge.org\n    Redirect 308 /am https://am.toolforge.org\n    Redirect gone /amarbot\n    Redirect 308 /amdb https://amdb.toolforge.org\n    Redirect 308 /ameen https://ameen.toolforge.org\n    Redirect 308 /ameisenbot https://ameisenbot.toolforge.org\n    Redirect 308 /amorybot https://amorybot.toolforge.org\n    Redirect 308 /amstats https://amstats.toolforge.org\n    Redirect 308 /anagrimes https://anagrimes.toolforge.org\n    Redirect 308 /analytalks https://analytalks.toolforge.org\n    Redirect 308 /analytics https://analytics.toolforge.org\n    Redirect 308 /ananthrk-test https://ananthrk-test.toolforge.org\n    Redirect 308 /ancestors2 https://ancestors2.toolforge.org\n    Redirect gone /andrewtesttool\n    Redirect gone /android-maven-repo\n    Redirect 308 /android-sdk-builds https://android-sdk-builds.toolforge.org\n    Redirect 308 /andxor https://andxor.toolforge.org\n    Redirect 308 /aneun-sandbox https://aneun-sandbox.toolforge.org\n    Redirect gone /ankitbot\n    Redirect 308 /anni-me https://anni-me.toolforge.org\n    Redirect 308 /anno https://anno.toolforge.org\n    Redirect 308 /anomiebot https://anomiebot.toolforge.org\n    Redirect 308 /anon https://anon.toolforge.org\n    Redirect gone /anorange\n    Redirect 308 /anticompositebot https://anticompositebot.toolforge.org\n    Redirect 308 /anticompositetest https://anticompositetest.toolforge.org\n    Redirect 308 /anticompositetools https://anticompositetools.toolforge.org\n    Redirect gone /antigng\n    Redirect 308 /antigng-bot https://antigng-bot.toolforge.org\n    Redirect 308 /aobo https://aobo.toolforge.org\n    Redirect 308 /apersonbot https://apersonbot.toolforge.org\n    Redirect gone /api-citations\n    Redirect 308 /apps-gallery https://apps-gallery.toolforge.org\n    Redirect 308 /apt-browser https://apt-browser.toolforge.org\n    Redirect 308 /arambot https://arambot.toolforge.org\n    Redirect 308 /arbclerkbot https://arbclerkbot.toolforge.org\n    Redirect 308 /arcanist https://arcanist.toolforge.org\n    Redirect gone /archaeo\n    Redirect 308 /archiveleaf https://archiveleaf.toolforge.org\n    Redirect 308 /archivesearch https://archivesearch.toolforge.org\n    Redirect 308 /archive-things https://archive-things.toolforge.org\n    Redirect 308 /archive-things-1 https://archive-things-1.toolforge.org\n    Redirect 308 /archive-things-2 https://archive-things-2.toolforge.org\n    Redirect 308 /archive-things-3 https://archive-things-3.toolforge.org\n    Redirect 308 /archive-things-4 https://archive-things-4.toolforge.org\n    Redirect 308 /archiving https://archiving.toolforge.org\n    Redirect 308 /arelph https://arelph.toolforge.org\n    Redirect 308 /arkivbot https://arkivbot.toolforge.org\n    Redirect 308 /arnaubot https://arnaubot.toolforge.org\n    Redirect 308 /arowf https://arowf.toolforge.org\n    Redirect 308 /artemisia https://artemisia.toolforge.org\n    Redirect gone /article\n    Redirect gone /article2\n    Redirect 308 /article-creation-mapper https://article-creation-mapper.toolforge.org\n    Redirect 308 /article-ideas-generator https://article-ideas-generator.toolforge.org\n    Redirect 308 /article-interactions https://article-interactions.toolforge.org\n    Redirect gone /article-locations\n    Redirect 308 /articleplaceholderwiki https://articleplaceholderwiki.toolforge.org\n    Redirect 308 /articlerequest https://articlerequest.toolforge.org\n    Redirect 308 /articlerequest-dev https://articlerequest-dev.toolforge.org\n    Redirect 308 /articles-by-lat-lon-without-images https://articles-by-lat-lon-without-images.toolforge.org\n    Redirect 308 /articles-needing-links https://articles-needing-links.toolforge.org\n    Redirect 308 /articles-recommender https://articles-recommender.toolforge.org\n    Redirect gone /article-suggestion\n    Redirect 308 /artlist https://artlist.toolforge.org\n    Redirect 308 /artuploader https://artuploader.toolforge.org\n    Redirect gone /arturo-test-tool\n    Redirect 308 /asaifmbot https://asaifmbot.toolforge.org\n    Redirect 308 /ascal https://ascal.toolforge.org\n    Redirect gone /asdf\n    Redirect 308 /ashbot https://ashbot.toolforge.org\n    Redirect gone /ash-dev\n    Redirect 308 /ash-django https://ash-django.toolforge.org\n    Redirect 308 /ashotbot https://ashotbot.toolforge.org\n    Redirect 308 /ashottools https://ashottools.toolforge.org\n    Redirect 308 /as-info https://as-info.toolforge.org\n    Redirect 308 /as-info-dev https://as-info-dev.toolforge.org\n    Redirect gone /askbot-01\n    Redirect 308 /assamesecalendar https://assamesecalendar.toolforge.org\n    Redirect 308 /assamesetool https://assamesetool.toolforge.org\n    Redirect 308 /assessor https://assessor.toolforge.org\n    Redirect 308 /asurabot https://asurabot.toolforge.org\n    Redirect 308 /aswnbot https://aswnbot.toolforge.org\n    Redirect 308 /atiro https://atiro.toolforge.org\n    Redirect 308 /ato https://ato.toolforge.org\n    Redirect 308 /atriskwiki https://atriskwiki.toolforge.org\n    Redirect 308 /attribution https://attribution.toolforge.org\n    Redirect 308 /aude https://aude.toolforge.org\n    Redirect 308 /audetools https://audetools.toolforge.org\n    Redirect 308 /auth https://auth.toolforge.org\n    Redirect 308 /author-disambiguator https://author-disambiguator.toolforge.org\n    Redirect 308 /authorlang-game https://authorlang-game.toolforge.org\n    Redirect 308 /authors https://authors.toolforge.org\n    Redirect 308 /autodesc https://autodesc.toolforge.org\n    Redirect 308 /autolist https://autolist.toolforge.org\n    Redirect 308 /autometrics https://autometrics.toolforge.org\n    Redirect 308 /autopromote-status https://autopromote-status.toolforge.org\n    Redirect 308 /avicbot https://avicbot.toolforge.org\n    Redirect 308 /awb https://awb.toolforge.org\n    Redirect 308 /awmd-stats https://awmd-stats.toolforge.org\n    Redirect 308 /awstats https://awstats.toolforge.org\n    Redirect gone /axel\n    Redirect gone /a-z-p\n    Redirect gone /a-z-p-0-9-z\n    Redirect 308 /badges https://badges.toolforge.org\n    Redirect 308 /bajo https://bajo.toolforge.org\n    Redirect 308 /balasankarc https://balasankarc.toolforge.org\n    Redirect 308 /baljeetdhaliwal https://baljeetdhaliwal.toolforge.org\n    Redirect 308 /baljeetsingh https://baljeetsingh.toolforge.org\n    Redirect 308 /bambots https://bambots.toolforge.org\n    Redirect 308 /basebot https://basebot.toolforge.org\n    Redirect gone /base-encode\n    Redirect 308 /base-php-cli https://base-php-cli.toolforge.org\n    Redirect gone /basetool\n    Redirect 308 /bash https://bash.toolforge.org\n    Redirect gone /basyounybot\n    Redirect 308 /batchrevert https://batchrevert.toolforge.org\n    Redirect 308 /bawolff https://bawolff.toolforge.org\n    Redirect 308 /bays https://bays.toolforge.org\n    Redirect 308 /bbc-tv-cite https://bbc-tv-cite.toolforge.org\n    Redirect 308 /bcxfu75kbot https://bcxfu75kbot.toolforge.org\n    Redirect gone /bd808-k8smigrate\n    Redirect 308 /bd808-pywikibot https://bd808-pywikibot.toolforge.org\n    Redirect 308 /bd808-ruby https://bd808-ruby.toolforge.org\n    Redirect 308 /bd808-test https://bd808-test.toolforge.org\n    Redirect 308 /bd808-test2 https://bd808-test2.toolforge.org\n    Redirect gone /bd808-test3\n    Redirect gone /bd808-test4\n    Redirect 308 /beastiebot https://beastiebot.toolforge.org\n    Redirect 308 /become https://become.toolforge.org\n    Redirect 308 /beleg-tally https://beleg-tally.toolforge.org\n    Redirect gone /beleg-test-14568913402\n    Redirect 308 /bene https://bene.toolforge.org\n    Redirect 308 /benin1 https://benin1.toolforge.org\n    Redirect 308 /bennofsplay https://bennofsplay.toolforge.org\n    Redirect 308 /best-image https://best-image.toolforge.org\n    Redirect 308 /betabot https://betabot.toolforge.org\n    Redirect 308 /betacommand-dev https://betacommand-dev.toolforge.org\n    Redirect 308 /betaweb https://betaweb.toolforge.org\n    Redirect 308 /bibleversefinder https://bibleversefinder.toolforge.org\n    Redirect 308 /bibleversefinder2 https://bibleversefinder2.toolforge.org\n    Redirect 308 /bibliodata https://bibliodata.toolforge.org\n    Redirect 308 /bikeshed https://bikeshed.toolforge.org\n    Redirect 308 /bingle https://bingle.toolforge.org\n    Redirect 308 /bing-maps https://bing-maps.toolforge.org\n    Redirect 308 /bingo https://bingo.toolforge.org\n    Redirect 308 /bkllc https://bkllc.toolforge.org\n    Redirect 308 /bkstats-test https://bkstats-test.toolforge.org\n    Redirect 308 /blablabla https://blablabla.toolforge.org\n    Redirect 308 /blahma https://blahma.toolforge.org\n    Redirect 308 /blankpages https://blankpages.toolforge.org\n    Redirect 308 /bl-assist https://bl-assist.toolforge.org\n    Redirect 308 /bldrwnsch https://bldrwnsch.toolforge.org\n    Redirect 308 /blockcalc https://blockcalc.toolforge.org\n    Redirect 308 /blocklog https://blocklog.toolforge.org\n    Redirect 308 /blocksearch https://blocksearch.toolforge.org\n    Redirect 308 /blockyquery https://blockyquery.toolforge.org\n    Redirect 308 /blog https://blog.toolforge.org\n    Redirect gone /blogconverter\n    Redirect gone /blubber\n    Redirect 308 /bn-googleocr https://bn-googleocr.toolforge.org\n    Redirect 308 /bnwiki8 https://bnwiki8.toolforge.org\n    Redirect 308 /bomwiki https://bomwiki.toolforge.org\n    Redirect 308 /book2scroll https://book2scroll.toolforge.org\n    Redirect 308 /bookmanagerv2 https://bookmanagerv2.toolforge.org\n    Redirect 308 /bookreader https://bookreader.toolforge.org\n    Redirect 308 /books-for-binding https://books-for-binding.toolforge.org\n    Redirect 308 /booksplitter https://booksplitter.toolforge.org\n    Redirect 308 /bookworm https://bookworm.toolforge.org\n    Redirect 308 /booster https://booster.toolforge.org\n    Redirect 308 /borracho https://borracho.toolforge.org\n    Redirect 308 /bot24 https://bot24.toolforge.org\n    Redirect 308 /bot873 https://bot873.toolforge.org\n    Redirect 308 /botadventures https://botadventures.toolforge.org\n    Redirect 308 /bot-ash-nazg https://bot-ash-nazg.toolforge.org\n    Redirect 308 /boteas https://boteas.toolforge.org\n    Redirect 308 /bothasava https://bothasava.toolforge.org\n    Redirect 308 /botleo https://botleo.toolforge.org\n    Redirect 308 /botomatik https://botomatik.toolforge.org\n    Redirect 308 /botorder https://botorder.toolforge.org\n    Redirect 308 /botqa https://botqa.toolforge.org\n    Redirect 308 /botriconferme https://botriconferme.toolforge.org\n    Redirect 308 /botsister https://botsister.toolforge.org\n    Redirect 308 /botundo https://botundo.toolforge.org\n    Redirect 308 /botvegas https://botvegas.toolforge.org\n    Redirect 308 /botwatch https://botwatch.toolforge.org\n    Redirect 308 /botwikiawk https://botwikiawk.toolforge.org\n    Redirect 308 /boty https://boty.toolforge.org\n    Redirect 308 /bovlbbot https://bovlbbot.toolforge.org\n    Redirect 308 /bowleerin https://bowleerin.toolforge.org\n    Redirect gone /bracketbot\n    Redirect gone /brandonstools\n    Redirect 308 /brgroup https://brgroup.toolforge.org\n    Redirect 308 /bridgebot https://bridgebot.toolforge.org\n    Redirect 308 /bsaut https://bsaut.toolforge.org\n    Redirect gone /bstorm-tool\n    Redirect gone /bstorm-tool2\n    Redirect gone /bub\n    Redirect 308 /bub2 https://bub2.toolforge.org\n    Redirect 308 /bugello https://bugello.toolforge.org\n    Redirect 308 /bunykbot https://bunykbot.toolforge.org\n    Redirect 308 /bytesadded https://bytesadded.toolforge.org\n    Redirect 308 /calakbot https://calakbot.toolforge.org\n    Redirect 308 /calak-dev https://calak-dev.toolforge.org\n    Redirect 308 /calling-card https://calling-card.toolforge.org\n    Redirect 308 /camelbot https://camelbot.toolforge.org\n    Redirect gone /canary\n    Redirect 308 /canarybot https://canarybot.toolforge.org\n    Redirect 308 /captcha https://captcha.toolforge.org\n    Redirect 308 /captcha-dev https://captcha-dev.toolforge.org\n    Redirect 308 /cargo-hierarchy https://cargo-hierarchy.toolforge.org\n    Redirect 308 /catbot https://catbot.toolforge.org\n    Redirect 308 /catcompare https://catcompare.toolforge.org\n    Redirect 308 /categorie https://categorie.toolforge.org\n    Redirect 308 /category-by-uploaders https://category-by-uploaders.toolforge.org\n    Redirect 308 /catfood https://catfood.toolforge.org\n    Redirect gone /catgraph\n    Redirect gone /catgraph-jsonp\n    Redirect 308 /catimages https://catimages.toolforge.org\n    Redirect gone /catlive\n    Redirect gone /catmonitor\n    Redirect 308 /catnap https://catnap.toolforge.org\n    Redirect 308 /catrename https://catrename.toolforge.org\n    Redirect 308 /catscan2 https://catscan2.toolforge.org\n    Redirect 308 /catscan3 https://catscan3.toolforge.org\n    Redirect 308 /catscan-pop https://catscan-pop.toolforge.org\n    Redirect 308 /catscore https://catscore.toolforge.org\n    Redirect gone /catsize\n    Redirect 308 /cats-php https://cats-php.toolforge.org\n    Redirect 308 /catwatchbot https://catwatchbot.toolforge.org\n    Redirect 308 /cauchy https://cauchy.toolforge.org\n    Redirect 308 /cauchy7 https://cauchy7.toolforge.org\n    Redirect gone /cbench\n    Redirect gone /cbench2\n    Redirect gone /cbng-sql-1\n    Redirect gone /cbng-sql-2\n    Redirect gone /cbng-sql-3\n    Redirect gone /cbng-sql-4\n    Redirect gone /cbng-sql-5\n    Redirect gone /cbng-sql-6\n    Redirect 308 /ccm https://ccm.toolforge.org\n    Redirect 308 /cdnjs https://cdnjs.toolforge.org\n    Redirect 308 /cdnjs-beta https://cdnjs-beta.toolforge.org\n    Redirect 308 /cdrini-dev https://cdrini-dev.toolforge.org\n    Redirect 308 /centralnotice-bannergenerator https://centralnotice-bannergenerator.toolforge.org\n    Redirect 308 /cerabot https://cerabot.toolforge.org\n    Redirect 308 /cewbot https://cewbot.toolforge.org\n    Redirect gone /cgstat\n    Redirect 308 /chaoyueltry https://chaoyueltry.toolforge.org\n    Redirect 308 /charttableconverter https://charttableconverter.toolforge.org\n    Redirect gone /chat\n    Redirect gone /checkdictation-fa\n    Redirect 308 /checker https://checker.toolforge.org\n    Redirect gone /checklinks\n    Redirect 308 /checkpersondata https://checkpersondata.toolforge.org\n    Redirect 308 /checkwiki https://checkwiki.toolforge.org\n    Redirect 308 /chemobot https://chemobot.toolforge.org\n    Redirect 308 /chie-bot https://chie-bot.toolforge.org\n    Redirect 308 /chobot https://chobot.toolforge.org\n    Redirect 308 /chocobot https://chocobot.toolforge.org\n    Redirect 308 /churches https://churches.toolforge.org\n    Redirect 308 /ci https://ci.toolforge.org\n    Redirect 308 /cil2 https://cil2.toolforge.org\n    Redirect 308 /cipherbot https://cipherbot.toolforge.org\n    Redirect gone /citationbase\n    Redirect gone /citation-bot\n    Redirect 308 /citationdetective https://citationdetective.toolforge.org\n    Redirect gone /citationgraph\n    Redirect 308 /citationhunt https://citationhunt.toolforge.org\n    Redirect 308 /citations https://citations.toolforge.org\n    Redirect 308 /citations-dev https://citations-dev.toolforge.org\n    Redirect 308 /citation-template-filling https://citation-template-filling.toolforge.org\n    Redirect 308 /citeimage https://citeimage.toolforge.org\n    Redirect 308 /cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 308 /citeplato https://citeplato.toolforge.org\n    Redirect 308 /citer https://citer.toolforge.org\n    Redirect 308 /cite-web-helper https://cite-web-helper.toolforge.org\n    Redirect 308 /citing-bot https://citing-bot.toolforge.org\n    Redirect 308 /citytime https://citytime.toolforge.org\n    Redirect 308 /cleanup https://cleanup.toolforge.org\n    Redirect 308 /clickstream-api https://clickstream-api.toolforge.org\n    Redirect 308 /cloudvps https://cloudvps.toolforge.org\n    Redirect 308 /clpo13-flask https://clpo13-flask.toolforge.org\n    Redirect 308 /cluebot https://cluebot.toolforge.org\n    Redirect 308 /cluebot3 https://cluebot3.toolforge.org\n    Redirect 308 /cluebotng https://cluebotng.toolforge.org\n    Redirect 308 /cluebotng-staging https://cluebotng-staging.toolforge.org\n    Redirect gone /cluestuff\n    Redirect gone /clunk\n    Redirect 308 /cobain https://cobain.toolforge.org\n    Redirect 308 /cobot https://cobot.toolforge.org\n    Redirect 308 /cocubot https://cocubot.toolforge.org\n    Redirect 308 /cocytus https://cocytus.toolforge.org\n    Redirect 308 /code-essay https://code-essay.toolforge.org\n    Redirect 308 /codelookup https://codelookup.toolforge.org\n    Redirect 308 /codeqc https://codeqc.toolforge.org\n    Redirect 308 /codexbot https://codexbot.toolforge.org\n    Redirect 308 /coh https://coh.toolforge.org\n    Redirect gone /coi\n    Redirect 308 /coibot https://coibot.toolforge.org\n    Redirect gone /comidentgen\n    Redirect 308 /common-interests https://common-interests.toolforge.org\n    Redirect gone /commons\n    Redirect 308 /commons-aiuser https://commons-aiuser.toolforge.org\n    Redirect 308 /commons-android-app https://commons-android-app.toolforge.org\n    Redirect 308 /commons-app-stats https://commons-app-stats.toolforge.org\n    Redirect 308 /commons-app-web https://commons-app-web.toolforge.org\n    Redirect 308 /commonsarchive https://commonsarchive.toolforge.org\n    Redirect 308 /commons-campaign-commander https://commons-campaign-commander.toolforge.org\n    Redirect 308 /commonscategorycount https://commonscategorycount.toolforge.org\n    Redirect 308 /commons-coverage https://commons-coverage.toolforge.org\n    Redirect 308 /commons-delinquent https://commons-delinquent.toolforge.org\n    Redirect gone /commons_describer\n    Redirect 308 /commonsedge https://commonsedge.toolforge.org\n    Redirect 308 /commonsfairuseupload https://commonsfairuseupload.toolforge.org\n    Redirect 308 /commonshelper https://commonshelper.toolforge.org\n    Redirect gone /commonshelper2\n    Redirect gone /commonsinterwiki\n    Redirect 308 /commons-maintenance-bot https://commons-maintenance-bot.toolforge.org\n    Redirect 308 /commons-mass-description https://commons-mass-description.toolforge.org\n    Redirect 308 /commons-mass-description-test https://commons-mass-description-test.toolforge.org\n    Redirect gone /commons-mass-upload\n    Redirect 308 /commonsnotificationbot https://commonsnotificationbot.toolforge.org\n    Redirect 308 /commons-poty https://commons-poty.toolforge.org\n    Redirect gone /commonsuploadsum\n    Redirect gone /commons-video-clicks\n    Redirect 308 /commtech-commons https://commtech-commons.toolforge.org\n    Redirect gone /communityguidelines\n    Redirect 308 /community-tech-tools https://community-tech-tools.toolforge.org\n    Redirect 308 /compare-accounts https://compare-accounts.toolforge.org\n    Redirect 308 /completer https://completer.toolforge.org\n    Redirect 308 /comprende https://comprende.toolforge.org\n    Redirect 308 /congressedits https://congressedits.toolforge.org\n    Redirect 308 /connectivity https://connectivity.toolforge.org\n    Redirect 308 /contact https://contact.toolforge.org\n    Redirect 308 /contentcontributor https://contentcontributor.toolforge.org\n    Redirect 308 /content-gap https://content-gap.toolforge.org\n    Redirect 308 /continuitybot https://continuitybot.toolforge.org\n    Redirect 308 /contraband https://contraband.toolforge.org\n    Redirect 308 /contrabandapp https://contrabandapp.toolforge.org\n    Redirect 308 /contribgraph https://contribgraph.toolforge.org\n    Redirect 308 /contribstats https://contribstats.toolforge.org\n    Redirect gone /contributions-summary\n    Redirect 308 /contributionsurveyor https://contributionsurveyor.toolforge.org\n    Redirect 308 /contropedia https://contropedia.toolforge.org\n    Redirect 308 /convenient-discussions https://convenient-discussions.toolforge.org\n    Redirect 308 /convert https://convert.toolforge.org\n    Redirect 308 /coord https://coord.toolforge.org\n    Redirect 308 /copyclear https://copyclear.toolforge.org\n    Redirect 308 /copypatrol https://copypatrol.toolforge.org\n    Redirect 308 /copyvios https://copyvios.toolforge.org\n    Redirect gone /copywhat\n    Redirect gone /corenlp\n    Redirect gone /corhist\n    Redirect 308 /costar https://costar.toolforge.org\n    Redirect 308 /countcountbot https://countcountbot.toolforge.org\n    Redirect 308 /countcounttest https://countcounttest.toolforge.org\n    Redirect 308 /countryip https://countryip.toolforge.org\n    Redirect 308 /coursestats https://coursestats.toolforge.org\n    Redirect 308 /coverage https://coverage.toolforge.org\n    Redirect 308 /coverme https://coverme.toolforge.org\n    Redirect 308 /covid https://covid.toolforge.org\n    Redirect 308 /covid-obit https://covid-obit.toolforge.org\n    Redirect 308 /cp https://cp.toolforge.org\n    Redirect 308 /cpb https://cpb.toolforge.org\n    Redirect 308 /cradle https://cradle.toolforge.org\n    Redirect gone /crazyometer\n    Redirect gone /creatorlinks\n    Redirect 308 /crisis-response https://crisis-response.toolforge.org\n    Redirect gone /crocodylia\n    Redirect 308 /cropbot https://cropbot.toolforge.org\n    Redirect 308 /cropcrop https://cropcrop.toolforge.org\n    Redirect 308 /croptool https://croptool.toolforge.org\n    Redirect 308 /crossactivity https://crossactivity.toolforge.org\n    Redirect gone /crosswatch\n    Redirect 308 /crosswatch2019 https://crosswatch2019.toolforge.org\n    Redirect gone /crosswatch-monitoring\n    Redirect 308 /csbot https://csbot.toolforge.org\n    Redirect 308 /csfd https://csfd.toolforge.org\n    Redirect 308 /csp-report https://csp-report.toolforge.org\n    Redirect 308 /cssk https://cssk.toolforge.org\n    Redirect 308 /cuddle https://cuddle.toolforge.org\n    Redirect 308 /currentevents https://currentevents.toolforge.org\n    Redirect 308 /custom-utils https://custom-utils.toolforge.org\n    Redirect 308 /cvn https://cvn.toolforge.org\n    Redirect 308 /cvrminer https://cvrminer.toolforge.org\n    Redirect 308 /cyberbot https://cyberbot.toolforge.org\n    Redirect gone /cybertools\n    Redirect 308 /cyberworm https://cyberworm.toolforge.org\n    Redirect 308 /cydebot https://cydebot.toolforge.org\n    Redirect 308 /daahbot https://daahbot.toolforge.org\n    Redirect gone /dabsolver\n    Redirect 308 /dal https://dal.toolforge.org\n    Redirect 308 /danilo https://danilo.toolforge.org\n    Redirect 308 /danmicholobot https://danmicholobot.toolforge.org\n    Redirect 308 /dannys712-bot https://dannys712-bot.toolforge.org\n    Redirect 308 /danorton-dev https://danorton-dev.toolforge.org\n    Redirect 308 /dapete-dev https://dapete-dev.toolforge.org\n    Redirect 308 /dashboard https://dashboard.toolforge.org\n    Redirect 308 /database-reports https://database-reports.toolforge.org\n    Redirect 308 /datacon-schedule-app https://datacon-schedule-app.toolforge.org\n    Redirect gone /data-design-demo\n    Redirect 308 /datasets https://datasets.toolforge.org\n    Redirect 308 /dataviz https://dataviz.toolforge.org\n    Redirect 308 /datbot https://datbot.toolforge.org\n    Redirect gone /datbotcommons\n    Redirect 308 /dateien https://dateien.toolforge.org\n    Redirect 308 /david-tool https://david-tool.toolforge.org\n    Redirect 308 /davod https://davod.toolforge.org\n    Redirect gone /dawiki\n    Redirect 308 /dawikibot https://dawikibot.toolforge.org\n    Redirect 308 /dawikitool https://dawikitool.toolforge.org\n    Redirect gone /db\n    Redirect 308 /dbbot https://dbbot.toolforge.org\n    Redirect 308 /dbreps https://dbreps.toolforge.org\n    Redirect 308 /dbreps-uk https://dbreps-uk.toolforge.org\n    Redirect gone /ddescriptions\n    Redirect 308 /deadlinkfinder https://deadlinkfinder.toolforge.org\n    Redirect 308 /deadlinks https://deadlinks.toolforge.org\n    Redirect 308 /death-anomalies https://death-anomalies.toolforge.org\n    Redirect gone /declare\n    Redirect gone /deep-learning-services\n    Redirect 308 /defconbot https://defconbot.toolforge.org\n    Redirect gone /dekel\n    Redirect 308 /delinker https://delinker.toolforge.org\n    Redirect 308 /dellie https://dellie.toolforge.org\n    Redirect 308 /deltabot https://deltabot.toolforge.org\n    Redirect 308 /deltaquad-bots https://deltaquad-bots.toolforge.org\n    Redirect 308 /demibot https://demibot.toolforge.org\n    Redirect 308 /demo-unicorn https://demo-unicorn.toolforge.org\n    Redirect 308 /denisa https://denisa.toolforge.org\n    Redirect 308 /denkmalbot https://denkmalbot.toolforge.org\n    Redirect 308 /denkmalliste https://denkmalliste.toolforge.org\n    Redirect 308 /depiction-game https://depiction-game.toolforge.org\n    Redirect 308 /depictions https://depictions.toolforge.org\n    Redirect 308 /depicts https://depicts.toolforge.org\n    Redirect 308 /deprecated-fixer-bot https://deprecated-fixer-bot.toolforge.org\n    Redirect 308 /derivative https://derivative.toolforge.org\n    Redirect 308 /desh https://desh.toolforge.org\n    Redirect gone /design-research-methods\n    Redirect gone /deskana\n    Redirect gone /deskana2\n    Redirect 308 /detox https://detox.toolforge.org\n    Redirect gone /detoxresearch\n    Redirect gone /devlibrarycard\n    Redirect 308 /devyasha https://devyasha.toolforge.org\n    Redirect 308 /devys https://devys.toolforge.org\n    Redirect 308 /dewikigreetbot https://dewikigreetbot.toolforge.org\n    Redirect 308 /dewikinews-rss https://dewikinews-rss.toolforge.org\n    Redirect 308 /dewikivpncheck https://dewikivpncheck.toolforge.org\n    Redirect 308 /dewkin https://dewkin.toolforge.org\n    Redirect gone /dewpmonobookupdater\n    Redirect 308 /dexbot https://dexbot.toolforge.org\n    Redirect gone /dexibotnet\n    Redirect gone /dibot\n    Redirect 308 /dibyadutta https://dibyadutta.toolforge.org\n    Redirect 308 /dicompte https://dicompte.toolforge.org\n    Redirect 308 /digero https://digero.toolforge.org\n    Redirect gone /digitaltmuseum\n    Redirect 308 /dijkstrasproject https://dijkstrasproject.toolforge.org\n    Redirect 308 /dimastbkbot https://dimastbkbot.toolforge.org\n    Redirect 308 /dimensioner https://dimensioner.toolforge.org\n    Redirect 308 /dioceses https://dioceses.toolforge.org\n    Redirect 308 /directory https://directory.toolforge.org\n    Redirect 308 /disambinator https://disambinator.toolforge.org\n    Redirect 308 /disclaim https://disclaim.toolforge.org\n    Redirect gone /discogs2pistes\n    Redirect gone /discord-irc\n    Redirect gone /discordwiki\n    Redirect 308 /dispatcher https://dispatcher.toolforge.org\n    Redirect 308 /dispenser https://dispenser.toolforge.org\n    Redirect 308 /dixondbot https://dixondbot.toolforge.org\n    Redirect 308 /dixtosa https://dixtosa.toolforge.org\n    Redirect 308 /dluxbot https://dluxbot.toolforge.org\n    Redirect 308 /dna https://dna.toolforge.org\n    Redirect 308 /dnbtools https://dnbtools.toolforge.org\n    Redirect 308 /dockerregistry https://dockerregistry.toolforge.org\n    Redirect 308 /docker-registry https://docker-registry.toolforge.org\n    Redirect 308 /doi-bot https://doi-bot.toolforge.org\n    Redirect gone /douglasbot\n    Redirect 308 /dow https://dow.toolforge.org\n    Redirect 308 /dpkg https://dpkg.toolforge.org\n    Redirect 308 /dplbot https://dplbot.toolforge.org\n    Redirect 308 /draftifyhistory https://draftifyhistory.toolforge.org\n    Redirect gone /draft-uncategorize-script\n    Redirect gone /dramaboard\n    Redirect 308 /drawshield https://drawshield.toolforge.org\n    Redirect 308 /drbot https://drbot.toolforge.org\n    Redirect 308 /dreamyjazzbot https://dreamyjazzbot.toolforge.org\n    Redirect 308 /drewbot https://drewbot.toolforge.org\n    Redirect 308 /dribper https://dribper.toolforge.org\n    Redirect 308 /drini https://drini.toolforge.org\n    Redirect 308 /droog https://droog.toolforge.org\n    Redirect gone /drtrigonbot\n    Redirect 308 /drvstats https://drvstats.toolforge.org\n    Redirect 308 /dschwenbot https://dschwenbot.toolforge.org\n    Redirect gone /dspull\n    Redirect 308 /dtz https://dtz.toolforge.org\n    Redirect 308 /dumpcattree https://dumpcattree.toolforge.org\n    Redirect gone /dumpscan\n    Redirect gone /dump-torrents\n    Redirect 308 /dupdet https://dupdet.toolforge.org\n    Redirect 308 /duplicate-coords https://duplicate-coords.toolforge.org\n    Redirect 308 /duplicatehunter https://duplicatehunter.toolforge.org\n    Redirect gone /durl-shortener\n    Redirect 308 /dutchbot https://dutchbot.toolforge.org\n    Redirect 308 /dvorapabot https://dvorapabot.toolforge.org\n    Redirect 308 /dvtbot https://dvtbot.toolforge.org\n    Redirect 308 /dykautobot https://dykautobot.toolforge.org\n    Redirect 308 /dykbot https://dykbot.toolforge.org\n    Redirect 308 /dykfeed https://dykfeed.toolforge.org\n    Redirect 308 /dykmoverbot https://dykmoverbot.toolforge.org\n    Redirect 308 /dykstats https://dykstats.toolforge.org\n    Redirect 308 /dynamicbot https://dynamicbot.toolforge.org\n    Redirect 308 /dynbot-srv1 https://dynbot-srv1.toolforge.org\n    Redirect 308 /dynbot-srv2 https://dynbot-srv2.toolforge.org\n    Redirect 308 /eagerbot https://eagerbot.toolforge.org\n    Redirect 308 /eagleeye https://eagleeye.toolforge.org\n    Redirect 308 /earwigbot https://earwigbot.toolforge.org\n    Redirect 308 /earwig-dev https://earwig-dev.toolforge.org\n    Redirect 308 /eatchabot https://eatchabot.toolforge.org\n    Redirect 308 /eathom https://eathom.toolforge.org\n    Redirect gone /ebrahim-dev\n    Redirect gone /ebraminio-dev\n    Redirect 308 /ecmabot https://ecmabot.toolforge.org\n    Redirect 308 /edcounter https://edcounter.toolforge.org\n    Redirect 308 /edgars https://edgars.toolforge.org\n    Redirect 308 /edgarsdev https://edgarsdev.toolforge.org\n    Redirect gone /edin\n    Redirect 308 /edinbot https://edinbot.toolforge.org\n    Redirect gone /edinc\n    Redirect 308 /editathonstat https://editathonstat.toolforge.org\n    Redirect 308 /editcompare https://editcompare.toolforge.org\n    Redirect gone /edit-counter\n    Redirect 308 /editcount-fr https://editcount-fr.toolforge.org\n    Redirect gone /editcountitis\n    Redirect gone /editful\n    Redirect 308 /editgroups https://editgroups.toolforge.org\n    Redirect 308 /editor-retention-dashboard https://editor-retention-dashboard.toolforge.org\n    Redirect gone /edits\n    Redirect gone /editsynergy\n    Redirect 308 /efenbot https://efenbot.toolforge.org\n    Redirect gone /elasticdash\n    Redirect 308 /elobot https://elobot.toolforge.org\n    Redirect gone /elph\n    Redirect 308 /elvisor https://elvisor.toolforge.org\n    Redirect 308 /emausbot https://emausbot.toolforge.org\n    Redirect 308 /embeddeddata https://embeddeddata.toolforge.org\n    Redirect 308 /embeddedincount https://embeddedincount.toolforge.org\n    Redirect 308 /emijrpbot https://emijrpbot.toolforge.org\n    Redirect 308 /emoociev https://emoociev.toolforge.org\n    Redirect 308 /enbbsb https://enbbsb.toolforge.org\n    Redirect 308 /enboten https://enboten.toolforge.org\n    Redirect 308 /endumen https://endumen.toolforge.org\n    Redirect 308 /energybot https://energybot.toolforge.org\n    Redirect 308 /enet https://enet.toolforge.org\n    Redirect gone /enett\n    Redirect 308 /enhourly https://enhourly.toolforge.org\n    Redirect 308 /enterpriseybot-rs https://enterpriseybot-rs.toolforge.org\n    Redirect 308 /entsuggest https://entsuggest.toolforge.org\n    Redirect 308 /enwiki-user-edits https://enwiki-user-edits.toolforge.org\n    Redirect 308 /enwiktdefns https://enwiktdefns.toolforge.org\n    Redirect 308 /enwnbot https://enwnbot.toolforge.org\n    Redirect 308 /enwp10 https://enwp10.toolforge.org\n    Redirect 308 /eranbot https://eranbot.toolforge.org\n    Redirect 308 /erex-yomi https://erex-yomi.toolforge.org\n    Redirect 308 /erwin85 https://erwin85.toolforge.org\n    Redirect 308 /esbackup https://esbackup.toolforge.org\n    Redirect 308 /esfichataxon https://esfichataxon.toolforge.org\n    Redirect 308 /etools https://etools.toolforge.org\n    Redirect 308 /etwelvetest https://etwelvetest.toolforge.org\n    Redirect 308 /etwikibots https://etwikibots.toolforge.org\n    Redirect gone /etwikt\n    Redirect 308 /etytree https://etytree.toolforge.org\n    Redirect 308 /eulenwiki https://eulenwiki.toolforge.org\n    Redirect 308 /eulenwiki2 https://eulenwiki2.toolforge.org\n    Redirect 308 /eulenwiki3 https://eulenwiki3.toolforge.org\n    Redirect 308 /event-live-session https://event-live-session.toolforge.org\n    Redirect 308 /event-streams https://event-streams.toolforge.org\n    Redirect 308 /every https://every.toolforge.org\n    Redirect gone /every-other-wiki-has\n    Redirect gone /everythingisconnected\n    Redirect gone /exambot\n    Redirect 308 /excel2wiki https://excel2wiki.toolforge.org\n    Redirect gone /experimental-embeddings\n    Redirect gone /exportpdf\n    Redirect 308 /expose-data https://expose-data.toolforge.org\n    Redirect gone /extdist\n    Redirect gone /extensionservice\n    Redirect gone /externalitemsuggester\n    Redirect 308 /extjsonuploader https://extjsonuploader.toolforge.org\n    Redirect 308 /ext-lnk-discover https://ext-lnk-discover.toolforge.org\n    Redirect 308 /extreg-wos https://extreg-wos.toolforge.org\n    Redirect 308 /extreme https://extreme.toolforge.org\n    Redirect 308 /fab https://fab.toolforge.org\n    Redirect gone /fab-proxy\n    Redirect 308 /facebook-messenger-chatbot https://facebook-messenger-chatbot.toolforge.org\n    Redirect 308 /faces https://faces.toolforge.org\n    Redirect 308 /fa-checkwiki https://fa-checkwiki.toolforge.org\n    Redirect 308 /faebot https://faebot.toolforge.org\n    Redirect 308 /fajrbot https://fajrbot.toolforge.org\n    Redirect 308 /family https://family.toolforge.org\n    Redirect 308 /farhangestan https://farhangestan.toolforge.org\n    Redirect 308 /farotbot https://farotbot.toolforge.org\n    Redirect gone /farticle\n    Redirect gone /fastilybot\n    Redirect gone /fastilybot-reports\n    Redirect 308 /fatameh https://fatameh.toolforge.org\n    Redirect 308 /fatemi https://fatemi.toolforge.org\n    Redirect 308 /fatg https://fatg.toolforge.org\n    Redirect 308 /fawikiauto https://fawikiauto.toolforge.org\n    Redirect 308 /fawiki-editathon https://fawiki-editathon.toolforge.org\n    Redirect 308 /fb-translate-bot https://fb-translate-bot.toolforge.org\n    Redirect gone /fc-importer\n    Redirect gone /featured-article\n    Redirect 308 /femiwiki https://femiwiki.toolforge.org\n    Redirect 308 /fengtools https://fengtools.toolforge.org\n    Redirect 308 /ferdibot https://ferdibot.toolforge.org\n    Redirect 308 /ffbot https://ffbot.toolforge.org\n    Redirect gone /fikarummet\n    Redirect 308 /filedupes https://filedupes.toolforge.org\n    Redirect 308 /file-reuse https://file-reuse.toolforge.org\n    Redirect 308 /file-reuse-piwik https://file-reuse-piwik.toolforge.org\n    Redirect gone /file-reuse-review\n    Redirect 308 /file-reuse-test https://file-reuse-test.toolforge.org\n    Redirect gone /filesearch\n    Redirect 308 /file-siblings https://file-siblings.toolforge.org\n    Redirect 308 /find-and-replace https://find-and-replace.toolforge.org\n    Redirect 308 /findit https://findit.toolforge.org\n    Redirect 308 /fingerprint https://fingerprint.toolforge.org\n    Redirect 308 /fireflydev https://fireflydev.toolforge.org\n    Redirect 308 /firefly-maintainer1 https://firefly-maintainer1.toolforge.org\n    Redirect 308 /fireflytools https://fireflytools.toolforge.org\n    Redirect 308 /firmenbuch https://firmenbuch.toolforge.org\n    Redirect 308 /first-paragraph-readability https://first-paragraph-readability.toolforge.org\n    Redirect 308 /fischbot https://fischbot.toolforge.org\n    Redirect 308 /fist https://fist.toolforge.org\n    Redirect gone /five-million\n    Redirect 308 /fiwiki-tools https://fiwiki-tools.toolforge.org\n    Redirect gone /fixdatebot\n    Redirect gone /flaggedrevspromotioncheck\n    Redirect gone /flaky-ci\n    Redirect 308 /flickr https://flickr.toolforge.org\n    Redirect 308 /flickr2commons https://flickr2commons.toolforge.org\n    Redirect 308 /flickrdash https://flickrdash.toolforge.org\n    Redirect 308 /flickr-rss https://flickr-rss.toolforge.org\n    Redirect 308 /flossbrowser https://flossbrowser.toolforge.org\n    Redirect 308 /fn https://fn.toolforge.org\n    Redirect 308 /fontcdn https://fontcdn.toolforge.org\n    Redirect gone /footygen\n    Redirect 308 /forrestbot https://forrestbot.toolforge.org\n    Redirect gone /foundation\n    Redirect 308 /fountain https://fountain.toolforge.org\n    Redirect 308 /fountain-test https://fountain-test.toolforge.org\n    Redirect 308 /fourohfour https://fourohfour.toolforge.org\n    Redirect 308 /fpbot https://fpbot.toolforge.org\n    Redirect 308 /fpcbot https://fpcbot.toolforge.org\n    Redirect 308 /fpcstats https://fpcstats.toolforge.org\n    Redirect 308 /framabot https://framabot.toolforge.org\n    Redirect 308 /freddy2001 https://freddy2001.toolforge.org\n    Redirect 308 /freebase https://freebase.toolforge.org\n    Redirect 308 /freefiles https://freefiles.toolforge.org\n    Redirect 308 /fretties https://fretties.toolforge.org\n    Redirect 308 /friskobot https://friskobot.toolforge.org\n    Redirect 308 /friybot https://friybot.toolforge.org\n    Redirect 308 /fronds https://fronds.toolforge.org\n    Redirect gone /fr-wikiversity\n    Redirect 308 /fr-wikiversity-ns https://fr-wikiversity-ns.toolforge.org\n    Redirect 308 /fscbot https://fscbot.toolforge.org\n    Redirect 308 /fshbibbot https://fshbibbot.toolforge.org\n    Redirect 308 /ft https://ft.toolforge.org\n    Redirect 308 /ftl https://ftl.toolforge.org\n    Redirect 308 /ftools https://ftools.toolforge.org\n    Redirect gone /fubar\n    Redirect gone /fun\n    Redirect 308 /fundraising-tools https://fundraising-tools.toolforge.org\n    Redirect 308 /furutani https://furutani.toolforge.org\n    Redirect 308 /fvcbot https://fvcbot.toolforge.org\n    Redirect 308 /g13bot https://g13bot.toolforge.org\n    Redirect 308 /gabrielchihonglee-bot https://gabrielchihonglee-bot.toolforge.org\n    Redirect 308 /gaelan-bot https://gaelan-bot.toolforge.org\n    Redirect 308 /gallery https://gallery.toolforge.org\n    Redirect 308 /gallica https://gallica.toolforge.org\n    Redirect 308 /galobot https://galobot.toolforge.org\n    Redirect 308 /ganreportbot https://ganreportbot.toolforge.org\n    Redirect gone /gblrenamemon\n    Redirect gone /gdk-artists-research\n    Redirect 308 /geekbot https://geekbot.toolforge.org\n    Redirect 308 /gendergapdashboard https://gendergapdashboard.toolforge.org\n    Redirect 308 /genealogy https://genealogy.toolforge.org\n    Redirect 308 /genedb https://genedb.toolforge.org\n    Redirect gone /gennfs\n    Redirect 308 /geocommons https://geocommons.toolforge.org\n    Redirect gone /geodata\n    Redirect 308 /geograph2commons https://geograph2commons.toolforge.org\n    Redirect 308 /geohack https://geohack.toolforge.org\n    Redirect gone /geoloc\n    Redirect 308 /geonotice https://geonotice.toolforge.org\n    Redirect 308 /geophotoreq https://geophotoreq.toolforge.org\n    Redirect 308 /geoplotter https://geoplotter.toolforge.org\n    Redirect 308 /gerakibot https://gerakibot.toolforge.org\n    Redirect 308 /gerakitools https://gerakitools.toolforge.org\n    Redirect 308 /germancon-mobile https://germancon-mobile.toolforge.org\n    Redirect 308 /germancontributioncounts https://germancontributioncounts.toolforge.org\n    Redirect 308 /gerrit-avatar-uploader https://gerrit-avatar-uploader.toolforge.org\n    Redirect 308 /gerrit-newcomer-bot https://gerrit-newcomer-bot.toolforge.org\n    Redirect 308 /gerrit-patch-uploader https://gerrit-patch-uploader.toolforge.org\n    Redirect 308 /gerrit-reports https://gerrit-reports.toolforge.org\n    Redirect 308 /gerrit-reviewer-bot https://gerrit-reviewer-bot.toolforge.org\n    Redirect gone /gerrit-to-redis\n    Redirect gone /getsentry\n    Redirect 308 /ggu https://ggu.toolforge.org\n    Redirect 308 /giftbot https://giftbot.toolforge.org\n    Redirect 308 /giftpast https://giftpast.toolforge.org\n    Redirect 308 /giovannitool https://giovannitool.toolforge.org\n    Redirect 308 /gir https://gir.toolforge.org\n    Redirect 308 /giraffe https://giraffe.toolforge.org\n    Redirect 308 /github https://github.toolforge.org\n    Redirect 308 /github-notif-bot https://github-notif-bot.toolforge.org\n    Redirect 308 /github-pr-closer https://github-pr-closer.toolforge.org\n    Redirect 308 /githubstats https://githubstats.toolforge.org\n    Redirect 308 /glaisher https://glaisher.toolforge.org\n    Redirect 308 /glam2commons https://glam2commons.toolforge.org\n    Redirect 308 /glamalign https://glamalign.toolforge.org\n    Redirect 308 /glamify https://glamify.toolforge.org\n    Redirect 308 /glamingest https://glamingest.toolforge.org\n    Redirect 308 /glamorous-maintenance https://glamorous-maintenance.toolforge.org\n    Redirect 308 /glamtools https://glamtools.toolforge.org\n    Redirect 308 /globalcsd https://globalcsd.toolforge.org\n    Redirect 308 /globaleditcounter https://globaleditcounter.toolforge.org\n    Redirect 308 /global-pandas https://global-pandas.toolforge.org\n    Redirect gone /globalprefs\n    Redirect 308 /globalsearch https://globalsearch.toolforge.org\n    Redirect 308 /global-search https://global-search.toolforge.org\n    Redirect 308 /global-search-test https://global-search-test.toolforge.org\n    Redirect 308 /globalusagecount https://globalusagecount.toolforge.org\n    Redirect 308 /global-wiki-tools https://global-wiki-tools.toolforge.org\n    Redirect 308 /gmt https://gmt.toolforge.org\n    Redirect gone /gns\n    Redirect 308 /gnubotmarcoo https://gnubotmarcoo.toolforge.org\n    Redirect 308 /goatid https://goatid.toolforge.org\n    Redirect gone /goblinbot4\n    Redirect gone /goodarticle\n    Redirect 308 /goodarticlebot https://goodarticlebot.toolforge.org\n    Redirect 308 /goodbot https://goodbot.toolforge.org\n    Redirect gone /google-drive-photos-to-commons\n    Redirect 308 /goransmtool https://goransmtool.toolforge.org\n    Redirect 308 /gorlingor https://gorlingor.toolforge.org\n    Redirect gone /governance-timeline\n    Redirect 308 /gpsexif https://gpsexif.toolforge.org\n    Redirect 308 /gpy https://gpy.toolforge.org\n    Redirect 308 /grafana https://grafana.toolforge.org\n    Redirect gone /grafana-json-datasource\n    Redirect 308 /graham87 https://graham87.toolforge.org\n    Redirect 308 /graminbot https://graminbot.toolforge.org\n    Redirect 308 /granitstein https://granitstein.toolforge.org\n    Redirect 308 /grantmaking https://grantmaking.toolforge.org\n    Redirect 308 /grantmetrics https://grantmetrics.toolforge.org\n    Redirect 308 /grantmetrics-test https://grantmetrics-test.toolforge.org\n    Redirect 308 /grantsbot https://grantsbot.toolforge.org\n    Redirect 308 /grapedog https://grapedog.toolforge.org\n    Redirect 308 /graphql https://graphql.toolforge.org\n    Redirect 308 /gratitude https://gratitude.toolforge.org\n    Redirect 308 /grep https://grep.toolforge.org\n    Redirect gone /gridengine-status\n    Redirect gone /grid-jobs\n    Redirect 308 /grillitus https://grillitus.toolforge.org\n    Redirect 308 /grouplens https://grouplens.toolforge.org\n    Redirect 308 /gsoc https://gsoc.toolforge.org\n    Redirect gone /gsoc-dev\n    Redirect gone /gsociftttdev\n    Redirect 308 /gsoc-ifttt-dev https://gsoc-ifttt-dev.toolforge.org\n    Redirect 308 /gsoc-petscan-query-articles https://gsoc-petscan-query-articles.toolforge.org\n    Redirect 308 /gsoc-worklist-tool https://gsoc-worklist-tool.toolforge.org\n    Redirect gone /gtirloni-sandbox\n    Redirect 308 /guc https://guc.toolforge.org\n    Redirect 308 /gulp https://gulp.toolforge.org\n    Redirect 308 /gun-wd https://gun-wd.toolforge.org\n    Redirect 308 /gurmukhispell https://gurmukhispell.toolforge.org\n    Redirect gone /gutrs\n    Redirect 308 /gyan https://gyan.toolforge.org\n    Redirect 308 /h2bot https://h2bot.toolforge.org\n    Redirect gone /hackmd\n    Redirect 308 /hackprowiki https://hackprowiki.toolforge.org\n    Redirect 308 /hall-of-fame https://hall-of-fame.toolforge.org\n    Redirect 308 /hamishbot https://hamishbot.toolforge.org\n    Redirect gone /harejtest\n    Redirect 308 /hartman https://hartman.toolforge.org\n    Redirect gone /harvesting-data-rafinery\n    Redirect 308 /harvesting-data-refinery https://harvesting-data-refinery.toolforge.org\n    Redirect 308 /hashtags https://hashtags.toolforge.org\n    Redirect 308 /hashtags-hub https://hashtags-hub.toolforge.org\n    Redirect 308 /hashtags-test https://hashtags-test.toolforge.org\n    Redirect 308 /hashtagwatcher https://hashtagwatcher.toolforge.org\n    Redirect gone /hassen\n    Redirect gone /hastagwatcher\n    Redirect 308 /hasteurbot https://hasteurbot.toolforge.org\n    Redirect 308 /hat-collector https://hat-collector.toolforge.org\n    Redirect 308 /hatjitsu https://hatjitsu.toolforge.org\n    Redirect 308 /hauki https://hauki.toolforge.org\n    Redirect 308 /hawk-eye-bot https://hawk-eye-bot.toolforge.org\n    Redirect 308 /hay https://hay.toolforge.org\n    Redirect 308 /hazard-bot https://hazard-bot.toolforge.org\n    Redirect 308 /hcclab https://hcclab.toolforge.org\n    Redirect 308 /hd https://hd.toolforge.org\n    Redirect 308 /hebbot https://hebbot.toolforge.org\n    Redirect 308 /heimdall https://heimdall.toolforge.org\n    Redirect 308 /heinterwiki https://heinterwiki.toolforge.org\n    Redirect 308 /hello-play https://hello-play.toolforge.org\n    Redirect 308 /help https://help.toolforge.org\n    Redirect 308 /helpearwigbot https://helpearwigbot.toolforge.org\n    Redirect 308 /helperbot https://helperbot.toolforge.org\n    Redirect 308 /helperpad https://helperpad.toolforge.org\n    Redirect 308 /hennalabs https://hennalabs.toolforge.org\n    Redirect 308 /herculebot https://herculebot.toolforge.org\n    Redirect 308 /heritage https://heritage.toolforge.org\n    Redirect gone /hermes\n    Redirect 308 /hersfold-hacb https://hersfold-hacb.toolforge.org\n    Redirect 308 /hersfold-irc https://hersfold-irc.toolforge.org\n    Redirect 308 /hersfold-web https://hersfold-web.toolforge.org\n    Redirect 308 /hewiki-tools https://hewiki-tools.toolforge.org\n    Redirect gone /he-wiktionary-rule-checker\n    Redirect gone /hexacore\n    Redirect 308 /hgztools https://hgztools.toolforge.org\n    Redirect 308 /himo https://himo.toolforge.org\n    Redirect 308 /hinotetools https://hinotetools.toolforge.org\n    Redirect gone /hippietest\n    Redirect 308 /hirise https://hirise.toolforge.org\n    Redirect 308 /historicmaps https://historicmaps.toolforge.org\n    Redirect gone /historyview\n    Redirect 308 /histsearch https://histsearch.toolforge.org\n    Redirect 308 /hiw-bot https://hiw-bot.toolforge.org\n    Redirect 308 /hiwiki https://hiwiki.toolforge.org\n    Redirect 308 /hjhhg https://hjhhg.toolforge.org\n    Redirect gone /hkjacksonhk-bot\n    Redirect gone /hll\n    Redirect 308 /holidays-viewer https://holidays-viewer.toolforge.org\n    Redirect 308 /honeypot95 https://honeypot95.toolforge.org\n    Redirect 308 /hoo https://hoo.toolforge.org\n    Redirect gone /hoo-propertysuggester-test\n    Redirect gone /hostbot\n    Redirect 308 /hotarticles https://hotarticles.toolforge.org\n    Redirect 308 /hroest https://hroest.toolforge.org\n    Redirect 308 /hroest2 https://hroest2.toolforge.org\n    Redirect 308 /hroest3 https://hroest3.toolforge.org\n    Redirect 308 /hrwiki https://hrwiki.toolforge.org\n    Redirect 308 /hsfbot https://hsfbot.toolforge.org\n    Redirect 308 /hss https://hss.toolforge.org\n    Redirect 308 /htools https://htools.toolforge.org\n    Redirect 308 /hub https://hub.toolforge.org\n    Redirect 308 /huggle https://huggle.toolforge.org\n    Redirect 308 /huji https://huji.toolforge.org\n    Redirect gone /hujibot\n    Redirect 308 /huntleybots https://huntleybots.toolforge.org\n    Redirect 308 /huwiki https://huwiki.toolforge.org\n    Redirect 308 /hylabels https://hylabels.toolforge.org\n    Redirect 308 /hypobot https://hypobot.toolforge.org\n    Redirect 308 /iabot https://iabot.toolforge.org\n    Redirect 308 /iacrop https://iacrop.toolforge.org\n    Redirect 308 /iamnetx-test https://iamnetx-test.toolforge.org\n    Redirect 308 /ia-upload https://ia-upload.toolforge.org\n    Redirect 308 /ib2test https://ib2test.toolforge.org\n    Redirect 308 /ibrahim https://ibrahim.toolforge.org\n    Redirect gone /ibrahimid\n    Redirect 308 /icalendar https://icalendar.toolforge.org\n    Redirect 308 /icelab https://icelab.toolforge.org\n    Redirect 308 /ichijo https://ichijo.toolforge.org\n    Redirect 308 /icommons https://icommons.toolforge.org\n    Redirect 308 /icu-transliterate https://icu-transliterate.toolforge.org\n    Redirect 308 /ideasbot https://ideasbot.toolforge.org\n    Redirect 308 /ideedarticles https://ideedarticles.toolforge.org\n    Redirect 308 /idsgen https://idsgen.toolforge.org\n    Redirect gone /idwiki-gpu\n    Redirect 308 /idwiki-marathon https://idwiki-marathon.toolforge.org\n    Redirect 308 /iepcbm-bot1 https://iepcbm-bot1.toolforge.org\n    Redirect 308 /iepcbm-bot-2 https://iepcbm-bot-2.toolforge.org\n    Redirect 308 /ifttt https://ifttt.toolforge.org\n    Redirect 308 /ifttt-dev https://ifttt-dev.toolforge.org\n    Redirect gone /ifttt-testing\n    Redirect 308 /igl https://igl.toolforge.org\n    Redirect 308 /igloo https://igloo.toolforge.org\n    Redirect 308 /ignator https://ignator.toolforge.org\n    Redirect 308 /iluvatarbot https://iluvatarbot.toolforge.org\n    Redirect 308 /imagechecker https://imagechecker.toolforge.org\n    Redirect 308 /imagemapedit https://imagemapedit.toolforge.org\n    Redirect gone /image-metadata-viewer\n    Redirect 308 /image-resize-calc https://image-resize-calc.toolforge.org\n    Redirect 308 /imagery https://imagery.toolforge.org\n    Redirect gone /images\n    Redirect 308 /imagetracer https://imagetracer.toolforge.org\n    Redirect gone /img-usage\n    Redirect 308 /import-500px https://import-500px.toolforge.org\n    Redirect 308 /import-freemind https://import-freemind.toolforge.org\n    Redirect 308 /inactiveadmins https://inactiveadmins.toolforge.org\n    Redirect gone /inactive-admins\n    Redirect gone /inactive-bureaucrats\n    Redirect 308 /inaturalistreviewer https://inaturalistreviewer.toolforge.org\n    Redirect 308 /incolabot https://incolabot.toolforge.org\n    Redirect 308 /index-page-mover https://index-page-mover.toolforge.org\n    Redirect 308 /indic-ocr https://indic-ocr.toolforge.org\n    Redirect 308 /indic-techcom https://indic-techcom.toolforge.org\n    Redirect 308 /indic-techcom-wiki https://indic-techcom-wiki.toolforge.org\n    Redirect 308 /indic-wd https://indic-wd.toolforge.org\n    Redirect 308 /indicwiki https://indicwiki.toolforge.org\n    Redirect 308 /indic-wscontest https://indic-wscontest.toolforge.org\n    Redirect 308 /indic-wsstats https://indic-wsstats.toolforge.org\n    Redirect 308 /info-farmer https://info-farmer.toolforge.org\n    Redirect 308 /infogeo https://infogeo.toolforge.org\n    Redirect 308 /inforobbot https://inforobbot.toolforge.org\n    Redirect 308 /inkobot https://inkobot.toolforge.org\n    Redirect gone /inkowik\n    Redirect 308 /inkpen https://inkpen.toolforge.org\n    Redirect 308 /integraality https://integraality.toolforge.org\n    Redirect 308 /intelibot https://intelibot.toolforge.org\n    Redirect 308 /intelirc https://intelirc.toolforge.org\n    Redirect 308 /interaction-timeline https://interaction-timeline.toolforge.org\n    Redirect 308 /interactoa https://interactoa.toolforge.org\n    Redirect 308 /interact-oa https://interact-oa.toolforge.org\n    Redirect 308 /interbot https://interbot.toolforge.org\n    Redirect 308 /interlang https://interlang.toolforge.org\n    Redirect 308 /interpagelinker https://interpagelinker.toolforge.org\n    Redirect 308 /intersect-contribs https://intersect-contribs.toolforge.org\n    Redirect 308 /intuition https://intuition.toolforge.org\n    Redirect 308 /invadibot https://invadibot.toolforge.org\n    Redirect 308 /ios-crashes https://ios-crashes.toolforge.org\n    Redirect 308 /ipa-speaker https://ipa-speaker.toolforge.org\n    Redirect gone /ipchanges\n    Redirect 308 /ipcheck https://ipcheck.toolforge.org\n    Redirect 308 /ipcheck-dev https://ipcheck-dev.toolforge.org\n    Redirect 308 /ipinfo https://ipinfo.toolforge.org\n    Redirect gone /iplookup\n    Redirect 308 /ipp https://ipp.toolforge.org\n    Redirect gone /ip-range-calc\n    Redirect 308 /ipwatcher https://ipwatcher.toolforge.org\n    Redirect 308 /ipython https://ipython.toolforge.org\n    Redirect gone /irc\n    Redirect gone /ircclient\n    Redirect 308 /irc-cloaks https://irc-cloaks.toolforge.org\n    Redirect 308 /irc-cloudbot https://irc-cloudbot.toolforge.org\n    Redirect 308 /irclogbot https://irclogbot.toolforge.org\n    Redirect 308 /irclogs https://irclogs.toolforge.org\n    Redirect 308 /ircredirect https://ircredirect.toolforge.org\n    Redirect 308 /ircredirector https://ircredirector.toolforge.org\n    Redirect 308 /irc-wmt https://irc-wmt.toolforge.org\n    Redirect 308 /ireas https://ireas.toolforge.org\n    Redirect 308 /irfan https://irfan.toolforge.org\n    Redirect 308 /irishbot https://irishbot.toolforge.org\n    Redirect 308 /isa https://isa.toolforge.org\n    Redirect 308 /isbn https://isbn.toolforge.org\n    Redirect 308 /isbn2tpl https://isbn2tpl.toolforge.org\n    Redirect 308 /isbn2wiki https://isbn2wiki.toolforge.org\n    Redirect 308 /isbn-tmptest https://isbn-tmptest.toolforge.org\n    Redirect 308 /isbn-usage https://isbn-usage.toolforge.org\n    Redirect 308 /is-deployed https://is-deployed.toolforge.org\n    Redirect 308 /isin https://isin.toolforge.org\n    Redirect gone /isitdeployed\n    Redirect 308 /isprangefinder https://isprangefinder.toolforge.org\n    Redirect gone /italian-wikipedia-bar\n    Redirect 308 /itemfinder https://itemfinder.toolforge.org\n    Redirect 308 /itemlister https://itemlister.toolforge.org\n    Redirect 308 /itsource https://itsource.toolforge.org\n    Redirect 308 /itwiki https://itwiki.toolforge.org\n    Redirect 308 /itwikiarticlebot https://itwikiarticlebot.toolforge.org\n    Redirect 308 /itwikinews-rss https://itwikinews-rss.toolforge.org\n    Redirect gone /it-wiki-users-leaflet\n    Redirect 308 /itwp-deletions https://itwp-deletions.toolforge.org\n    Redirect 308 /iw https://iw.toolforge.org\n    Redirect 308 /jackbot https://jackbot.toolforge.org\n    Redirect gone /james\n    Redirect 308 /jamesur-usergroupsearch https://jamesur-usergroupsearch.toolforge.org\n    Redirect 308 /janet https://janet.toolforge.org\n    Redirect gone /jarallah\n    Redirect gone /jarallah-ii\n    Redirect gone /jarbot\n    Redirect gone /jarbot-ii\n    Redirect gone /jarbot-iii\n    Redirect 308 /jarry-common https://jarry-common.toolforge.org\n    Redirect 308 /jata https://jata.toolforge.org\n    Redirect 308 /javatest https://javatest.toolforge.org\n    Redirect 308 /jawi https://jawi.toolforge.org\n    Redirect 308 /jayprakashbot https://jayprakashbot.toolforge.org\n    Redirect 308 /jbbot https://jbbot.toolforge.org\n    Redirect 308 /jbbot2 https://jbbot2.toolforge.org\n    Redirect 308 /jeh-dev https://jeh-dev.toolforge.org\n    Redirect 308 /jeltebot https://jeltebot.toolforge.org\n    Redirect 308 /jembot https://jembot.toolforge.org\n    Redirect 308 /jeremy https://jeremy.toolforge.org\n    Redirect 308 /jeremyb https://jeremyb.toolforge.org\n    Redirect 308 /jimmy https://jimmy.toolforge.org\n    Redirect 308 /jira-bugimport https://jira-bugimport.toolforge.org\n    Redirect 308 /jitrixis-test https://jitrixis-test.toolforge.org\n    Redirect 308 /jitse-bot https://jitse-bot.toolforge.org\n    Redirect 308 /jjmc89-bot https://jjmc89-bot.toolforge.org\n    Redirect 308 /jjmc89-bot-dev https://jjmc89-bot-dev.toolforge.org\n    Redirect 308 /joanjoc https://joanjoc.toolforge.org\n    Redirect gone /joaquinito01\n    Redirect gone /jogobot\n    Redirect 308 /jogotools https://jogotools.toolforge.org\n    Redirect gone /johnlewis\n    Redirect 308 /joinedventure https://joinedventure.toolforge.org\n    Redirect 308 /jorobot https://jorobot.toolforge.org\n    Redirect 308 /josve05a-test https://josve05a-test.toolforge.org\n    Redirect 308 /jouncebot https://jouncebot.toolforge.org\n    Redirect 308 /jshint https://jshint.toolforge.org\n    Redirect 308 /jtools https://jtools.toolforge.org\n    Redirect 308 /jurgennl https://jurgennl.toolforge.org\n    Redirect 308 /jury https://jury.toolforge.org\n    Redirect 308 /justincbot https://justincbot.toolforge.org\n    Redirect 308 /k8s-status https://k8s-status.toolforge.org\n    Redirect 308 /kaare https://kaare.toolforge.org\n    Redirect 308 /kaleem-bot https://kaleem-bot.toolforge.org\n    Redirect gone /kaleem-bot-i\n    Redirect 308 /kanjybot https://kanjybot.toolforge.org\n    Redirect gone /kanzatgroup\n    Redirect 308 /karsilayici https://karsilayici.toolforge.org\n    Redirect 308 /kaspar2commons https://kaspar2commons.toolforge.org\n    Redirect 308 /kasparbot https://kasparbot.toolforge.org\n    Redirect 308 /kasper-data-translator https://kasper-data-translator.toolforge.org\n    Redirect 308 /kdb https://kdb.toolforge.org\n    Redirect 308 /kenrick95bot https://kenrick95bot.toolforge.org\n    Redirect 308 /ket-bot https://ket-bot.toolforge.org\n    Redirect 308 /keystone-browser https://keystone-browser.toolforge.org\n    Redirect 308 /khanamalumat https://khanamalumat.toolforge.org\n    Redirect gone /khanomalumat\n    Redirect 308 /kharbot https://kharbot.toolforge.org\n    Redirect 308 /khebi https://khebi.toolforge.org\n    Redirect 308 /kian https://kian.toolforge.org\n    Redirect gone /kirstentest\n    Redirect 308 /klossebot https://klossebot.toolforge.org\n    Redirect 308 /kmlexport https://kmlexport.toolforge.org\n    Redirect gone /kmlexport-cswiki\n    Redirect 308 /knowledgegrapher https://knowledgegrapher.toolforge.org\n    Redirect 308 /kokolores https://kokolores.toolforge.org\n    Redirect 308 /kolbert https://kolbert.toolforge.org\n    Redirect gone /kolega\n    Redirect gone /kolega2357\n    Redirect 308 /kotools https://kotools.toolforge.org\n    Redirect 308 /kowikitools https://kowikitools.toolforge.org\n    Redirect 308 /krdbot https://krdbot.toolforge.org\n    Redirect 308 /krinklebot https://krinklebot.toolforge.org\n    Redirect 308 /krinkle-redirect https://krinkle-redirect.toolforge.org\n    Redirect 308 /ksamsok-rest https://ksamsok-rest.toolforge.org\n    Redirect 308 /ktc https://ktc.toolforge.org\n    Redirect 308 /kuwaity-tool https://kuwaity-tool.toolforge.org\n    Redirect 308 /l235-bot https://l235-bot.toolforge.org\n    Redirect 308 /l235-irc https://l235-irc.toolforge.org\n    Redirect 308 /laaknortools https://laaknortools.toolforge.org\n    Redirect 308 /labelimgohs https://labelimgohs.toolforge.org\n    Redirect gone /labstore-profiling\n    Redirect gone /lahitools\n    Redirect 308 /lalm https://lalm.toolforge.org\n    Redirect 308 /lambdabot https://lambdabot.toolforge.org\n    Redirect 308 /languagebar-ui https://languagebar-ui.toolforge.org\n    Redirect 308 /languageproofing https://languageproofing.toolforge.org\n    Redirect 308 /languageproofing-ui https://languageproofing-ui.toolforge.org\n    Redirect gone /languagetool\n    Redirect 308 /langviews https://langviews.toolforge.org\n    Redirect gone /langviews-test\n    Redirect 308 /largedatasetbot https://largedatasetbot.toolforge.org\n    Redirect gone /lastactiveadms\n    Redirect 308 /lastpics https://lastpics.toolforge.org\n    Redirect 308 /lbenedix https://lbenedix.toolforge.org\n    Redirect 308 /lcm-dashboard https://lcm-dashboard.toolforge.org\n    Redirect 308 /ldap https://ldap.toolforge.org\n    Redirect gone /ldap-beta\n    Redirect 308 /lebot https://lebot.toolforge.org\n    Redirect 308 /legobot https://legobot.toolforge.org\n    Redirect 308 /legobot-2 https://legobot-2.toolforge.org\n    Redirect gone /legoktm-adminbots\n    Redirect 308 /leptibot https://leptibot.toolforge.org\n    Redirect 308 /lestaty https://lestaty.toolforge.org\n    Redirect gone /lets-translate\n    Redirect 308 /lexeme-forms https://lexeme-forms.toolforge.org\n    Redirect 308 /lexeme-senses https://lexeme-senses.toolforge.org\n    Redirect 308 /liangent https://liangent.toolforge.org\n    Redirect 308 /liangent-django https://liangent-django.toolforge.org\n    Redirect 308 /liangent-migration-test https://liangent-migration-test.toolforge.org\n    Redirect 308 /liangent-misc https://liangent-misc.toolforge.org\n    Redirect 308 /liangent-php https://liangent-php.toolforge.org\n    Redirect 308 /liangent-py https://liangent-py.toolforge.org\n    Redirect 308 /liangent-shared https://liangent-shared.toolforge.org\n    Redirect 308 /liangent-toolserver https://liangent-toolserver.toolforge.org\n    Redirect gone /lib\n    Redirect gone /librarybase-db\n    Redirect 308 /librarybase-updater https://librarybase-updater.toolforge.org\n    Redirect 308 /libraryupgrader https://libraryupgrader.toolforge.org\n    Redirect 308 /librewiki https://librewiki.toolforge.org\n    Redirect 308 /liepp https://liepp.toolforge.org\n    Redirect 308 /lifeweb https://lifeweb.toolforge.org\n    Redirect 308 /lighttpd-test https://lighttpd-test.toolforge.org\n    Redirect 308 /lijebot https://lijebot.toolforge.org\n    Redirect gone /lilbit\n    Redirect 308 /lil-cvn https://lil-cvn.toolforge.org\n    Redirect 308 /limesmap https://limesmap.toolforge.org\n    Redirect 308 /lincolnbot https://lincolnbot.toolforge.org\n    Redirect 308 /linedwell https://linedwell.toolforge.org\n    Redirect 308 /lingua-libre https://lingua-libre.toolforge.org\n    Redirect 308 /linkedpageviews https://linkedpageviews.toolforge.org\n    Redirect 308 /linkscount https://linkscount.toolforge.org\n    Redirect 308 /linksearch https://linksearch.toolforge.org\n    Redirect gone /linkspam\n    Redirect 308 /linkstranslator https://linkstranslator.toolforge.org\n    Redirect 308 /linkwatcher https://linkwatcher.toolforge.org\n    Redirect 308 /linkybot https://linkybot.toolforge.org\n    Redirect 308 /linkypedia https://linkypedia.toolforge.org\n    Redirect 308 /list https://list.toolforge.org\n    Redirect 308 /listeria https://listeria.toolforge.org\n    Redirect 308 /listpages https://listpages.toolforge.org\n    Redirect 308 /lists https://lists.toolforge.org\n    Redirect gone /listunpatrolledpages\n    Redirect gone /livingstyleguide-prototype\n    Redirect 308 /lkftools https://lkftools.toolforge.org\n    Redirect gone /local-awb\n    Redirect gone /local-library-fulltext\n    Redirect gone /local-maps\n    Redirect gone /local-oclc-reference\n    Redirect 308 /local-reference-api https://local-reference-api.toolforge.org\n    Redirect 308 /local-root https://local-root.toolforge.org\n    Redirect 308 /local-southparkfan https://local-southparkfan.toolforge.org\n    Redirect gone /local-wikipedia-library-reference\n    Redirect 308 /locator https://locator.toolforge.org\n    Redirect 308 /locatorbot https://locatorbot.toolforge.org\n    Redirect 308 /locator-tool https://locator-tool.toolforge.org\n    Redirect gone /locktool\n    Redirect gone /logger\n    Redirect 308 /logojudge https://logojudge.toolforge.org\n    Redirect 308 /logoscope https://logoscope.toolforge.org\n    Redirect 308 /logs https://logs.toolforge.org\n    Redirect 308 /lolrrit-wm https://lolrrit-wm.toolforge.org\n    Redirect 308 /loltools https://loltools.toolforge.org\n    Redirect 308 /loltools-testing https://loltools-testing.toolforge.org\n    Redirect gone /loltrs\n    Redirect 308 /lonelylinks https://lonelylinks.toolforge.org\n    Redirect gone /low\n    Redirect 308 /lp-tools https://lp-tools.toolforge.org\n    Redirect 308 /lrbot https://lrbot.toolforge.org\n    Redirect 308 /lrtools https://lrtools.toolforge.org\n    Redirect 308 /lst-guard https://lst-guard.toolforge.org\n    Redirect gone /lta\n    Redirect 308 /ltfeedchecker https://ltfeedchecker.toolforge.org\n    Redirect 308 /lua-catscan2 https://lua-catscan2.toolforge.org\n    Redirect 308 /luke081515bot https://luke081515bot.toolforge.org\n    Redirect 308 /luke081515bot-beta https://luke081515bot-beta.toolforge.org\n    Redirect 308 /luke081515bot-dev https://luke081515bot-dev.toolforge.org\n    Redirect 308 /lyan https://lyan.toolforge.org\n    Redirect 308 /lynxbot https://lynxbot.toolforge.org\n    Redirect 308 /lziad https://lziad.toolforge.org\n    Redirect 308 /lziad-cvnbot https://lziad-cvnbot.toolforge.org\n    Redirect 308 /mabot https://mabot.toolforge.org\n    Redirect 308 /macfanbot https://macfanbot.toolforge.org\n    Redirect 308 /macfanlogbot https://macfanlogbot.toolforge.org\n    Redirect 308 /machtsinn https://machtsinn.toolforge.org\n    Redirect 308 /machtsinn-dev https://machtsinn-dev.toolforge.org\n    Redirect 308 /macommune https://macommune.toolforge.org\n    Redirect 308 /magnustools https://magnustools.toolforge.org\n    Redirect 308 /magnus-toolserver https://magnus-toolserver.toolforge.org\n    Redirect 308 /magog https://magog.toolforge.org\n    Redirect 308 /mahdiz https://mahdiz.toolforge.org\n    Redirect gone /maintainers\n    Redirect 308 /maintenance-bot https://maintenance-bot.toolforge.org\n    Redirect 308 /maintgraph https://maintgraph.toolforge.org\n    Redirect gone /maintun\n    Redirect 308 /maiwiki-editathon https://maiwiki-editathon.toolforge.org\n    Redirect 308 /majavah-bot https://majavah-bot.toolforge.org\n    Redirect 308 /makeref https://makeref.toolforge.org\n    Redirect 308 /manishearth https://manishearth.toolforge.org\n    Redirect 308 /manypedia https://manypedia.toolforge.org\n    Redirect 308 /map https://map.toolforge.org\n    Redirect 308 /mapillary-commons https://mapillary-commons.toolforge.org\n    Redirect 308 /maplayers-demo https://maplayers-demo.toolforge.org\n    Redirect gone /maplink-generator\n    Redirect 308 /map-of-monuments https://map-of-monuments.toolforge.org\n    Redirect 308 /maps https://maps.toolforge.org\n    Redirect 308 /map-search https://map-search.toolforge.org\n    Redirect 308 /mapycz https://mapycz.toolforge.org\n    Redirect gone /mardetanha-dev\n    Redirect 308 /maria https://maria.toolforge.org\n    Redirect 308 /masscamps https://masscamps.toolforge.org\n    Redirect 308 /massmailer https://massmailer.toolforge.org\n    Redirect 308 /masssly-test-tool https://masssly-test-tool.toolforge.org\n    Redirect 308 /massviews https://massviews.toolforge.org\n    Redirect gone /massviews-test\n    Redirect gone /math\n    Redirect 308 /mathbot https://mathbot.toolforge.org\n    Redirect 308 /mathqa https://mathqa.toolforge.org\n    Redirect gone /matilda\n    Redirect 308 /matsubot https://matsubot.toolforge.org\n    Redirect 308 /matthewrbot https://matthewrbot.toolforge.org\n    Redirect 308 /matthewrbot-dev https://matthewrbot-dev.toolforge.org\n    Redirect 308 /matthewrbowker https://matthewrbowker.toolforge.org\n    Redirect gone /matthewrbowker-dev\n    Redirect 308 /matthobot https://matthobot.toolforge.org\n    Redirect 308 /matvaretabellen https://matvaretabellen.toolforge.org\n    Redirect 308 /maurelio https://maurelio.toolforge.org\n    Redirect 308 /mavrikant https://mavrikant.toolforge.org\n    Redirect 308 /mbh https://mbh.toolforge.org\n    Redirect 308 /mbrt1 https://mbrt1.toolforge.org\n    Redirect 308 /mc8 https://mc8.toolforge.org\n    Redirect gone /mdaniels-acc-dev\n    Redirect 308 /mdanielsbot https://mdanielsbot.toolforge.org\n    Redirect gone /mdaniels-licencehelper\n    Redirect 308 /mdaniels-ogrebot https://mdaniels-ogrebot.toolforge.org\n    Redirect gone /mdaniels-refill-ng\n    Redirect gone /mdaniels-refill-ng-api\n    Redirect 308 /mdann52bot https://mdann52bot.toolforge.org\n    Redirect 308 /mdvt https://mdvt.toolforge.org\n    Redirect 308 /mediacounts https://mediacounts.toolforge.org\n    Redirect 308 /media-dubiety https://media-dubiety.toolforge.org\n    Redirect gone /mediaplaycounts\n    Redirect 308 /media-reports https://media-reports.toolforge.org\n    Redirect 308 /mediaviews https://mediaviews.toolforge.org\n    Redirect 308 /mediaviews-api https://mediaviews-api.toolforge.org\n    Redirect gone /mediawiki2latex\n    Redirect 308 /mediawiki-feeds https://mediawiki-feeds.toolforge.org\n    Redirect gone /mediawiki-mc\n    Redirect gone /mediawiki-mirror\n    Redirect 308 /medusatest https://medusatest.toolforge.org\n    Redirect 308 /meetbot https://meetbot.toolforge.org\n    Redirect 308 /meetingtimes https://meetingtimes.toolforge.org\n    Redirect 308 /megacron https://megacron.toolforge.org\n    Redirect 308 /mehrdadbot https://mehrdadbot.toolforge.org\n    Redirect 308 /memberbot https://memberbot.toolforge.org\n    Redirect 308 /menobot https://menobot.toolforge.org\n    Redirect 308 /merge2pdf https://merge2pdf.toolforge.org\n    Redirect 308 /merlbot https://merlbot.toolforge.org\n    Redirect 308 /merlbot2 https://merlbot2.toolforge.org\n    Redirect 308 /merlbot-read https://merlbot-read.toolforge.org\n    Redirect 308 /merlbot-web https://merlbot-web.toolforge.org\n    Redirect 308 /merl-dev https://merl-dev.toolforge.org\n    Redirect gone /merliwbot\n    Redirect gone /messenger-chatbot\n    Redirect 308 /meta https://meta.toolforge.org\n    Redirect 308 /meta2 https://meta2.toolforge.org\n    Redirect 308 /meta-dev https://meta-dev.toolforge.org\n    Redirect 308 /metamine https://metamine.toolforge.org\n    Redirect 308 /metaviews https://metaviews.toolforge.org\n    Redirect 308 /metmuseum https://metmuseum.toolforge.org\n    Redirect 308 /metricslibrary https://metricslibrary.toolforge.org\n    Redirect 308 /metricslibrary-dev https://metricslibrary-dev.toolforge.org\n    Redirect 308 /mfnf-export https://mfnf-export.toolforge.org\n    Redirect 308 /mfw-bww https://mfw-bww.toolforge.org\n    Redirect 308 /mg-bot https://mg-bot.toolforge.org\n    Redirect gone /mh-signbot\n    Redirect gone /mhwikibot\n    Redirect gone /mide\n    Redirect gone /mide-dev\n    Redirect 308 /mifterbot https://mifterbot.toolforge.org\n    Redirect 308 /mifterbot-en https://mifterbot-en.toolforge.org\n    Redirect 308 /milhistbot https://milhistbot.toolforge.org\n    Redirect 308 /mirador https://mirador.toolforge.org\n    Redirect gone /miraheze-discord-irc\n    Redirect gone /miraheze-notifico\n    Redirect 308 /mirusbot https://mirusbot.toolforge.org\n    Redirect 308 /misc2svg https://misc2svg.toolforge.org\n    Redirect 308 /missing-from-wikipedia https://missing-from-wikipedia.toolforge.org\n    Redirect 308 /missingpages https://missingpages.toolforge.org\n    Redirect 308 /missingtopics https://missingtopics.toolforge.org\n    Redirect 308 /missing-value https://missing-value.toolforge.org\n    Redirect 308 /mitmachen https://mitmachen.toolforge.org\n    Redirect 308 /mix-n-match https://mix-n-match.toolforge.org\n    Redirect 308 /mjbmr https://mjbmr.toolforge.org\n    Redirect 308 /mjbmrbot https://mjbmrbot.toolforge.org\n    Redirect 308 /mjbmr-tools https://mjbmr-tools.toolforge.org\n    Redirect 308 /mjlbot https://mjlbot.toolforge.org\n    Redirect 308 /mlbt https://mlbt.toolforge.org\n    Redirect 308 /mlwikidbupdate https://mlwikidbupdate.toolforge.org\n    Redirect 308 /mlwikisource https://mlwikisource.toolforge.org\n    Redirect 308 /mmt https://mmt.toolforge.org\n    Redirect gone /mobile\n    Redirect 308 /moedata https://moedata.toolforge.org\n    Redirect 308 /mohammedbot https://mohammedbot.toolforge.org\n    Redirect 308 /mohib https://mohib.toolforge.org\n    Redirect 308 /mohiburdu https://mohiburdu.toolforge.org\n    Redirect gone /monaco\n    Redirect 308 /mono https://mono.toolforge.org\n    Redirect 308 /montage https://montage.toolforge.org\n    Redirect 308 /montage-beta https://montage-beta.toolforge.org\n    Redirect 308 /montage-dev https://montage-dev.toolforge.org\n    Redirect 308 /monumental https://monumental.toolforge.org\n    Redirect 308 /monumental-glam https://monumental-glam.toolforge.org\n    Redirect gone /morebots\n    Redirect gone /morfeusz\n    Redirect 308 /mormegil https://mormegil.toolforge.org\n    Redirect 308 /morph https://morph.toolforge.org\n    Redirect 308 /morphtool https://morphtool.toolforge.org\n    Redirect 308 /mortar https://mortar.toolforge.org\n    Redirect gone /mostlinkedmissing\n    Redirect 308 /most-readable-pages https://most-readable-pages.toolforge.org\n    Redirect 308 /most-wanted https://most-wanted.toolforge.org\n    Redirect gone /move\n    Redirect 308 /movecat https://movecat.toolforge.org\n    Redirect 308 /movestats https://movestats.toolforge.org\n    Redirect 308 /mp https://mp.toolforge.org\n    Redirect 308 /mpaatools https://mpaatools.toolforge.org\n    Redirect 308 /mrakinsey https://mrakinsey.toolforge.org\n    Redirect 308 /mrbluebot https://mrbluebot.toolforge.org\n    Redirect gone /mrmetadata\n    Redirect 308 /msbits https://msbits.toolforge.org\n    Redirect 308 /mscbot https://mscbot.toolforge.org\n    Redirect 308 /mstools https://mstools.toolforge.org\n    Redirect 308 /msynbot https://msynbot.toolforge.org\n    Redirect gone /mtc-rest\n    Redirect gone /mu\n    Redirect 308 /multichill https://multichill.toolforge.org\n    Redirect 308 /multicompare https://multicompare.toolforge.org\n    Redirect 308 /multidesc https://multidesc.toolforge.org\n    Redirect 308 /muninnbot https://muninnbot.toolforge.org\n    Redirect 308 /murbot https://murbot.toolforge.org\n    Redirect 308 /musikanimal https://musikanimal.toolforge.org\n    Redirect gone /musikanimal-test\n    Redirect 308 /musikbot https://musikbot.toolforge.org\n    Redirect 308 /mw2sparql https://mw2sparql.toolforge.org\n    Redirect gone /mwcoreteam\n    Redirect gone /mwhook-bot\n    Redirect 308 /mwlint https://mwlint.toolforge.org\n    Redirect 308 /mwp https://mwp.toolforge.org\n    Redirect 308 /mwpackages https://mwpackages.toolforge.org\n    Redirect 308 /mwph-api https://mwph-api.toolforge.org\n    Redirect 308 /mwp-testing https://mwp-testing.toolforge.org\n    Redirect 308 /mwstew https://mwstew.toolforge.org\n    Redirect 308 /mwversion https://mwversion.toolforge.org\n    Redirect 308 /mybot https://mybot.toolforge.org\n    Redirect 308 /my-first-django-oauth-app https://my-first-django-oauth-app.toolforge.org\n    Redirect 308 /my-first-django-tool https://my-first-django-tool.toolforge.org\n    Redirect 308 /my-first-flask-oauth-tool https://my-first-flask-oauth-tool.toolforge.org\n    Redirect 308 /my-first-flask-tool https://my-first-flask-tool.toolforge.org\n    Redirect 308 /my-first-pywikibot-tool https://my-first-pywikibot-tool.toolforge.org\n    Redirect gone /my_first_tool\n    Redirect gone /myrcx\n    Redirect 308 /mysql-php-session-test https://mysql-php-session-test.toolforge.org\n    Redirect 308 /my-threads https://my-threads.toolforge.org\n    Redirect gone /mywikitool\n    Redirect gone /mzmcbride\n    Redirect 308 /nada https://nada.toolforge.org\n    Redirect 308 /nagf https://nagf.toolforge.org\n    Redirect 308 /nakon https://nakon.toolforge.org\n    Redirect 308 /namakemono https://namakemono.toolforge.org\n    Redirect 308 /napalmbot https://napalmbot.toolforge.org\n    Redirect 308 /napalmbot-sah https://napalmbot-sah.toolforge.org\n    Redirect gone /napalmtools\n    Redirect 308 /nara https://nara.toolforge.org\n    Redirect 308 /nasirkhanbot https://nasirkhanbot.toolforge.org\n    Redirect 308 /nasirkhantools https://nasirkhantools.toolforge.org\n    Redirect 308 /navlink-recommendation https://navlink-recommendation.toolforge.org\n    Redirect 308 /nearby-places-viewer https://nearby-places-viewer.toolforge.org\n    Redirect 308 /neechal https://neechal.toolforge.org\n    Redirect 308 /neechalbot https://neechalbot.toolforge.org\n    Redirect 308 /negative24-bottesting https://negative24-bottesting.toolforge.org\n    Redirect 308 /neuraltricity https://neuraltricity.toolforge.org\n    Redirect 308 /neuromat https://neuromat.toolforge.org\n    Redirect 308 /newbie-uploads https://newbie-uploads.toolforge.org\n    Redirect gone /newfiles\n    Redirect 308 /newiki-editathon https://newiki-editathon.toolforge.org\n    Redirect 308 /new-q5 https://new-q5.toolforge.org\n    Redirect 308 /new-uploads-refresher https://new-uploads-refresher.toolforge.org\n    Redirect 308 /newusers https://newusers.toolforge.org\n    Redirect 308 /newwebtest https://newwebtest.toolforge.org\n    Redirect gone /newyorkadam\n    Redirect 308 /nfcbot https://nfcbot.toolforge.org\n    Redirect 308 /nicepedia https://nicepedia.toolforge.org\n    Redirect gone /ninjastrikers\n    Redirect 308 /ninobot https://ninobot.toolforge.org\n    Redirect 308 /ninobott https://ninobott.toolforge.org\n    Redirect gone /ninthcircuit\n    Redirect gone /niosh\n    Redirect 308 /nitlow https://nitlow.toolforge.org\n    Redirect 308 /nitolw https://nitolw.toolforge.org\n    Redirect 308 /njsbot https://njsbot.toolforge.org\n    Redirect 308 /nli-wiki https://nli-wiki.toolforge.org\n    Redirect 308 /nlwikibots https://nlwikibots.toolforge.org\n    Redirect 308 /nlwikt-tools https://nlwikt-tools.toolforge.org\n    Redirect gone /nn1l2bot\n    Redirect 308 /noaabot https://noaabot.toolforge.org\n    Redirect 308 /noclaims https://noclaims.toolforge.org\n    Redirect 308 /nodejs-mw-oauth-tool https://nodejs-mw-oauth-tool.toolforge.org\n    Redirect 308 /nodetree https://nodetree.toolforge.org\n    Redirect 308 /nomad https://nomad.toolforge.org\n    Redirect 308 /nominatim https://nominatim.toolforge.org\n    Redirect 308 /nordic-museum-depicts https://nordic-museum-depicts.toolforge.org\n    Redirect gone /noref\n    Redirect 308 /notebooks https://notebooks.toolforge.org\n    Redirect 308 /notif-bot https://notif-bot.toolforge.org\n    Redirect 308 /not-in-the-other-language https://not-in-the-other-language.toolforge.org\n    Redirect 308 /npp https://npp.toolforge.org\n    Redirect 308 /nppbrowser https://nppbrowser.toolforge.org\n    Redirect 308 /nppdash https://nppdash.toolforge.org\n    Redirect 308 /npp-lv https://npp-lv.toolforge.org\n    Redirect 308 /nrhpservice https://nrhpservice.toolforge.org\n    Redirect 308 /nsfw https://nsfw.toolforge.org\n    Redirect 308 /nullbot https://nullbot.toolforge.org\n    Redirect 308 /nullzero https://nullzero.toolforge.org\n    Redirect 308 /nullzerobot https://nullzerobot.toolforge.org\n    Redirect 308 /nyandata https://nyandata.toolforge.org\n    Redirect 308 /oabot https://oabot.toolforge.org\n    Redirect 308 /oabot-wd-game https://oabot-wd-game.toolforge.org\n    Redirect gone /oar\n    Redirect 308 /oauth-hello-world https://oauth-hello-world.toolforge.org\n    Redirect 308 /oauthtest https://oauthtest.toolforge.org\n    Redirect 308 /obaid https://obaid.toolforge.org\n    Redirect 308 /ocgepub https://ocgepub.toolforge.org\n    Redirect 308 /ocounter https://ocounter.toolforge.org\n    Redirect 308 /ocr4wikisource https://ocr4wikisource.toolforge.org\n    Redirect 308 /ocrtoy https://ocrtoy.toolforge.org\n    Redirect 308 /octodata https://octodata.toolforge.org\n    Redirect 308 /octrabot https://octrabot.toolforge.org\n    Redirect gone /odder-dev\n    Redirect 308 /oddol https://oddol.toolforge.org\n    Redirect 308 /okmaps https://okmaps.toolforge.org\n    Redirect 308 /olsibot https://olsibot.toolforge.org\n    Redirect 308 /olympics https://olympics.toolforge.org\n    Redirect 308 /omarghridabot https://omarghridabot.toolforge.org\n    Redirect gone /oncall\n    Redirect gone /onetools\n    Redirect 308 /oojs-ui https://oojs-ui.toolforge.org\n    Redirect 308 /ooui-debug https://ooui-debug.toolforge.org\n    Redirect 308 /opendatasets https://opendatasets.toolforge.org\n    Redirect 308 /openhatch-wiki https://openhatch-wiki.toolforge.org\n    Redirect 308 /openipmap https://openipmap.toolforge.org\n    Redirect 308 /openrefine-wikidata https://openrefine-wikidata.toolforge.org\n    Redirect 308 /openstack-browser https://openstack-browser.toolforge.org\n    Redirect 308 /openstack-browser-dev https://openstack-browser-dev.toolforge.org\n    Redirect 308 /oqtools https://oqtools.toolforge.org\n    Redirect 308 /orator-matcher https://orator-matcher.toolforge.org\n    Redirect 308 /order-user-by-reg https://order-user-by-reg.toolforge.org\n    Redirect 308 /ordia https://ordia.toolforge.org\n    Redirect 308 /orejasbot https://orejasbot.toolforge.org\n    Redirect 308 /ores https://ores.toolforge.org\n    Redirect gone /ores-afc\n    Redirect 308 /ores-demos https://ores-demos.toolforge.org\n    Redirect 308 /ores-support-checklist https://ores-support-checklist.toolforge.org\n    Redirect 308 /orphan-groups https://orphan-groups.toolforge.org\n    Redirect 308 /orphantalk https://orphantalk.toolforge.org\n    Redirect 308 /orpheus https://orpheus.toolforge.org\n    Redirect 308 /orwell01 https://orwell01.toolforge.org\n    Redirect 308 /orwell02 https://orwell02.toolforge.org\n    Redirect 308 /os https://os.toolforge.org\n    Redirect 308 /oscoor https://oscoor.toolforge.org\n    Redirect 308 /os-deprecation https://os-deprecation.toolforge.org\n    Redirect 308 /osm https://osm.toolforge.org\n    Redirect 308 /osm4wiki https://osm4wiki.toolforge.org\n    Redirect 308 /osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 308 /osmbstat https://osmbstat.toolforge.org\n    Redirect 308 /osmcounts https://osmcounts.toolforge.org\n    Redirect 308 /osm-gadget https://osm-gadget.toolforge.org\n    Redirect 308 /osm-gadget-leaflet https://osm-gadget-leaflet.toolforge.org\n    Redirect 308 /osmkmlmap https://osmkmlmap.toolforge.org\n    Redirect 308 /osmlint https://osmlint.toolforge.org\n    Redirect 308 /otrs-helper https://otrs-helper.toolforge.org\n    Redirect 308 /otrsreports https://otrsreports.toolforge.org\n    Redirect 308 /oubli-signature-bot https://oubli-signature-bot.toolforge.org\n    Redirect gone /ouda\n    Redirect 308 /oudabot https://oudabot.toolforge.org\n    Redirect gone /outofband\n    Redirect 308 /outreachy-hiteshpr https://outreachy-hiteshpr.toolforge.org\n    Redirect 308 /outreachy-recent-edits-tool https://outreachy-recent-edits-tool.toolforge.org\n    Redirect 308 /outreachy-sagorika1996 https://outreachy-sagorika1996.toolforge.org\n    Redirect 308 /outreachy-sayani-tool https://outreachy-sayani-tool.toolforge.org\n    Redirect 308 /outreachy-shipra https://outreachy-shipra.toolforge.org\n    Redirect 308 /outreachy-user-contribution-tool https://outreachy-user-contribution-tool.toolforge.org\n    Redirect 308 /outreachy-useredits https://outreachy-useredits.toolforge.org\n    Redirect 308 /outreachy-userrank https://outreachy-userrank.toolforge.org\n    Redirect 308 /outreachy-user-ranking-tool https://outreachy-user-ranking-tool.toolforge.org\n    Redirect 308 /outreachy-wikicv https://outreachy-wikicv.toolforge.org\n    Redirect gone /outreacy-wikicv\n    Redirect 308 /owintes https://owintes.toolforge.org\n    Redirect 308 /p4-linkie https://p4-linkie.toolforge.org\n    Redirect 308 /pacetrack https://pacetrack.toolforge.org\n    Redirect 308 /pagecount https://pagecount.toolforge.org\n    Redirect 308 /pagecounts https://pagecounts.toolforge.org\n    Redirect 308 /pagepile https://pagepile.toolforge.org\n    Redirect 308 /pagepile-visual-filter https://pagepile-visual-filter.toolforge.org\n    Redirect 308 /pageshift https://pageshift.toolforge.org\n    Redirect 308 /pageviews https://pageviews.toolforge.org\n    Redirect 308 /pageviews-test https://pageviews-test.toolforge.org\n    Redirect gone /paid\n    Redirect gone /palmleaf-transcriber\n    Redirect 308 /pandata https://pandata.toolforge.org\n    Redirect 308 /panderine https://panderine.toolforge.org\n    Redirect 308 /panoviewer https://panoviewer.toolforge.org\n    Redirect 308 /para https://para.toolforge.org\n    Redirect 308 /parliamentdiagram https://parliamentdiagram.toolforge.org\n    Redirect 308 /parliament-diagram-generator https://parliament-diagram-generator.toolforge.org\n    Redirect gone /parsec\n    Redirect 308 /passlicense https://passlicense.toolforge.org\n    Redirect 308 /paste https://paste.toolforge.org\n    Redirect 308 /pastebin https://pastebin.toolforge.org\n    Redirect 308 /paste-test https://paste-test.toolforge.org\n    Redirect 308 /pathbot-test-1 https://pathbot-test-1.toolforge.org\n    Redirect 308 /pathoschild-contrib https://pathoschild-contrib.toolforge.org\n    Redirect 308 /pathway-viewer https://pathway-viewer.toolforge.org\n    Redirect 308 /patrall https://patrall.toolforge.org\n    Redirect 308 /patrollerinfo https://patrollerinfo.toolforge.org\n    Redirect 308 /patrolstats https://patrolstats.toolforge.org\n    Redirect gone /patrubot\n    Redirect 308 /pavlochembot https://pavlochembot.toolforge.org\n    Redirect 308 /paws https://paws.toolforge.org\n    Redirect 308 /paws-beta https://paws-beta.toolforge.org\n    Redirect 308 /paws-dev https://paws-dev.toolforge.org\n    Redirect 308 /paws-public https://paws-public.toolforge.org\n    Redirect 308 /paws-published https://paws-published.toolforge.org\n    Redirect 308 /paws-stats https://paws-stats.toolforge.org\n    Redirect 308 /paws-status https://paws-status.toolforge.org\n    Redirect 308 /paws-support https://paws-support.toolforge.org\n    Redirect 308 /payravi https://payravi.toolforge.org\n    Redirect 308 /pb https://pb.toolforge.org\n    Redirect 308 /pbbot https://pbbot.toolforge.org\n    Redirect 308 /peachy https://peachy.toolforge.org\n    Redirect 308 /peachy-docs https://peachy-docs.toolforge.org\n    Redirect 308 /pearbot https://pearbot.toolforge.org\n    Redirect 308 /pearbot2 https://pearbot2.toolforge.org\n    Redirect 308 /peek https://peek.toolforge.org\n    Redirect 308 /perebot https://perebot.toolforge.org\n    Redirect 308 /perfectbot https://perfectbot.toolforge.org\n    Redirect 308 /perfect-venn-diagram-generator https://perfect-venn-diagram-generator.toolforge.org\n    Redirect 308 /perflogbot https://perflogbot.toolforge.org\n    Redirect 308 /periodibot https://periodibot.toolforge.org\n    Redirect gone /periodssuck\n    Redirect gone /permission-denied-test\n    Redirect gone /perrybot\n    Redirect 308 /personabot https://personabot.toolforge.org\n    Redirect 308 /persondata https://persondata.toolforge.org\n    Redirect gone /petscan-md\n    Redirect 308 /pg2ws https://pg2ws.toolforge.org\n    Redirect gone /pgrmeval\n    Redirect 308 /phab-ban https://phab-ban.toolforge.org\n    Redirect 308 /phabbot https://phabbot.toolforge.org\n    Redirect 308 /phabricator-bug-status https://phabricator-bug-status.toolforge.org\n    Redirect 308 /phabricator-reporter https://phabricator-reporter.toolforge.org\n    Redirect gone /phab-search\n    Redirect 308 /phabsearchemail https://phabsearchemail.toolforge.org\n    Redirect 308 /phabulous https://phabulous.toolforge.org\n    Redirect gone /phamhi-tool\n    Redirect 308 /phantombot https://phantombot.toolforge.org\n    Redirect 308 /phetools https://phetools.toolforge.org\n    Redirect 308 /phoenix9 https://phoenix9.toolforge.org\n    Redirect 308 /phpcs https://phpcs.toolforge.org\n    Redirect 308 /phpinfo https://phpinfo.toolforge.org\n    Redirect gone /phragile\n    Redirect 308 /piagetbot https://piagetbot.toolforge.org\n    Redirect 308 /piagetenwiki https://piagetenwiki.toolforge.org\n    Redirect 308 /pibot https://pibot.toolforge.org\n    Redirect 308 /pib-upload https://pib-upload.toolforge.org\n    Redirect 308 /pileviews https://pileviews.toolforge.org\n    Redirect 308 /ping08bot https://ping08bot.toolforge.org\n    Redirect 308 /pinyin-wiki https://pinyin-wiki.toolforge.org\n    Redirect 308 /pipeng https://pipeng.toolforge.org\n    Redirect 308 /pirsquared https://pirsquared.toolforge.org\n    Redirect 308 /pisgbot https://pisgbot.toolforge.org\n    Redirect 308 /pitsilemu https://pitsilemu.toolforge.org\n    Redirect 308 /plagiabot https://plagiabot.toolforge.org\n    Redirect 308 /plaigsossbot https://plaigsossbot.toolforge.org\n    Redirect 308 /plaintexteditcounter https://plaintexteditcounter.toolforge.org\n    Redirect 308 /planettoearth https://planettoearth.toolforge.org\n    Redirect 308 /plantel2wiki https://plantel2wiki.toolforge.org\n    Redirect 308 /plasmahelp https://plasmahelp.toolforge.org\n    Redirect gone /platypus-qa\n    Redirect 308 /plnode https://plnode.toolforge.org\n    Redirect 308 /plstools https://plstools.toolforge.org\n    Redirect 308 /pltools https://pltools.toolforge.org\n    Redirect 308 /pmidtool https://pmidtool.toolforge.org\n    Redirect 308 /poiimport https://poiimport.toolforge.org\n    Redirect 308 /popularpages https://popularpages.toolforge.org\n    Redirect 308 /popularpages-dev https://popularpages-dev.toolforge.org\n    Redirect 308 /portal https://portal.toolforge.org\n    Redirect 308 /portalbox https://portalbox.toolforge.org\n    Redirect gone /portal-stats\n    Redirect 308 /position-holder-history https://position-holder-history.toolforge.org\n    Redirect 308 /potd https://potd.toolforge.org\n    Redirect 308 /potd-feed https://potd-feed.toolforge.org\n    Redirect 308 /potd-viewer https://potd-viewer.toolforge.org\n    Redirect 308 /potrace https://potrace.toolforge.org\n    Redirect 308 /poty https://poty.toolforge.org\n    Redirect 308 /povoconta https://povoconta.toolforge.org\n    Redirect 308 /powow https://powow.toolforge.org\n    Redirect gone /ppp-sparql\n    Redirect gone /precise-tools\n    Redirect 308 /prefbot https://prefbot.toolforge.org\n    Redirect gone /primary-sources-v2\n    Redirect 308 /primebot https://primebot.toolforge.org\n    Redirect 308 /prime-draftnocat https://prime-draftnocat.toolforge.org\n    Redirect 308 /primerpedia https://primerpedia.toolforge.org\n    Redirect gone /prism\n    Redirect gone /projanalysis\n    Redirect gone /project-fa\n    Redirect 308 /projector https://projector.toolforge.org\n    Redirect 308 /projektneuheiten-feed https://projektneuheiten-feed.toolforge.org\n    Redirect gone /projetpp\n    Redirect gone /prometheus\n    Redirect 308 /prompter https://prompter.toolforge.org\n    Redirect 308 /proneval https://proneval.toolforge.org\n    Redirect 308 /proneval-gsoc17 https://proneval-gsoc17.toolforge.org\n    Redirect gone /propertyuse\n    Redirect 308 /prop-explorer https://prop-explorer.toolforge.org\n    Redirect 308 /prosjektbot https://prosjektbot.toolforge.org\n    Redirect gone /proxies\n    Redirect 308 /prvnotifications https://prvnotifications.toolforge.org\n    Redirect 308 /ptable https://ptable.toolforge.org\n    Redirect 308 /ptbot https://ptbot.toolforge.org\n    Redirect 308 /ptbots https://ptbots.toolforge.org\n    Redirect 308 /ptools https://ptools.toolforge.org\n    Redirect 308 /ptwikis https://ptwikis.toolforge.org\n    Redirect 308 /pub https://pub.toolforge.org\n    Redirect 308 /pubchem-wikidata-updates https://pubchem-wikidata-updates.toolforge.org\n    Redirect 308 /purger https://purger.toolforge.org\n    Redirect gone /push-notifications-helper\n    Redirect 308 /pv https://pv.toolforge.org\n    Redirect 308 /pybot https://pybot.toolforge.org\n    Redirect 308 /pyshexy https://pyshexy.toolforge.org\n    Redirect 308 /pywikibot https://pywikibot.toolforge.org\n    Redirect 308 /pywikibot-grrtbt https://pywikibot-grrtbt.toolforge.org\n    Redirect 308 /pywikibot-test https://pywikibot-test.toolforge.org\n    Redirect 308 /pywikibot-testwiki https://pywikibot-testwiki.toolforge.org\n    Redirect 308 /pywikibot-tw https://pywikibot-tw.toolforge.org\n    Redirect 308 /pywikipedia https://pywikipedia.toolforge.org\n    Redirect 308 /pywowbot https://pywowbot.toolforge.org\n    Redirect 308 /qedkbot https://qedkbot.toolforge.org\n    Redirect 308 /qic https://qic.toolforge.org\n    Redirect 308 /qrcode-generator https://qrcode-generator.toolforge.org\n    Redirect gone /qsgenerator\n    Redirect 308 /quality-analyzer https://quality-analyzer.toolforge.org\n    Redirect 308 /quality-assisted-editor https://quality-assisted-editor.toolforge.org\n    Redirect 308 /quarry https://quarry.toolforge.org\n    Redirect 308 /quarrybot-enwiki https://quarrybot-enwiki.toolforge.org\n    Redirect 308 /quarry-dev https://quarry-dev.toolforge.org\n    Redirect 308 /quentintools https://quentintools.toolforge.org\n    Redirect 308 /quentinv57-bots https://quentinv57-bots.toolforge.org\n    Redirect 308 /quentinv57-common https://quentinv57-common.toolforge.org\n    Redirect 308 /query https://query.toolforge.org\n    Redirect 308 /query2map https://query2map.toolforge.org\n    Redirect 308 /query-universe https://query-universe.toolforge.org\n    Redirect 308 /quickcategories https://quickcategories.toolforge.org\n    Redirect 308 /quick-intersection https://quick-intersection.toolforge.org\n    Redirect 308 /quickpreset-migrate https://quickpreset-migrate.toolforge.org\n    Redirect gone /quickquery\n    Redirect 308 /quickstatements https://quickstatements.toolforge.org\n    Redirect 308 /quips https://quips.toolforge.org\n    Redirect gone /quotable\n    Redirect 308 /quotenbot https://quotenbot.toolforge.org\n    Redirect 308 /r96340-bot https://r96340-bot.toolforge.org\n    Redirect 308 /raehhamsang https://raehhamsang.toolforge.org\n    Redirect 308 /ragesossbot https://ragesossbot.toolforge.org\n    Redirect 308 /railways https://railways.toolforge.org\n    Redirect 308 /ralgisbot https://ralgisbot.toolforge.org\n    Redirect 308 /ramp https://ramp.toolforge.org\n    Redirect 308 /ramp2 https://ramp2.toolforge.org\n    Redirect 308 /random https://random.toolforge.org\n    Redirect 308 /random-featured https://random-featured.toolforge.org\n    Redirect 308 /randomincategory https://randomincategory.toolforge.org\n    Redirect 308 /rang https://rang.toolforge.org\n    Redirect 308 /rangeblockfinder https://rangeblockfinder.toolforge.org\n    Redirect 308 /rangecalc-improved https://rangecalc-improved.toolforge.org\n    Redirect 308 /rangecontrib https://rangecontrib.toolforge.org\n    Redirect gone /rank\n    Redirect gone /rank1\n    Redirect gone /rank4\n    Redirect 308 /raun https://raun.toolforge.org\n    Redirect 308 /raunbot https://raunbot.toolforge.org\n    Redirect 308 /raymond https://raymond.toolforge.org\n    Redirect 308 /raymondyee-test https://raymondyee-test.toolforge.org\n    Redirect 308 /rchv https://rchv.toolforge.org\n    Redirect gone /rcm\n    Redirect 308 /rcquery https://rcquery.toolforge.org\n    Redirect 308 /rc-vikidia https://rc-vikidia.toolforge.org\n    Redirect 308 /reader https://reader.toolforge.org\n    Redirect 308 /readmore https://readmore.toolforge.org\n    Redirect gone /reasomics\n    Redirect 308 /reasonator https://reasonator.toolforge.org\n    Redirect 308 /rebot https://rebot.toolforge.org\n    Redirect 308 /recitation-bot https://recitation-bot.toolforge.org\n    Redirect 308 /recoin https://recoin.toolforge.org\n    Redirect gone /recoin-sample\n    Redirect gone /recommendation\n    Redirect 308 /recom-tool https://recom-tool.toolforge.org\n    Redirect 308 /redirecter https://redirecter.toolforge.org\n    Redirect 308 /redirectviews https://redirectviews.toolforge.org\n    Redirect 308 /redirtest https://redirtest.toolforge.org\n    Redirect 308 /redpanda https://redpanda.toolforge.org\n    Redirect 308 /redwarn https://redwarn.toolforge.org\n    Redirect gone /refcreator\n    Redirect 308 /referee https://referee.toolforge.org\n    Redirect gone /referencebot\n    Redirect 308 /refill https://refill.toolforge.org\n    Redirect 308 /refill-api https://refill-api.toolforge.org\n    Redirect gone /reflinks\n    Redirect 308 /refswikipedia https://refswikipedia.toolforge.org\n    Redirect 308 /reftoolbar https://reftoolbar.toolforge.org\n    Redirect 308 /registro-cancellazioni https://registro-cancellazioni.toolforge.org\n    Redirect 308 /reise-reise https://reise-reise.toolforge.org\n    Redirect 308 /relgen https://relgen.toolforge.org\n    Redirect 308 /remarkup2wikitext https://remarkup2wikitext.toolforge.org\n    Redirect 308 /rembot https://rembot.toolforge.org\n    Redirect 308 /reminderbot https://reminderbot.toolforge.org\n    Redirect 308 /render https://render.toolforge.org\n    Redirect 308 /render-tests https://render-tests.toolforge.org\n    Redirect gone /repi\n    Redirect 308 /replacer https://replacer.toolforge.org\n    Redirect 308 /replag https://replag.toolforge.org\n    Redirect 308 /repo https://repo.toolforge.org\n    Redirect gone /reports\n    Redirect gone /reportsbot\n    Redirect 308 /reports-bot https://reports-bot.toolforge.org\n    Redirect 308 /request https://request.toolforge.org\n    Redirect 308 /retractionbot https://retractionbot.toolforge.org\n    Redirect 308 /revdiffsearch https://revdiffsearch.toolforge.org\n    Redirect 308 /revertstat https://revertstat.toolforge.org\n    Redirect 308 /revi https://revi.toolforge.org\n    Redirect 308 /revibot https://revibot.toolforge.org\n    Redirect 308 /revibot-i https://revibot-i.toolforge.org\n    Redirect 308 /revibot-ii https://revibot-ii.toolforge.org\n    Redirect 308 /revibot-iii https://revibot-iii.toolforge.org\n    Redirect gone /revibot-iv\n    Redirect 308 /reviewer https://reviewer.toolforge.org\n    Redirect 308 /reviewers https://reviewers.toolforge.org\n    Redirect 308 /review-stats https://review-stats.toolforge.org\n    Redirect 308 /reviewtools https://reviewtools.toolforge.org\n    Redirect 308 /revisions-blacklist https://revisions-blacklist.toolforge.org\n    Redirect 308 /revisionstats https://revisionstats.toolforge.org\n    Redirect 308 /revitalizebot https://revitalizebot.toolforge.org\n    Redirect 308 /rezabot https://rezabot.toolforge.org\n    Redirect 308 /reza-dev https://reza-dev.toolforge.org\n    Redirect 308 /rfahelper https://rfahelper.toolforge.org\n    Redirect 308 /rfastats https://rfastats.toolforge.org\n    Redirect 308 /rfa-tool https://rfa-tool.toolforge.org\n    Redirect 308 /rfc-analyzer https://rfc-analyzer.toolforge.org\n    Redirect 308 /rfx https://rfx.toolforge.org\n    Redirect 308 /rfx-dev https://rfx-dev.toolforge.org\n    Redirect gone /rhinosf1-afdclose\n    Redirect 308 /ricordisamoa https://ricordisamoa.toolforge.org\n    Redirect 308 /ri-diff-fixture-updater https://ri-diff-fixture-updater.toolforge.org\n    Redirect 308 /rightstool https://rightstool.toolforge.org\n    Redirect 308 /rileybot https://rileybot.toolforge.org\n    Redirect 308 /rillke https://rillke.toolforge.org\n    Redirect 308 /rillke-node https://rillke-node.toolforge.org\n    Redirect 308 /rluts https://rluts.toolforge.org\n    Redirect 308 /rmstats https://rmstats.toolforge.org\n    Redirect 308 /rm-stats https://rm-stats.toolforge.org\n    Redirect 308 /robin https://robin.toolforge.org\n    Redirect 308 /robokobot https://robokobot.toolforge.org\n    Redirect 308 /roccerbot https://roccerbot.toolforge.org\n    Redirect 308 /roccerbot-new https://roccerbot-new.toolforge.org\n    Redirect 308 /rotatebot https://rotatebot.toolforge.org\n    Redirect 308 /rotbot https://rotbot.toolforge.org\n    Redirect 308 /rotpunkt-bot https://rotpunkt-bot.toolforge.org\n    Redirect 308 /roundtripping https://roundtripping.toolforge.org\n    Redirect gone /roysmith-test\n    Redirect 308 /ruarbcom https://ruarbcom.toolforge.org\n    Redirect gone /ruarbcom-js\n    Redirect gone /rubinbot\n    Redirect gone /rubinbot2\n    Redirect gone /rubinbot3\n    Redirect 308 /ru_monuments https://ru_monuments.toolforge.org\n    Redirect gone /ruprecht\n    Redirect 308 /ruptho-interaction-classifier https://ruptho-interaction-classifier.toolforge.org\n    Redirect 308 /russbot https://russbot.toolforge.org\n    Redirect 308 /rust-hello-world https://rust-hello-world.toolforge.org\n    Redirect 308 /ru-unreliable-music-sources https://ru-unreliable-music-sources.toolforge.org\n    Redirect 308 /ruwikisource https://ruwikisource.toolforge.org\n    Redirect 308 /ruwn-misc https://ruwn-misc.toolforge.org\n    Redirect 308 /rxy https://rxy.toolforge.org\n    Redirect 308 /ryanbot https://ryanbot.toolforge.org\n    Redirect 308 /ryu https://ryu.toolforge.org\n    Redirect gone /saami\n    Redirect 308 /sal https://sal.toolforge.org\n    Redirect 308 /sammour https://sammour.toolforge.org\n    Redirect 308 /samoabot https://samoabot.toolforge.org\n    Redirect 308 /sanaa https://sanaa.toolforge.org\n    Redirect 308 /saper https://saper.toolforge.org\n    Redirect 308 /sau226test https://sau226test.toolforge.org\n    Redirect gone /sau226-wiki-bug-testing\n    Redirect gone /sbl\n    Redirect 308 /sbot https://sbot.toolforge.org\n    Redirect 308 /scaldingbot https://scaldingbot.toolforge.org\n    Redirect gone /scfc-test-can-be-deleted-anytime\n    Redirect 308 /schema2code https://schema2code.toolforge.org\n    Redirect 308 /scholia https://scholia.toolforge.org\n    Redirect 308 /scholiaanalytics https://scholiaanalytics.toolforge.org\n    Redirect 308 /scholia-analytics https://scholia-analytics.toolforge.org\n    Redirect 308 /scholia-dev https://scholia-dev.toolforge.org\n    Redirect 308 /schoolwiki https://schoolwiki.toolforge.org\n    Redirect 308 /schubota https://schubota.toolforge.org\n    Redirect 308 /scottytools https://scottytools.toolforge.org\n    Redirect 308 /scotus-recordings https://scotus-recordings.toolforge.org\n    Redirect gone /scratch\n    Redirect 308 /scribe https://scribe.toolforge.org\n    Redirect 308 /scrotbot https://scrotbot.toolforge.org\n    Redirect 308 /sdbot https://sdbot.toolforge.org\n    Redirect gone /sdm\n    Redirect 308 /sdzerobot https://sdzerobot.toolforge.org\n    Redirect 308 /search https://search.toolforge.org\n    Redirect 308 /searchdiff https://searchdiff.toolforge.org\n    Redirect 308 /searchsbl https://searchsbl.toolforge.org\n    Redirect 308 /section-links https://section-links.toolforge.org\n    Redirect 308 /section-redirect https://section-redirect.toolforge.org\n    Redirect 308 /section-watchlist https://section-watchlist.toolforge.org\n    Redirect 308 /security https://security.toolforge.org\n    Redirect 308 /secwatch https://secwatch.toolforge.org\n    Redirect 308 /seealsology https://seealsology.toolforge.org\n    Redirect 308 /seijabot https://seijabot.toolforge.org\n    Redirect 308 /sejmedits https://sejmedits.toolforge.org\n    Redirect 308 /selim https://selim.toolforge.org\n    Redirect 308 /sequencer https://sequencer.toolforge.org\n    Redirect 308 /sergobot-statistics https://sergobot-statistics.toolforge.org\n    Redirect 308 /serobot https://serobot.toolforge.org\n    Redirect 308 /service001 https://service001.toolforge.org\n    Redirect 308 /serviceawards https://serviceawards.toolforge.org\n    Redirect 308 /sficbot https://sficbot.toolforge.org\n    Redirect gone /sge-jobs\n    Redirect gone /sge-status\n    Redirect 308 /shbibbot https://shbibbot.toolforge.org\n    Redirect 308 /shbot https://shbot.toolforge.org\n    Redirect 308 /shex-author https://shex-author.toolforge.org\n    Redirect 308 /shexia https://shexia.toolforge.org\n    Redirect 308 /shex-simple https://shex-simple.toolforge.org\n    Redirect 308 /shexstatements https://shexstatements.toolforge.org\n    Redirect 308 /shextranslator https://shextranslator.toolforge.org\n    Redirect 308 /shfbot https://shfbot.toolforge.org\n    Redirect 308 /shields https://shields.toolforge.org\n    Redirect gone /shilad\n    Redirect 308 /shortnames https://shortnames.toolforge.org\n    Redirect 308 /shorturls https://shorturls.toolforge.org\n    Redirect 308 /shotbot https://shotbot.toolforge.org\n    Redirect gone /shri\n    Redirect 308 /shrinitools https://shrinitools.toolforge.org\n    Redirect 308 /shrugbot https://shrugbot.toolforge.org\n    Redirect gone /shtest\n    Redirect 308 /shuaib https://shuaib.toolforge.org\n    Redirect 308 /shuaib-bot https://shuaib-bot.toolforge.org\n    Redirect 308 /shumariyat https://shumariyat.toolforge.org\n    Redirect 308 /sibu https://sibu.toolforge.org\n    Redirect 308 /sibutest https://sibutest.toolforge.org\n    Redirect 308 /sighting https://sighting.toolforge.org\n    Redirect 308 /sigma https://sigma.toolforge.org\n    Redirect 308 /signature-checker https://signature-checker.toolforge.org\n    Redirect gone /signature-manquante-bot\n    Redirect 308 /signatures https://signatures.toolforge.org\n    Redirect 308 /sign-language-browser https://sign-language-browser.toolforge.org\n    Redirect 308 /signpost https://signpost.toolforge.org\n    Redirect 308 /signpostlab https://signpostlab.toolforge.org\n    Redirect 308 /similarity https://similarity.toolforge.org\n    Redirect 308 /simple https://simple.toolforge.org\n    Redirect 308 /simplecommonstransfer https://simplecommonstransfer.toolforge.org\n    Redirect gone /simplewd\n    Redirect 308 /simplewikt https://simplewikt.toolforge.org\n    Redirect 308 /sistercities https://sistercities.toolforge.org\n    Redirect 308 /sit https://sit.toolforge.org\n    Redirect 308 /sitematrix https://sitematrix.toolforge.org\n    Redirect 308 /sites https://sites.toolforge.org\n    Redirect 308 /siteviews https://siteviews.toolforge.org\n    Redirect gone /siwiki\n    Redirect 308 /sixdegrees https://sixdegrees.toolforge.org\n    Redirect 308 /slakrtools https://slakrtools.toolforge.org\n    Redirect 308 /sleepybot https://sleepybot.toolforge.org\n    Redirect 308 /slf https://slf.toolforge.org\n    Redirect gone /slipjack\n    Redirect gone /slow-parse\n    Redirect 308 /slumpartikel https://slumpartikel.toolforge.org\n    Redirect 308 /smv-description-translations https://smv-description-translations.toolforge.org\n    Redirect 308 /sn1pebot https://sn1pebot.toolforge.org\n    Redirect 308 /snaevar-bot https://snaevar-bot.toolforge.org\n    Redirect 308 /snapshots https://snapshots.toolforge.org\n    Redirect gone /snowolf\n    Redirect 308 /socksfinder https://socksfinder.toolforge.org\n    Redirect 308 /sonarqubebot https://sonarqubebot.toolforge.org\n    Redirect 308 /soni https://soni.toolforge.org\n    Redirect 308 /sonitool https://sonitool.toolforge.org\n    Redirect 308 /sourcemd https://sourcemd.toolforge.org\n    Redirect 308 /southparkfan https://southparkfan.toolforge.org\n    Redirect gone /soweego\n    Redirect 308 /sowhy https://sowhy.toolforge.org\n    Redirect 308 /sp1 https://sp1.toolforge.org\n    Redirect 308 /spacemedia https://spacemedia.toolforge.org\n    Redirect 308 /spamforbreakfast https://spamforbreakfast.toolforge.org\n    Redirect 308 /spamwatch https://spamwatch.toolforge.org\n    Redirect 308 /sparqlblocks https://sparqlblocks.toolforge.org\n    Redirect 308 /sparrow https://sparrow.toolforge.org\n    Redirect 308 /spbot https://spbot.toolforge.org\n    Redirect gone /spdx\n    Redirect 308 /speedpatrolling https://speedpatrolling.toolforge.org\n    Redirect gone /speed-patrolling\n    Redirect 308 /speedydeletionwikia https://speedydeletionwikia.toolforge.org\n    Redirect 308 /spellbot https://spellbot.toolforge.org\n    Redirect 308 /spellbot-dev https://spellbot-dev.toolforge.org\n    Redirect 308 /spellcheck https://spellcheck.toolforge.org\n    Redirect 308 /sphinxcapt-leaderboard https://sphinxcapt-leaderboard.toolforge.org\n    Redirect 308 /spiarticleanalyzer https://spiarticleanalyzer.toolforge.org\n    Redirect 308 /spi-tools https://spi-tools.toolforge.org\n    Redirect 308 /spi-tools-dev https://spi-tools-dev.toolforge.org\n    Redirect 308 /splinetools https://splinetools.toolforge.org\n    Redirect 308 /sqid https://sqid.toolforge.org\n    Redirect 308 /sql-optimizer https://sql-optimizer.toolforge.org\n    Redirect 308 /sqoop-tool https://sqoop-tool.toolforge.org\n    Redirect 308 /squirrelnestbot https://squirrelnestbot.toolforge.org\n    Redirect gone /squirrelnest-upf\n    Redirect 308 /srish https://srish.toolforge.org\n    Redirect gone /srr-sandbox\n    Redirect 308 /srwiki https://srwiki.toolforge.org\n    Redirect gone /srwiki-dev\n    Redirect 308 /stabilizerbot https://stabilizerbot.toolforge.org\n    Redirect gone /stang\n    Redirect 308 /stashbot https://stashbot.toolforge.org\n    Redirect 308 /static https://static.toolforge.org\n    Redirect 308 /static-browser https://static-browser.toolforge.org\n    Redirect gone /static-bz\n    Redirect 308 /statistics https://statistics.toolforge.org\n    Redirect gone /statistics-api\n    Redirect 308 /statisticsbot https://statisticsbot.toolforge.org\n    Redirect gone /stats\n    Redirect 308 /status https://status.toolforge.org\n    Redirect 308 /steinsplitter https://steinsplitter.toolforge.org\n    Redirect 308 /steinsplitter2 https://steinsplitter2.toolforge.org\n    Redirect 308 /stemmeberettigelse https://stemmeberettigelse.toolforge.org\n    Redirect 308 /stereoskopie https://stereoskopie.toolforge.org\n    Redirect 308 /stewardbots https://stewardbots.toolforge.org\n    Redirect gone /stewbots\n    Redirect 308 /stimmberechtigung https://stimmberechtigung.toolforge.org\n    Redirect 308 /stockholm-mania https://stockholm-mania.toolforge.org\n    Redirect 308 /stradbot https://stradbot.toolforge.org\n    Redirect 308 /strephit https://strephit.toolforge.org\n    Redirect gone /strikertest2017-08-23\n    Redirect gone /stub\n    Redirect 308 /studiesworld https://studiesworld.toolforge.org\n    Redirect 308 /stwalkerster https://stwalkerster.toolforge.org\n    Redirect gone /styleguide\n    Redirect 308 /stylize https://stylize.toolforge.org\n    Redirect 308 /submitter https://submitter.toolforge.org\n    Redirect gone /suchaserver\n    Redirect 308 /suggestbot https://suggestbot.toolforge.org\n    Redirect 308 /suggestor https://suggestor.toolforge.org\n    Redirect 308 /suha https://suha.toolforge.org\n    Redirect 308 /sulinfo https://sulinfo.toolforge.org\n    Redirect 308 /summary-generator https://summary-generator.toolforge.org\n    Redirect 308 /super-admin-bot https://super-admin-bot.toolforge.org\n    Redirect 308 /supercount https://supercount.toolforge.org\n    Redirect 308 /superyetkin https://superyetkin.toolforge.org\n    Redirect 308 /superzerocool https://superzerocool.toolforge.org\n    Redirect 308 /suyash-sandarbh https://suyash-sandarbh.toolforge.org\n    Redirect 308 /svenbot https://svenbot.toolforge.org\n    Redirect 308 /svgcheck https://svgcheck.toolforge.org\n    Redirect 308 /svgedit https://svgedit.toolforge.org\n    Redirect gone /svgedit-dashboard\n    Redirect 308 /svg-map-maker https://svg-map-maker.toolforge.org\n    Redirect 308 /svgtranslate https://svgtranslate.toolforge.org\n    Redirect 308 /svgtranslate-test https://svgtranslate-test.toolforge.org\n    Redirect 308 /svgworkaroundbot https://svgworkaroundbot.toolforge.org\n    Redirect 308 /svwikihostbot https://svwikihostbot.toolforge.org\n    Redirect 308 /svwiktionary https://svwiktionary.toolforge.org\n    Redirect 308 /swedishforsamling https://swedishforsamling.toolforge.org\n    Redirect 308 /swviewer https://swviewer.toolforge.org\n    Redirect 308 /sybot51 https://sybot51.toolforge.org\n    Redirect 308 /symabot https://symabot.toolforge.org\n    Redirect 308 /symacbot https://symacbot.toolforge.org\n    Redirect gone /sync-badges\n    Redirect 308 /t13bot https://t13bot.toolforge.org\n    Redirect 308 /t187305-demo https://t187305-demo.toolforge.org\n    Redirect gone /t1943bot\n    Redirect 308 /tabernacle https://tabernacle.toolforge.org\n    Redirect 308 /tabletop https://tabletop.toolforge.org\n    Redirect 308 /tabular-wikidata https://tabular-wikidata.toolforge.org\n    Redirect 308 /tabulist https://tabulist.toolforge.org\n    Redirect 308 /tahir https://tahir.toolforge.org\n    Redirect gone /taim-bot\n    Redirect 308 /tamilwikitools https://tamilwikitools.toolforge.org\n    Redirect 308 /tantan-www https://tantan-www.toolforge.org\n    Redirect 308 /taqpol-test https://taqpol-test.toolforge.org\n    Redirect 308 /tarrow-dev https://tarrow-dev.toolforge.org\n    Redirect 308 /tasmania https://tasmania.toolforge.org\n    Redirect gone /taweetham\n    Redirect 308 /taxobot https://taxobot.toolforge.org\n    Redirect 308 /taxoboxalyzer https://taxoboxalyzer.toolforge.org\n    Redirect 308 /taxonbot https://taxonbot.toolforge.org\n    Redirect 308 /taxonbota https://taxonbota.toolforge.org\n    Redirect 308 /taxonkatbot https://taxonkatbot.toolforge.org\n    Redirect 308 /tb-dev https://tb-dev.toolforge.org\n    Redirect 308 /tbloemink https://tbloemink.toolforge.org\n    Redirect 308 /tc-rc https://tc-rc.toolforge.org\n    Redirect 308 /tedbot https://tedbot.toolforge.org\n    Redirect 308 /teg https://teg.toolforge.org\n    Redirect gone /tei2wikitext\n    Redirect gone /telefabot\n    Redirect 308 /telegrambot https://telegrambot.toolforge.org\n    Redirect 308 /telegram-wikilinksbot https://telegram-wikilinksbot.toolforge.org\n    Redirect gone /telnet\n    Redirect gone /templatecheck\n    Redirect 308 /templatecount https://templatecount.toolforge.org\n    Redirect gone /templatedata-filler\n    Redirect 308 /templatehoard https://templatehoard.toolforge.org\n    Redirect 308 /templatetiger https://templatetiger.toolforge.org\n    Redirect 308 /templatetransclusioncheck https://templatetransclusioncheck.toolforge.org\n    Redirect 308 /templator https://templator.toolforge.org\n    Redirect 308 /tenst https://tenst.toolforge.org\n    Redirect 308 /tessdata https://tessdata.toolforge.org\n    Redirect gone /tesseract-ocr-service\n    Redirect 308 /test https://test.toolforge.org\n    Redirect 308 /test0 https://test0.toolforge.org\n    Redirect gone /test001\n    Redirect gone /test2\n    Redirect gone /test3\n    Redirect 308 /test999 https://test999.toolforge.org\n    Redirect 308 /test-generic-webservice https://test-generic-webservice.toolforge.org\n    Redirect gone /testingtool\n    Redirect 308 /test-lighttpd-precise https://test-lighttpd-precise.toolforge.org\n    Redirect gone /test-lighttpd-trusty\n    Redirect 308 /test-music1201 https://test-music1201.toolforge.org\n    Redirect gone /test-stats\n    Redirect gone /test-t188680\n    Redirect 308 /test-tool https://test-tool.toolforge.org\n    Redirect 308 /testtool-101 https://testtool-101.toolforge.org\n    Redirect 308 /test-vvv https://test-vvv.toolforge.org\n    Redirect gone /test-webservice-generic\n    Redirect gone /testwiki\n    Redirect gone /testwikis\n    Redirect 308 /testwikistats https://testwikistats.toolforge.org\n    Redirect 308 /tewptrends https://tewptrends.toolforge.org\n    Redirect 308 /texbot https://texbot.toolforge.org\n    Redirect gone /text2hash\n    Redirect 308 /textcatdemo https://textcatdemo.toolforge.org\n    Redirect 308 /tfaprotbot https://tfaprotbot.toolforge.org\n    Redirect gone /tgwikibot\n    Redirect 308 /thanatos https://thanatos.toolforge.org\n    Redirect 308 /thankyou https://thankyou.toolforge.org\n    Redirect 308 /thebook https://thebook.toolforge.org\n    Redirect 308 /thedavetool https://thedavetool.toolforge.org\n    Redirect 308 /thedavetools https://thedavetools.toolforge.org\n    Redirect gone /thehelpfulbot\n    Redirect gone /themesquitobot\n    Redirect gone /theoslittlebot\n    Redirect 308 /thesandbot https://thesandbot.toolforge.org\n    Redirect 308 /thibaut120094 https://thibaut120094.toolforge.org\n    Redirect 308 /thibtools https://thibtools.toolforge.org\n    Redirect 308 /thparkthsql https://thparkthsql.toolforge.org\n    Redirect gone /threed2commons\n    Redirect gone /tichy\n    Redirect 308 /tilde https://tilde.toolforge.org\n    Redirect 308 /tilescraper https://tilescraper.toolforge.org\n    Redirect 308 /time-convertor https://time-convertor.toolforge.org\n    Redirect 308 /timerelengteam https://timerelengteam.toolforge.org\n    Redirect 308 /timescale https://timescale.toolforge.org\n    Redirect 308 /title-search https://title-search.toolforge.org\n    Redirect 308 /tivenbot https://tivenbot.toolforge.org\n    Redirect 308 /tmg https://tmg.toolforge.org\n    Redirect 308 /toc https://toc.toolforge.org\n    Redirect 308 /tom29739-testing https://tom29739-testing.toolforge.org\n    Redirect gone /tombot3\n    Redirect gone /tomthirteen\n    Redirect gone /tool\n    Redirect 308 /tool123 https://tool123.toolforge.org\n    Redirect 308 /tool-account https://tool-account.toolforge.org\n    Redirect 308 /tool-db-usage https://tool-db-usage.toolforge.org\n    Redirect 308 /toolflow https://toolflow.toolforge.org\n    Redirect 308 /toolforge https://toolforge.toolforge.org\n    Redirect 308 /toolforge-gallery https://toolforge-gallery.toolforge.org\n    Redirect 308 /tool-gallery https://tool-gallery.toolforge.org\n    Redirect 308 /toolhub https://toolhub.toolforge.org\n    Redirect 308 /tool-log-stats https://tool-log-stats.toolforge.org\n    Redirect 308 /toolpilot https://toolpilot.toolforge.org\n    Redirect gone /tools\n    Redirect 308 /toolschecker https://toolschecker.toolforge.org\n    Redirect gone /toolschecker-ge-ws\n    Redirect gone /toolschecker-k8s-ws\n    Redirect 308 /toolscript https://toolscript.toolforge.org\n    Redirect 308 /tools-dashboard https://tools-dashboard.toolforge.org\n    Redirect 308 /toolserver https://toolserver.toolforge.org\n    Redirect gone /toolserverdb\n    Redirect 308 /toolserver-home-archive https://toolserver-home-archive.toolforge.org\n    Redirect 308 /tools-gallery https://tools-gallery.toolforge.org\n    Redirect 308 /tools-info https://tools-info.toolforge.org\n    Redirect 308 /tooltranslate https://tooltranslate.toolforge.org\n    Redirect 308 /toolviews https://toolviews.toolforge.org\n    Redirect 308 /top500importer https://top500importer.toolforge.org\n    Redirect 308 /topic-finder https://topic-finder.toolforge.org\n    Redirect 308 /topicmatcher https://topicmatcher.toolforge.org\n    Redirect 308 /topviews https://topviews.toolforge.org\n    Redirect gone /topviews-test\n    Redirect gone /torintool\n    Redirect 308 /torproxy https://torproxy.toolforge.org\n    Redirect 308 /totoazero https://totoazero.toolforge.org\n    Redirect 308 /tour https://tour.toolforge.org\n    Redirect 308 /tpbot https://tpbot.toolforge.org\n    Redirect 308 /tptools https://tptools.toolforge.org\n    Redirect 308 /traffic-grapher https://traffic-grapher.toolforge.org\n    Redirect 308 /train-blockers https://train-blockers.toolforge.org\n    Redirect 308 /translate https://translate.toolforge.org\n    Redirect 308 /translate-bot https://translate-bot.toolforge.org\n    Redirect 308 /translate-category https://translate-category.toolforge.org\n    Redirect 308 /translatemplate https://translatemplate.toolforge.org\n    Redirect gone /translation-server\n    Redirect 308 /tree-of-life https://tree-of-life.toolforge.org\n    Redirect 308 /trend https://trend.toolforge.org\n    Redirect gone /tristessa\n    Redirect gone /tronbot\n    Redirect gone /trusty-deprecation\n    Redirect gone /trusty-tools\n    Redirect 308 /tsbot https://tsbot.toolforge.org\n    Redirect 308 /tsreports https://tsreports.toolforge.org\n    Redirect 308 /tsreports-dev https://tsreports-dev.toolforge.org\n    Redirect gone /tts\n    Redirect 308 /tts-comparison https://tts-comparison.toolforge.org\n    Redirect 308 /ttt https://ttt.toolforge.org\n    Redirect 308 /tulsibot https://tulsibot.toolforge.org\n    Redirect 308 /tusc https://tusc.toolforge.org\n    Redirect 308 /tweep https://tweep.toolforge.org\n    Redirect 308 /twinkle https://twinkle.toolforge.org\n    Redirect 308 /twitterbot https://twitterbot.toolforge.org\n    Redirect 308 /twitter-retweet-bot https://twitter-retweet-bot.toolforge.org\n    Redirect 308 /twitter-to-commons https://twitter-to-commons.toolforge.org\n    Redirect 308 /twl https://twl.toolforge.org\n    Redirect gone /twl17\n    Redirect 308 /twlbot https://twlbot.toolforge.org\n    Redirect 308 /twltools https://twltools.toolforge.org\n    Redirect gone /typo-categorizer\n    Redirect 308 /typos https://typos.toolforge.org\n    Redirect 308 /typoscan https://typoscan.toolforge.org\n    Redirect gone /uaachecker\n    Redirect 308 /ukbot https://ukbot.toolforge.org\n    Redirect 308 /ukwiki-analysis https://ukwiki-analysis.toolforge.org\n    Redirect 308 /unblock https://unblock.toolforge.org\n    Redirect 308 /unblockbot https://unblockbot.toolforge.org\n    Redirect gone /unique\n    Redirect 308 /universalviewer https://universalviewer.toolforge.org\n    Redirect 308 /un-ocha-maps https://un-ocha-maps.toolforge.org\n    Redirect gone /unpatrollededitstats\n    Redirect 308 /unpaywall-importer https://unpaywall-importer.toolforge.org\n    Redirect 308 /unpkg https://unpkg.toolforge.org\n    Redirect gone /uploadhelper-ir\n    Redirect 308 /upload-stats-bot https://upload-stats-bot.toolforge.org\n    Redirect 308 /urbanecmbot https://urbanecmbot.toolforge.org\n    Redirect 308 /urbanecm-test-1 https://urbanecm-test-1.toolforge.org\n    Redirect 308 /urdubot https://urdubot.toolforge.org\n    Redirect 308 /urdusign https://urdusign.toolforge.org\n    Redirect 308 /urduspellchecker https://urduspellchecker.toolforge.org\n    Redirect 308 /url2commons https://url2commons.toolforge.org\n    Redirect 308 /url-converter https://url-converter.toolforge.org\n    Redirect 308 /urlinktranslator https://urlinktranslator.toolforge.org\n    Redirect gone /us\n    Redirect 308 /usage https://usage.toolforge.org\n    Redirect 308 /user https://user.toolforge.org\n    Redirect gone /user-activity\n    Redirect 308 /user-contributions-feed https://user-contributions-feed.toolforge.org\n    Redirect gone /useredit\n    Redirect gone /useredit2\n    Redirect gone /useredits\n    Redirect gone /useredits1\n    Redirect 308 /usergraph https://usergraph.toolforge.org\n    Redirect gone /user-id\n    Redirect 308 /userimpact https://userimpact.toolforge.org\n    Redirect 308 /usernamesearch https://usernamesearch.toolforge.org\n    Redirect gone /userrank\n    Redirect 308 /usersearch https://usersearch.toolforge.org\n    Redirect 308 /user-stats https://user-stats.toolforge.org\n    Redirect 308 /userviews https://userviews.toolforge.org\n    Redirect gone /usrd-tools\n    Redirect 308 /usualsuspects https://usualsuspects.toolforge.org\n    Redirect gone /ut-bot\n    Redirect gone /ut-interwiki-bot\n    Redirect gone /ut-iw-bot\n    Redirect gone /vagrant2\n    Redirect gone /vagrant-test\n    Redirect 308 /valhallasw-testing-tool https://valhallasw-testing-tool.toolforge.org\n    Redirect 308 /validator https://validator.toolforge.org\n    Redirect 308 /valstat https://valstat.toolforge.org\n    Redirect 308 /valutabot https://valutabot.toolforge.org\n    Redirect 308 /vcat https://vcat.toolforge.org\n    Redirect 308 /veblenbot https://veblenbot.toolforge.org\n    Redirect 308 /vector-dark https://vector-dark.toolforge.org\n    Redirect 308 /vectorizer https://vectorizer.toolforge.org\n    Redirect 308 /veertje-tools https://veertje-tools.toolforge.org\n    Redirect gone /vendor\n    Redirect 308 /verb-import-game https://verb-import-game.toolforge.org\n    Redirect 308 /verification-pages https://verification-pages.toolforge.org\n    Redirect 308 /versions https://versions.toolforge.org\n    Redirect 308 /viafbot https://viafbot.toolforge.org\n    Redirect 308 /vic https://vic.toolforge.org\n    Redirect 308 /video2commons https://video2commons.toolforge.org\n    Redirect 308 /video2commons-socketio https://video2commons-socketio.toolforge.org\n    Redirect 308 /video2commons-test https://video2commons-test.toolforge.org\n    Redirect 308 /video-cat-bot https://video-cat-bot.toolforge.org\n    Redirect 308 /videoconvert https://videoconvert.toolforge.org\n    Redirect 308 /videoconvertion https://videoconvertion.toolforge.org\n    Redirect gone /video-cut-tool\n    Redirect gone /video-cut-tool-back-end\n    Redirect gone /video-cut-tool-front-end\n    Redirect 308 /videotutorials https://videotutorials.toolforge.org\n    Redirect gone /vipbot\n    Redirect gone /vip-space-media\n    Redirect 308 /vishwin https://vishwin.toolforge.org\n    Redirect 308 /visualcategories https://visualcategories.toolforge.org\n    Redirect 308 /visualeditor https://visualeditor.toolforge.org\n    Redirect 308 /vitalarticlesbot https://vitalarticlesbot.toolforge.org\n    Redirect 308 /vizbot https://vizbot.toolforge.org\n    Redirect 308 /vltools https://vltools.toolforge.org\n    Redirect 308 /vocabulary-index https://vocabulary-index.toolforge.org\n    Redirect 308 /voiceintro https://voiceintro.toolforge.org\n    Redirect 308 /volby2wiki https://volby2wiki.toolforge.org\n    Redirect 308 /voxelbot https://voxelbot.toolforge.org\n    Redirect 308 /vrb https://vrb.toolforge.org\n    Redirect 308 /vtwo https://vtwo.toolforge.org\n    Redirect 308 /vuln-checker https://vuln-checker.toolforge.org\n    Redirect 308 /vvoters https://vvoters.toolforge.org\n    Redirect 308 /v-wiki https://v-wiki.toolforge.org\n    Redirect 308 /wafaashohdy https://wafaashohdy.toolforge.org\n    Redirect 308 /wahldiagramm https://wahldiagramm.toolforge.org\n    Redirect 308 /wahrani https://wahrani.toolforge.org\n    Redirect 308 /wakt https://wakt.toolforge.org\n    Redirect 308 /wakt-beta https://wakt-beta.toolforge.org\n    Redirect 308 /wam https://wam.toolforge.org\n    Redirect 308 /wam-article-suggestions https://wam-article-suggestions.toolforge.org\n    Redirect 308 /wanderwiki https://wanderwiki.toolforge.org\n    Redirect gone /wantedpages\n    Redirect gone /warped-to-iframe\n    Redirect 308 /watchr https://watchr.toolforge.org\n    Redirect 308 /watch-translations https://watch-translations.toolforge.org\n    Redirect 308 /watroles https://watroles.toolforge.org\n    Redirect 308 /wawewewi https://wawewewi.toolforge.org\n    Redirect 308 /wb2rdf https://wb2rdf.toolforge.org\n    Redirect 308 /wbwcalculator https://wbwcalculator.toolforge.org\n    Redirect 308 /wcam-bot https://wcam-bot.toolforge.org\n    Redirect 308 /wcdo https://wcdo.toolforge.org\n    Redirect 308 /wcna-2018-registration https://wcna-2018-registration.toolforge.org\n    Redirect 308 /wd-analysis https://wd-analysis.toolforge.org\n    Redirect 308 /wd-analyst https://wd-analyst.toolforge.org\n    Redirect gone /wdapi\n    Redirect 308 /wd-art https://wd-art.toolforge.org\n    Redirect 308 /wdbeoupdate https://wdbeoupdate.toolforge.org\n    Redirect gone /wd-books-cleaner\n    Redirect 308 /wdcat https://wdcat.toolforge.org\n    Redirect 308 /wd-constraints-precheck https://wd-constraints-precheck.toolforge.org\n    Redirect 308 /wd-depicts https://wd-depicts.toolforge.org\n    Redirect 308 /wdgraph https://wdgraph.toolforge.org\n    Redirect 308 /wdic https://wdic.toolforge.org\n    Redirect 308 /wdimagecheck https://wdimagecheck.toolforge.org\n    Redirect 308 /wd-image-positions https://wd-image-positions.toolforge.org\n    Redirect 308 /wdmap https://wdmap.toolforge.org\n    Redirect 308 /wdml https://wdml.toolforge.org\n    Redirect 308 /wdmm https://wdmm.toolforge.org\n    Redirect 308 /wdprop https://wdprop.toolforge.org\n    Redirect 308 /wdpv https://wdpv.toolforge.org\n    Redirect 308 /wdq2sparql https://wdq2sparql.toolforge.org\n    Redirect gone /wdq_checker\n    Redirect 308 /wdq-checker https://wdq-checker.toolforge.org\n    Redirect 308 /wdqs-tutorial https://wdqs-tutorial.toolforge.org\n    Redirect gone /wdqs-wmil-tutorial\n    Redirect 308 /wd-query-builder https://wd-query-builder.toolforge.org\n    Redirect 308 /wd-rank https://wd-rank.toolforge.org\n    Redirect 308 /wdrdr https://wdrdr.toolforge.org\n    Redirect 308 /wdreconcile https://wdreconcile.toolforge.org\n    Redirect 308 /wd-ref-island https://wd-ref-island.toolforge.org\n    Redirect 308 /wd-shex-infer https://wd-shex-infer.toolforge.org\n    Redirect 308 /wdumps https://wdumps.toolforge.org\n    Redirect 308 /wdvaliditycheck https://wdvaliditycheck.toolforge.org\n    Redirect 308 /wdvd https://wdvd.toolforge.org\n    Redirect 308 /wd-word-cloud https://wd-word-cloud.toolforge.org\n    Redirect 308 /weapon-of-mass-description https://weapon-of-mass-description.toolforge.org\n    Redirect 308 /weapon-of-mass-description-test https://weapon-of-mass-description-test.toolforge.org\n    Redirect gone /weather\n    Redirect 308 /webarchivebot https://webarchivebot.toolforge.org\n    Redirect gone /webchat\n    Redirect 308 /weeklypedia https://weeklypedia.toolforge.org\n    Redirect 308 /welcomebot https://welcomebot.toolforge.org\n    Redirect 308 /welcomebots-bn https://welcomebots-bn.toolforge.org\n    Redirect 308 /wembedder https://wembedder.toolforge.org\n    Redirect 308 /wfind https://wfind.toolforge.org\n    Redirect 308 /whichsub https://whichsub.toolforge.org\n    Redirect 308 /whodunnit https://whodunnit.toolforge.org\n    Redirect 308 /whois https://whois.toolforge.org\n    Redirect 308 /whois-referral https://whois-referral.toolforge.org\n    Redirect 308 /whois-referral-dev https://whois-referral-dev.toolforge.org\n    Redirect 308 /whymbot https://whymbot.toolforge.org\n    Redirect 308 /widar https://widar.toolforge.org\n    Redirect 308 /wigi https://wigi.toolforge.org\n    Redirect gone /wiki\n    Redirect 308 /wiki13 https://wiki13.toolforge.org\n    Redirect 308 /wiki17an-watcher https://wiki17an-watcher.toolforge.org\n    Redirect 308 /wiki2email https://wiki2email.toolforge.org\n    Redirect 308 /wiki2html https://wiki2html.toolforge.org\n    Redirect 308 /wiki2prop https://wiki2prop.toolforge.org\n    Redirect 308 /wiki3d https://wiki3d.toolforge.org\n    Redirect gone /wiki-android-apps\n    Redirect 308 /wikiarthistory https://wikiarthistory.toolforge.org\n    Redirect 308 /wiki-as-git https://wiki-as-git.toolforge.org\n    Redirect 308 /wikiatlas2014 https://wikiatlas2014.toolforge.org\n    Redirect gone /wikibase-databridge-storybook\n    Redirect 308 /wikibase-nearest-neighbors https://wikibase-nearest-neighbors.toolforge.org\n    Redirect 308 /wikibase-preview https://wikibase-preview.toolforge.org\n    Redirect 308 /wikibase-termbox-storybook https://wikibase-termbox-storybook.toolforge.org\n    Redirect 308 /wikibattle https://wikibattle.toolforge.org\n    Redirect 308 /wikiblame https://wikiblame.toolforge.org\n    Redirect 308 /wikibookassamese https://wikibookassamese.toolforge.org\n    Redirect gone /wikibot\n    Redirect 308 /wikibugs https://wikibugs.toolforge.org\n    Redirect 308 /wikicaptcha https://wikicaptcha.toolforge.org\n    Redirect 308 /wikicite-dashboard https://wikicite-dashboard.toolforge.org\n    Redirect gone /wikicitevis\n    Redirect 308 /wikicontest https://wikicontest.toolforge.org\n    Redirect 308 /wikicontrib https://wikicontrib.toolforge.org\n    Redirect 308 /wikicup https://wikicup.toolforge.org\n    Redirect 308 /wikidata-analysis https://wikidata-analysis.toolforge.org\n    Redirect 308 /wikidata-annotation-tool https://wikidata-annotation-tool.toolforge.org\n    Redirect 308 /wikidata-compare https://wikidata-compare.toolforge.org\n    Redirect 308 /wikidata-delinker https://wikidata-delinker.toolforge.org\n    Redirect 308 /wikidata-edits https://wikidata-edits.toolforge.org\n    Redirect gone /wikidata-exports\n    Redirect 308 /wikidata-externalid-url https://wikidata-externalid-url.toolforge.org\n    Redirect 308 /wikidata-game https://wikidata-game.toolforge.org\n    Redirect 308 /wikidatagroup https://wikidatagroup.toolforge.org\n    Redirect 308 /wikidata-janitor https://wikidata-janitor.toolforge.org\n    Redirect 308 /wikidata-map https://wikidata-map.toolforge.org\n    Redirect 308 /wikidata-nolabels https://wikidata-nolabels.toolforge.org\n    Redirect 308 /wikidata-primary-sources https://wikidata-primary-sources.toolforge.org\n    Redirect 308 /wikidata-reconcile https://wikidata-reconcile.toolforge.org\n    Redirect 308 /wikidata-redirects-conflicts-reports https://wikidata-redirects-conflicts-reports.toolforge.org\n    Redirect 308 /wikidata-slicer https://wikidata-slicer.toolforge.org\n    Redirect 308 /wikidata-terminator https://wikidata-terminator.toolforge.org\n    Redirect 308 /wikidata-timeline https://wikidata-timeline.toolforge.org\n    Redirect 308 /wikidata-todo https://wikidata-todo.toolforge.org\n    Redirect 308 /wikidata-trends https://wikidata-trends.toolforge.org\n    Redirect gone /wikidiff2-dev-test\n    Redirect 308 /wikidipendenza https://wikidipendenza.toolforge.org\n    Redirect 308 /wikiedudashboard https://wikiedudashboard.toolforge.org\n    Redirect 308 /wikiedudashboard-test https://wikiedudashboard-test.toolforge.org\n    Redirect 308 /wikiemojibot https://wikiemojibot.toolforge.org\n    Redirect gone /wikifactmine-api\n    Redirect gone /wikifactmine-pipeline\n    Redirect 308 /wikifeeds https://wikifeeds.toolforge.org\n    Redirect 308 /wikifile-transfer https://wikifile-transfer.toolforge.org\n    Redirect 308 /wiki-geo https://wiki-geo.toolforge.org\n    Redirect 308 /wikigrade https://wikigrade.toolforge.org\n    Redirect 308 /wikigraph https://wikigraph.toolforge.org\n    Redirect 308 /wikigrok https://wikigrok.toolforge.org\n    Redirect 308 /wikihistory https://wikihistory.toolforge.org\n    Redirect 308 /wikihoaxbuster https://wikihoaxbuster.toolforge.org\n    Redirect 308 /wikiholic https://wikiholic.toolforge.org\n    Redirect 308 /wikiinfo https://wikiinfo.toolforge.org\n    Redirect 308 /wikiintent https://wikiintent.toolforge.org\n    Redirect gone /wiki-irc\n    Redirect 308 /wikijourney https://wikijourney.toolforge.org\n    Redirect 308 /wikilaeum https://wikilaeum.toolforge.org\n    Redirect 308 /wikilinkbot https://wikilinkbot.toolforge.org\n    Redirect 308 /wikilint https://wikilint.toolforge.org\n    Redirect 308 /wikilist https://wikilist.toolforge.org\n    Redirect 308 /wikilogos https://wikilogos.toolforge.org\n    Redirect 308 /wikiloop https://wikiloop.toolforge.org\n    Redirect 308 /wikiloop-testflight https://wikiloop-testflight.toolforge.org\n    Redirect 308 /wikiloves https://wikiloves.toolforge.org\n    Redirect 308 /wikilovesdownloads https://wikilovesdownloads.toolforge.org\n    Redirect gone /wiki-loves-earth-2019\n    Redirect 308 /wikiloveslove https://wikiloveslove.toolforge.org\n    Redirect 308 /wikimap https://wikimap.toolforge.org\n    Redirect gone /wikimediadc\n    Redirect 308 /wikimedia-france https://wikimedia-france.toolforge.org\n    Redirect 308 /wikimediaui-styleguide https://wikimediaui-styleguide.toolforge.org\n    Redirect 308 /wikiment https://wikiment.toolforge.org\n    Redirect 308 /wikimetrics https://wikimetrics.toolforge.org\n    Redirect 308 /wikimetrics-development https://wikimetrics-development.toolforge.org\n    Redirect 308 /wikimetrics-production https://wikimetrics-production.toolforge.org\n    Redirect 308 /wikimetrics-staging https://wikimetrics-staging.toolforge.org\n    Redirect 308 /wikiminiatlas https://wikiminiatlas.toolforge.org\n    Redirect 308 /wiki-needs-pictures https://wiki-needs-pictures.toolforge.org\n    Redirect 308 /wikinews https://wikinews.toolforge.org\n    Redirect 308 /wikinews-importer https://wikinews-importer.toolforge.org\n    Redirect 308 /wikinews-pagestats https://wikinews-pagestats.toolforge.org\n    Redirect 308 /wikinity https://wikinity.toolforge.org\n    Redirect 308 /wikinity-test https://wikinity-test.toolforge.org\n    Redirect 308 /wikintu https://wikintu.toolforge.org\n    Redirect 308 /wiki-osm-markers https://wiki-osm-markers.toolforge.org\n    Redirect 308 /wikioverdata https://wikioverdata.toolforge.org\n    Redirect gone /wikipagestats\n    Redirect gone /wikipathways2wiki\n    Redirect gone /wikipedia-android-builds\n    Redirect 308 /wikipedia-contributor-locations https://wikipedia-contributor-locations.toolforge.org\n    Redirect 308 /wikipedia-fetch-content https://wikipedia-fetch-content.toolforge.org\n    Redirect gone /wikipedia-library\n    Redirect gone /wikipedia-readability\n    Redirect 308 /wikipedia-zh-irc-query https://wikipedia-zh-irc-query.toolforge.org\n    Redirect 308 /wikipedia-zh-message-transport https://wikipedia-zh-message-transport.toolforge.org\n    Redirect 308 /wikipheme https://wikipheme.toolforge.org\n    Redirect 308 /wikiplayer https://wikiplayer.toolforge.org\n    Redirect 308 /wikiportretdev https://wikiportretdev.toolforge.org\n    Redirect 308 /wikiprovenance https://wikiprovenance.toolforge.org\n    Redirect gone /wikipulse\n    Redirect 308 /wikiradio https://wikiradio.toolforge.org\n    Redirect 308 /wikiresearch https://wikiresearch.toolforge.org\n    Redirect 308 /wiki-retweet-bot https://wiki-retweet-bot.toolforge.org\n    Redirect 308 /wikiscanner https://wikiscanner.toolforge.org\n    Redirect 308 /wikisense https://wikisense.toolforge.org\n    Redirect 308 /wikishield https://wikishield.toolforge.org\n    Redirect 308 /wikishootme https://wikishootme.toolforge.org\n    Redirect 308 /wikisoba https://wikisoba.toolforge.org\n    Redirect gone /wikisource-api\n    Redirect 308 /wikisource-bot https://wikisource-bot.toolforge.org\n    Redirect gone /wikisource-penguin-classics\n    Redirect 308 /wikisource-tweets https://wikisource-tweets.toolforge.org\n    Redirect 308 /wikistats https://wikistats.toolforge.org\n    Redirect 308 /wikistreak https://wikistreak.toolforge.org\n    Redirect 308 /wikistream https://wikistream.toolforge.org\n    Redirect 308 /wikistreams https://wikistreams.toolforge.org\n    Redirect 308 /wikitable https://wikitable.toolforge.org\n    Redirect 308 /wikitabs https://wikitabs.toolforge.org\n    Redirect gone /wiki-talk\n    Redirect gone /wiki-talk2\n    Redirect 308 /wikitanvirbot https://wikitanvirbot.toolforge.org\n    Redirect 308 /wiki-task-locator https://wiki-task-locator.toolforge.org\n    Redirect 308 /wikitasks https://wikitasks.toolforge.org\n    Redirect 308 /wikitei https://wikitei.toolforge.org\n    Redirect 308 /wiki-tennis https://wiki-tennis.toolforge.org\n    Redirect 308 /wikitest-rtl https://wikitest-rtl.toolforge.org\n    Redirect 308 /wikitext-deprecation https://wikitext-deprecation.toolforge.org\n    Redirect 308 /wikitime https://wikitime.toolforge.org\n    Redirect 308 /wiki-todo https://wiki-todo.toolforge.org\n    Redirect gone /wikitool\n    Redirect 308 /wikitools https://wikitools.toolforge.org\n    Redirect 308 /wiki-topic https://wiki-topic.toolforge.org\n    Redirect gone /wikitranslator\n    Redirect 308 /wikitree https://wikitree.toolforge.org\n    Redirect 308 /wikitrends https://wikitrends.toolforge.org\n    Redirect 308 /wikitrip https://wikitrip.toolforge.org\n    Redirect 308 /wikitweets https://wikitweets.toolforge.org\n    Redirect 308 /wikiviewstats https://wikiviewstats.toolforge.org\n    Redirect 308 /wikiviewstats2 https://wikiviewstats2.toolforge.org\n    Redirect 308 /wikivisualization https://wikivisualization.toolforge.org\n    Redirect 308 /wikiviz https://wikiviz.toolforge.org\n    Redirect 308 /wikivoyage https://wikivoyage.toolforge.org\n    Redirect 308 /wikiwatchdog https://wikiwatchdog.toolforge.org\n    Redirect 308 /wikiwhatsappbot https://wikiwhatsappbot.toolforge.org\n    Redirect 308 /wikiwho https://wikiwho.toolforge.org\n    Redirect 308 /wiki-zulip-bot https://wiki-zulip-bot.toolforge.org\n    Redirect 308 /wiktioutils https://wiktioutils.toolforge.org\n    Redirect 308 /wikt-mwtest https://wikt-mwtest.toolforge.org\n    Redirect 308 /wikyrillomat https://wikyrillomat.toolforge.org\n    Redirect 308 /william-avery-bot https://william-avery-bot.toolforge.org\n    Redirect 308 /winput https://winput.toolforge.org\n    Redirect 308 /winter https://winter.toolforge.org\n    Redirect 308 /wiper https://wiper.toolforge.org\n    Redirect 308 /wiper-languagetool https://wiper-languagetool.toolforge.org\n    Redirect 308 /withoutaname https://withoutaname.toolforge.org\n    Redirect 308 /wits https://wits.toolforge.org\n    Redirect 308 /wiwosm https://wiwosm.toolforge.org\n    Redirect 308 /wizarbot https://wizarbot.toolforge.org\n    Redirect 308 /wle https://wle.toolforge.org\n    Redirect 308 /wlm https://wlm.toolforge.org\n    Redirect 308 /wlm-analytics https://wlm-analytics.toolforge.org\n    Redirect gone /wlm-de-redirect\n    Redirect 308 /wlm-de-utils https://wlm-de-utils.toolforge.org\n    Redirect gone /wlmin\n    Redirect 308 /wlm-italy https://wlm-italy.toolforge.org\n    Redirect 308 /wlmitaly2019 https://wlmitaly2019.toolforge.org\n    Redirect 308 /wlmjudging https://wlmjudging.toolforge.org\n    Redirect gone /wlm-jury-at\n    Redirect gone /wlm-jury-yarl\n    Redirect 308 /wlm-maps https://wlm-maps.toolforge.org\n    Redirect 308 /wlm-nl-table-gen https://wlm-nl-table-gen.toolforge.org\n    Redirect 308 /wlmpacommonscat https://wlmpacommonscat.toolforge.org\n    Redirect 308 /wlm-stats https://wlm-stats.toolforge.org\n    Redirect 308 /wlmtrafo https://wlmtrafo.toolforge.org\n    Redirect 308 /wlmuk https://wlmuk.toolforge.org\n    Redirect gone /wlmus\n    Redirect 308 /wlm-us https://wlm-us.toolforge.org\n    Redirect 308 /wlxjury https://wlxjury.toolforge.org\n    Redirect 308 /wm-bot https://wm-bot.toolforge.org\n    Redirect 308 /wm-cee-spring https://wm-cee-spring.toolforge.org\n    Redirect 308 /wmcharts https://wmcharts.toolforge.org\n    Redirect 308 /wm-commons-emoji-bot https://wm-commons-emoji-bot.toolforge.org\n    Redirect 308 /wmcounter https://wmcounter.toolforge.org\n    Redirect gone /wmcsbot\n    Redirect 308 /wmcz https://wmcz.toolforge.org\n    Redirect 308 /wmde-access https://wmde-access.toolforge.org\n    Redirect gone /wmde-editconflict-test\n    Redirect gone /wmde-graphql-demo\n    Redirect gone /wmde-inline-movedparagraphs\n    Redirect gone /wmde-reference-previews\n    Redirect gone /wmde-uca-test\n    Redirect 308 /wmde-wd-team https://wmde-wd-team.toolforge.org\n    Redirect gone /wmfdbbot\n    Redirect gone /wmflabs-collection\n    Redirect 308 /wmf-sitematrix https://wmf-sitematrix.toolforge.org\n    Redirect gone /wmf-task-samtar\n    Redirect 308 /wmf-wiki-info https://wmf-wiki-info.toolforge.org\n    Redirect 308 /wmit https://wmit.toolforge.org\n    Redirect 308 /wmk-dev https://wmk-dev.toolforge.org\n    Redirect 308 /wmk-tools https://wmk-tools.toolforge.org\n    Redirect 308 /wm-metrics https://wm-metrics.toolforge.org\n    Redirect 308 /wmopbot https://wmopbot.toolforge.org\n    Redirect 308 /wmpt https://wmpt.toolforge.org\n    Redirect 308 /wmtran https://wmtran.toolforge.org\n    Redirect 308 /wmukevents https://wmukevents.toolforge.org\n    Redirect 308 /wmve https://wmve.toolforge.org\n    Redirect 308 /wmve-dev https://wmve-dev.toolforge.org\n    Redirect 308 /wm-ve-needcheck-reporter https://wm-ve-needcheck-reporter.toolforge.org\n    Redirect 308 /wnegar https://wnegar.toolforge.org\n    Redirect 308 /women-in-red https://women-in-red.toolforge.org\n    Redirect 308 /wordcount https://wordcount.toolforge.org\n    Redirect 308 /wordpile https://wordpile.toolforge.org\n    Redirect gone /wordtowiki\n    Redirect gone /wordtowiki-dev\n    Redirect 308 /worklist-tool https://worklist-tool.toolforge.org\n    Redirect gone /wpb\n    Redirect 308 /wpcleaner https://wpcleaner.toolforge.org\n    Redirect 308 /wpp https://wpp.toolforge.org\n    Redirect 308 /wprequests https://wprequests.toolforge.org\n    Redirect 308 /wp-signpost https://wp-signpost.toolforge.org\n    Redirect 308 /wptestblog https://wptestblog.toolforge.org\n    Redirect gone /wptestblog2\n    Redirect gone /wpv\n    Redirect 308 /wp-world https://wp-world.toolforge.org\n    Redirect 308 /wrating https://wrating.toolforge.org\n    Redirect 308 /wrcp https://wrcp.toolforge.org\n    Redirect gone /ws2wd\n    Redirect 308 /ws-cat-browser https://ws-cat-browser.toolforge.org\n    Redirect 308 /wscontest https://wscontest.toolforge.org\n    Redirect 308 /wsdetool https://wsdetool.toolforge.org\n    Redirect 308 /wsexport https://wsexport.toolforge.org\n    Redirect 308 /wsexport-test https://wsexport-test.toolforge.org\n    Redirect 308 /ws-google-ocr https://ws-google-ocr.toolforge.org\n    Redirect gone /w-slackbot\n    Redirect gone /wsm\n    Redirect 308 /ws-search https://ws-search.toolforge.org\n    Redirect 308 /wudele https://wudele.toolforge.org\n    Redirect 308 /wugbot https://wugbot.toolforge.org\n    Redirect 308 /www https://www.toolforge.org\n    Redirect gone /www-portal-builder\n    Redirect 308 /www-portal-staging https://www-portal-staging.toolforge.org\n    Redirect gone /wyimportbot\n    Redirect 308 /xdebugtesting https://xdebugtesting.toolforge.org\n    Redirect 308 /xdebugtesting1 https://xdebugtesting1.toolforge.org\n    Redirect 308 /xdebugtesting2 https://xdebugtesting2.toolforge.org\n    Redirect 308 /xecfork https://xecfork.toolforge.org\n    Redirect 308 /xfd-stats https://xfd-stats.toolforge.org\n    Redirect 308 /xiplus https://xiplus.toolforge.org\n    Redirect 308 /xlinkbot https://xlinkbot.toolforge.org\n    Redirect gone /xmlfeed\n    Redirect 308 /xn--dk8hv9g https://xn--dk8hv9g.toolforge.org\n    Redirect gone /xoxoxo-dev\n    Redirect 308 /xqtools https://xqtools.toolforge.org\n    Redirect gone /xslack\n    Redirect 308 /xstools https://xstools.toolforge.org\n    Redirect 308 /xtools https://xtools.toolforge.org\n    Redirect 308 /xtools-articleinfo https://xtools-articleinfo.toolforge.org\n    Redirect gone /xtools-autoedits\n    Redirect 308 /xtools-dev https://xtools-dev.toolforge.org\n    Redirect 308 /xtools-ec https://xtools-ec.toolforge.org\n    Redirect 308 /xtools-mab-dev https://xtools-mab-dev.toolforge.org\n    Redirect gone /xtools-pages\n    Redirect 308 /xxn-testtool https://xxn-testtool.toolforge.org\n    Redirect 308 /xxn-tools https://xxn-tools.toolforge.org\n    Redirect 308 /xyzbot https://xyzbot.toolforge.org\n    Redirect 308 /yabbr https://yabbr.toolforge.org\n    Redirect 308 /yabot https://yabot.toolforge.org\n    Redirect 308 /yacbot https://yacbot.toolforge.org\n    Redirect 308 /yadfa https://yadfa.toolforge.org\n    Redirect 308 /yadkard https://yadkard.toolforge.org\n    Redirect 308 /yapperbot https://yapperbot.toolforge.org\n    Redirect 308 /yarl https://yarl.toolforge.org\n    Redirect 308 /yashe https://yashe.toolforge.org\n    Redirect 308 /yellowbot https://yellowbot.toolforge.org\n    Redirect 308 /yellowcard https://yellowcard.toolforge.org\n    Redirect gone /yemen\n    Redirect 308 /yichengtry https://yichengtry.toolforge.org\n    Redirect 308 /yifeibot https://yifeibot.toolforge.org\n    Redirect 308 /yjsw https://yjsw.toolforge.org\n    Redirect 308 /youtube-channel https://youtube-channel.toolforge.org\n    Redirect 308 /ytcleaner https://ytcleaner.toolforge.org\n    Redirect gone /ytrb\n    Redirect gone /yunomi\n    Redirect 308 /zayenbot https://zayenbot.toolforge.org\n    Redirect 308 /zbot https://zbot.toolforge.org\n    Redirect 308 /zedlikbot https://zedlikbot.toolforge.org\n    Redirect 308 /zenithbot https://zenithbot.toolforge.org\n    Redirect 308 /zerabot https://zerabot.toolforge.org\n    Redirect 308 /zhaofeng-test https://zhaofeng-test.toolforge.org\n    Redirect 308 /zhdeletionpedia https://zhdeletionpedia.toolforge.org\n    Redirect gone /zhnotofu\n    Redirect 308 /zhtest https://zhtest.toolforge.org\n    Redirect 308 /zhuyifei1999-test https://zhuyifei1999-test.toolforge.org\n    Redirect 308 /zhwiki https://zhwiki.toolforge.org\n    Redirect 308 /zhwiki-qualifications-check https://zhwiki-qualifications-check.toolforge.org\n    Redirect 308 /zhwiki-teleirc https://zhwiki-teleirc.toolforge.org\n    Redirect 308 /zhwiki-username-check https://zhwiki-username-check.toolforge.org\n    Redirect 308 /zimmerbot https://zimmerbot.toolforge.org\n    Redirect 308 /zkbot https://zkbot.toolforge.org\n    Redirect 308 /zonestamp https://zonestamp.toolforge.org\n    Redirect 308 /zoomable-images https://zoomable-images.toolforge.org\n    Redirect 308 /zoomproof https://zoomproof.toolforge.org\n    Redirect 308 /zoomviewer https://zoomviewer.toolforge.org\n    Redirect gone /zoranzoki21bot\n    Redirect gone /zoranzoki21wiki\n    Redirect gone /zppixbot\n    Redirect gone /zppixbot-test\n    Redirect 308 /zumraband https://zumraband.toolforge.org\n    Redirect 308 /zurichpopulation https://zurichpopulation.toolforge.org\n    Redirect 308 /zygimantus-dev https://zygimantus-dev.toolforge.org\n    Redirect 308 /zygserv https://zygserv.toolforge.org\n\n    # This must be listed last given Apache processes Redirect rules in order.\n    # Also, do a 302 in case something goes horribly wrong with the rules before this.\n    Redirect 302 / https://toolforge.org/\n</VirtualHost>\n","owner":"root","group":"root","mode":"0444","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/sites-enabled/50-tools-wmflabs-org.conf","tags":["file","httpd::conf","httpd","conf","tools.wmflabs.org","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"link","target":"/etc/apache2/sites-available/50-tools-wmflabs-org.conf","notify":"Service[apache2]","owner":"root","group":"root"}},{"type":"File","title":"/etc/apache2/sites-available/50-www-toolserver-org.conf","tags":["file","httpd::conf","httpd","conf","www.toolserver.org","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":70,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# SPDX-License-Identifier: Apache-2.0\n\n#####################################################################\n### THIS FILE IS MANAGED BY PUPPET\n### puppet:///toolserver_legacy/www.toolserver.org.erb\n#####################################################################\n# vim: filetype=apache\n\n<VirtualHost *:80>\n    ServerAdmin root@toolserver.org\n    ServerName www.toolserver.org\n    ServerAlias toolserver.org\n    ServerAlias *.www.toolserver.org\n    ServerAlias stable.toolserver.org\n    ServerAlias wiki.toolserver.org\n    ServerAlias status.toolserver.org\n\n    DocumentRoot /var/www/www.toolserver.org/\n\n    RewriteEngine on\n    RewriteCond %{SERVER_PORT} !^443$\n    RewriteRule ^/(.*)$ https://www.toolserver.org/$1 [L,NE,R]\n\n    CustomLog /var/log/apache2/www.toolserver.org-access.log wmf\n    ErrorLog /var/log/apache2/www.toolserver.org-error.log\n    LogLevel warn\n    ServerSignature Off\n</VirtualHost>\n\n<VirtualHost *:443>\n    ServerAdmin root@toolserver.org\n    ServerName www.toolserver.org\n    ServerAlias toolserver.org\n    ServerAlias *.www.toolserver.org\n    ServerAlias stable.toolserver.org\n    ServerAlias wiki.toolserver.org\n\n    SSLEngine on\n    SSLCertificateFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.crt\n    SSLCertificateChainFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.chained.crt\n    SSLCertificateKeyFile /etc/acmecerts/tools-legacy/live/ec-prime256v1.key\n    SSLProtocol all -SSLv2 -SSLv3\n    SSLCipherSuite -ALL:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA\n    SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256\n    SSLHonorCipherOrder On\n    SSLOpenSSLConfCmd DHParameters \"/etc/ssl/dhparam.pem\"\n\n    Header always set Report-To '{\"group\": \"wm_nel\", \"max_age\": 604800, \"endpoints\": [{\"url\": \"https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0\"}]}'\n    Header always set NEL '{\"report_to\": \"wm_nel\", \"max_age\": 604800, \"failure_fraction\": 0.05, \"success_fraction\": 0.0}'\n\n    DocumentRoot /var/www/www.toolserver.org/\n\n    CustomLog /var/log/apache2/www.toolserver.org-access.log wmf\n    ErrorLog /var/log/apache2/www.toolserver.org-error.log\n    LogLevel warn\n    ServerSignature Off\n\n    ErrorDocument 404 /notfound.html\n\n    RewriteEngine on\n\n    # Redirect wiki.toolserver.org to mediawiki.org.\n    RewriteCond %{HTTP_HOST} =wiki.toolserver.org [NC]\n    RewriteRule ^/view/(.*)$ https://www.mediawiki.org/wiki/Toolserver:$1 [L,R]\n\n    # T224265 - Redirect ~nikola/svgtranslate.php?svg=* to svgtranslate tool\n    RewriteCond %{QUERY_STRING} ^svg=(.*)$\n    RewriteRule ^/~nikola/svgtranslate.php$ https://svgtranslate.toolforge.org/search?filename=%1 [L,R=301]\n\n    # Redirects from www.toolserver.org\n    #\n    Redirect 301 /~acc https://accounts.wmflabs.org\n    Redirect 301 /~alexxw/Denkmalliste https://denkmalliste.toolforge.org\n    Redirect 301 /~alexz/pop/config.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/edit.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/requests.php https://popularpages.toolforge.org/config.php\n    Redirect 301 /~alexz/pop/view.php https://popularpages.toolforge.org/view.php\n    Redirect 301 /~alexz/pop/graph.php https://popularpages.toolforge.org/graph.php\n    Redirect 301 /~alexz/pop/list.php https://popularpages.toolforge.org/list.php\n    Redirect 301 /~alexz/pop/index.php https://popularpages.toolforge.org/index.php\n    Redirect 301 /~alexz/amdb https://amdb.toolforge.org\n    Redirect 301 /~alexz/coord https://geophotoreq.toolforge.org\n    Redirect 301 /~apper/pd/person https://persondata.toolforge.org/p\n    Redirect 301 /~apper/pd https://persondata.toolforge.org\n    Redirect 301 /~apper/sc https://spellcheck.toolforge.org\n    Redirect 301 /~apper/ipp https://ipp.toolforge.org\n    Redirect 301 /~beta16 https://betabot.toolforge.org\n    Redirect 301 /~betacommand https://betacommand-dev.toolforge.org\n    Redirect 301 /~bryan/flickr https://flickr.toolforge.org/byebye.html\n    Redirect 301 /~chm/blockcalc https://blockcalc.toolforge.org\n    Redirect 301 /~chm/blockcalc.php https://blockcalc.toolforge.org\n    Redirect 301 /~dalba/gbcfarsi.fcgi https://yadkard.toolforge.org\n    Redirect 301 /~dalba/yadkard.fcgi https://yadkard.toolforge.org\n    Redirect 301 /~dalba https://wikitech.wikimedia.org/wiki/User:Dalba\n    Redirect 301 /~daniel/WikiSense/CatScan.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~daniel/potd https://potd-feed.toolforge.org/potd.php\n    Redirect 301 /~daniel/WikiSense/CategoryIntersect.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~daniel/WikiSense/Contributors.php https://xtools.toolforge.org/articleinfo\n    Redirect 301 /~daniel/WikiSense https://wikisense.toolforge.org\n    Redirect 301 /~dapete/ime https://imagemapedit.toolforge.org\n    Redirect 301 /~dapete/random/dewiki-exzellent.php https://random-featured.toolforge.org/redirect/dewiki\n    Redirect 301 /~dapete/random/dewiki-lesenswert.php https://random-featured.toolforge.org/redirect/dewiki-lesenswert\n    Redirect 301 /~dapete/random/enwiki-featured.php https://random-featured.toolforge.org/redirect/enwiki\n    Redirect 301 /~dapete/random/enwiki-good.php https://random-featured.toolforge.org/redirect/enwiki-good\n    Redirect 301 /~dapete/random/nowiki-utmerkede.php https://random-featured.toolforge.org/redirect/nowiki\n    Redirect 301 /~dapete/random/nowiki-anbefalte.php https://random-featured.toolforge.org/redirect/nowiki-anbefalte\n    Redirect 301 /~dapete/rss/dewikinews.php https://dewikinews-rss.toolforge.org\n    Redirect 301 /~dapete/wikinews-rss/rss-de-cat.php https://dewikinews-rss.toolforge.org/kategorie\n    Redirect 301 /~dapete/catgraph/graph.php https://vcat.toolforge.org/catgraphRedirect\n    Redirect 301 /~dapete/catgraph https://vcat.toolforge.org/catgraphConvert\n    Redirect 301 /~dartar/cite-o-meter https://cite-o-meter.toolforge.org\n    Redirect 301 /~dcoetzee/duplicationdetector https://dupdet.toolforge.org\n    Redirect 301 /~dereckson/translate https://translate.toolforge.org\n    Redirect 301 /~dispenser https://dispenser.toolforge.org\n    Redirect 301 /~dschwen/wma/iframe.html https://wma.wmflabs.org/iframe.html\n    Redirect 301 /~dschwen/wma https://wma.wmflabs.org\n    Redirect 301 /~dungodung https://rightstool.toolforge.org\n    Redirect 301 /~earwig/copyvios https://copyvios.toolforge.org\n    Redirect 301 /~earwig/settings https://copyvios.toolforge.org/settings\n    Redirect 301 /~earwig https://copyvios.toolforge.org\n    Redirect 301 /~eccenux/authors https://authors.toolforge.org\n    Redirect 301 /~eccenux https://dna.toolforge.org\n    Redirect 301 /~emijrp/wikimediacounter https://wmcounter.toolforge.org\n    Redirect 301 /~emijrp/wlm/stats.php https://wlm-stats.toolforge.org\n    Redirect 301 /~emijrp/wmcharts https://wmcharts.toolforge.org\n    Redirect 301 /~emijrp/wlm/spain https://wlm-maps.toolforge.org/\n    Redirect 301 /~enwp10 https://enwp10.toolforge.org/\n    Redirect 301 /~erfgoed https://heritage.toolforge.org\n    Redirect 301 /~erwin85 https://erwin85.toolforge.org\n    Redirect 301 /~geohack https://geohack.toolforge.org/\n    Redirect 301 /~hoo https://hoo.toolforge.org\n    Redirect 301 /~jarry/svgtranslate/doc/index.html /~jarry/svgtranslate/doc/index.php\n    Redirect 301 /~jarry/svgcheck https://svgcheck.toolforge.org\n    Redirect 301 /~jarry/wikicup https://wikicup.toolforge.org\n    Redirect 301 /~jarry/grep https://grep.toolforge.org\n    Redirect 301 /~jarry/templatecount https://templatecount.toolforge.org\n    Redirect 301 /~jarry/yourpaintings/index.php https://jarry-common.toolforge.org/migration.php\n    Redirect 301 /~jarry/imagechecker https://imagechecker.toolforge.org\n    Redirect 301 /~jbarta/resize.html https://image-resize-calc.toolforge.org\n    Redirect 301 /~jimmy https://jimmy.toolforge.org\n    Redirect 301 /~jitse/tool.php https://new.toolforge.org/tool.php\n    Redirect 301 /~johang/wikitrends https://wikitrends.toolforge.org\n    Redirect 301 /~johang/2012.html https://wikitrends.toolforge.org/2012.html\n    Redirect 301 /~johang/2013.html https://wikitrends.toolforge.org/2013.html\n    Redirect 301 /~kolossos/openlayers/kml-on-ol.php https://wiwosm.toolforge.org/osm-on-ol/kml-on-ol.php\n    Redirect 301 /~kolossos/openlayers/kml-on-ol-json3.php https://wiwosm.toolforge.org/osm-on-ol/kml-on-ol.php\n    Redirect 301 /~kolossos/openlayers/embed.html https://wiwosm.toolforge.org/osm-on-ol/embed-labs.html\n    Redirect 301 /~kolossos/wp-world/umkreis.php https://wp-world.toolforge.org/umkreis.php\n    Redirect 301 /~kolossos/openlayers/commons-on-osm.php https://wiwosm.toolforge.org/osm-on-ol/commons-on-osm.php\n    Redirect 301 /~kolossos/templatetiger https://templatetiger.toolforge.org\n    Redirect 301 /~kolossos/earth.php https://wp-world.toolforge.org/earth.php\n    Redirect 301 /~kolossos/world-link.php https://wp-world.toolforge.org/world-link.php\n    Redirect 301 /~kolossos/geoworld https://wp-world.toolforge.org\n    Redirect 301 /~kolossos/qtm2 https://query2map.toolforge.org\n    Redirect 301 /~kolossos/image https://zoomable-images.toolforge.org\n    Redirect 301 /~kolossos/osm-add-tags https://osm-add-tags.toolforge.org\n    Redirect 301 /~krinkle https://krinkle-redirect.toolforge.org\n    Redirect 301 /~legoktm https://meta.wikimedia.org/wiki/User:Legoktm/Toolserver?from=\n    Redirect 301 /~liangent https://liangent-toolserver.toolforge.org\n    Redirect 301 /~locator https://locator.toolforge.org\n    Redirect 301 /~luxo/contributions/contributions.php https://guc.toolforge.org/index.php\n    Redirect 301 /~lvova https://connectivity.toolforge.org/\n    Redirect 301 /~magnus/commonsapi.php https://magnus-toolserver.toolforge.org/commonsapi.php\n    Redirect 301 /~magnus/ts2/geneawiki2 https://reasonator.toolforge.org/geneawiki2\n    Redirect 301 /~magnus/catscan_rewrite.php https://catscan2.toolforge.org/catscan2.php\n    Redirect 301 /~magnus/geograph_org2commons.php https://geograph2commons.toolforge.org\n    Redirect 301 /~magnus/catfood.php https://catfood.toolforge.org/catfood.php\n    Redirect 301 /~magnus/commonshelper.php https://commonshelper.toolforge.org\n    Redirect 301 /~magnus/templator.php https://templator.toolforge.org\n    Redirect 301 /~magnus/transparent.php https://magnustools.toolforge.org/transparent.php\n    Redirect 301 /~magnus/wd_terminator.php https://wikidata-terminator.toolforge.org/index.php\n    Redirect 301 /~magnus/commons_sumitup.php https://multidesc.toolforge.org\n    Redirect 301 /~magnus/whatisthat.php https://multidesc.toolforge.org\n    Redirect 301 /~magnus/isin.php https://isin.toolforge.org\n    Redirect 301 /~magnus/catnap.php https://catnap.toolforge.org\n    Redirect 301 /~magnus/flickr2commons.php https://flickr2commons.toolforge.org\n    Redirect 301 /~magnus/isbn2wiki.php https://isbn2wiki.toolforge.org\n    Redirect 301 /~magnus/dnb_link_finder.php https://dnbtools.toolforge.org/dnb_link_finder.php\n    Redirect 301 /~magnus/prepbio.php https://magnustools.toolforge.org/prepbio.php\n    Redirect 301 /~magnus/tab2wiki.php https://magnustools.toolforge.org/tab2wiki.php\n    Redirect 301 /~magnus/flickrfree.php https://magnustools.toolforge.org/flickrfree.php\n    Redirect 301 /~magnus/pages_in_cats.php https://catscan2.toolforge.org/pages_in_cats.php\n    Redirect 301 /~magnus/dnb_wikisource.php https://dnbtools.toolforge.org/dnb_wikisource.php\n    Redirect 301 /~magnus/dnb/map2wp.php https://dnbtools.toolforge.org/map2wp.php\n    Redirect 301 /~magnus/category_intersection.php https://catscan2.toolforge.org/quick_intersection.php\n    Redirect 301 /~magnus/get_article_intro.php https://magnustools.toolforge.org/get_article_intro.php\n    Redirect 301 /~magnus/get_distinct_authors.php https://magnustools.toolforge.org/get_distinct_authors.php\n    Redirect 301 /~magnus/update_article_counter.php https://magnustools.toolforge.org/update_article_counter.php\n    Redirect 301 /~magnus/most_wanted.php https://most-wanted.toolforge.org\n    Redirect 301 /~magnus/widget https://glamtools.toolforge.org/widget\n    Redirect 301 /~magnus/userdupes.php https://filedupes.toolforge.org\n    Redirect 301 /~magnus/commons_dupes.php https://filedupes.toolforge.org\n    Redirect 301 /~magnus/makeref.php https://makeref.toolforge.org\n    Redirect 301 /~magnus/wikitodo.php https://wiki-todo.toolforge.org\n    Redirect 301 /~magnus/wp_data_url.php https://magnustools.toolforge.org/wp_data_url.php\n    Redirect 301 /~magnus/wiki2playlist.php https://magnustools.toolforge.org/wiki2playlist.php\n    Redirect 301 /~magnus/iCommons.php https://icommons.toolforge.org\n    Redirect 301 /~magnus/glamorous.php https://glamtools.toolforge.org/glamorous.php\n    Redirect 301 /~magnus/baglama.php https://glamtools.toolforge.org/baglama.php\n    Redirect 301 /~magnus/file_reuse https://magnustools.toolforge.org/file_reuse\n    Redirect 301 /~magnus/all_no_information.php https://add-information.toolforge.org/no_information.php\n    Redirect 301 /~magnus/mynoinfo.php https://add-information.toolforge.org/no_information.php\n    Redirect 301 /~magnus/fist.php https://fist.toolforge.org/fist.php\n    Redirect 301 /~magnus/missingtopics.php https://missingtopics.toolforge.org/?\n    Redirect 301 /~magnus/book2scroll https://book2scroll.toolforge.org\n    Redirect 301 /~magnus/html2wiki.php https://magnustools.toolforge.org/html2wiki.php\n    Redirect 301 /~magnus/url2commons.php https://url2commons.toolforge.org\n    Redirect 301 /~magnus/file_siblings.php https://file-siblings.toolforge.org\n    Redirect 301 /~magnus/commons_image_feed.php https://catfood.toolforge.org/commons_image_feed.php\n    Redirect 301 /~magnus/bad_boys.php https://usualsuspects.toolforge.org\n    Redirect 301 /~magnus/bad_old_ones.php https://usualsuspects.toolforge.org\n    Redirect 301 /~magnus/cas.php https://magnustools.toolforge.org/cas.php\n    Redirect 301 /~magnus/add_information.php https://add-information.toolforge.org\n    Redirect 301 /~magnus/random_out_of_sight.php https://sighting.toolforge.org/random_out_of_sight.php\n    Redirect 301 /~magnus/outofsight.php https://sighting.toolforge.org/outofsight.php\n    Redirect 301 /~magnus/deep_insight.php https://sighting.toolforge.org/deep_insight.php\n    Redirect 301 /~magnus/deep_out_of_sight.php https://sighting.toolforge.org/deep_out_of_sight.php\n    Redirect 301 /~magnus/cgi-bin/flommons.pl https://magnustools.toolforge.org/flommons.pl\n    Redirect 301 /~magnus/wikishootme https://wikishootme.toolforge.org\n    Redirect 301 /~magnus/ts2/geneawiki https://magnus-toolserver.toolforge.org/ts2/geneawiki\n    Redirect 301 /~magnus/geohack https://geohack.toolforge.org\n    Redirect 301 /~magnus/geo https://geohack.toolforge.org\n    Redirect 301 /~magnus/joanjoc/sugart.php https://joanjoc.toolforge.org/sugart.php\n    Redirect 301 /~magnus https://magnustools.toolforge.org\n    Redirect 301 /~master https://wiwosm.toolforge.org\n    Redirect 303 /~mathbot https://mathbot.toolforge.org/\n    Redirect 301 /~multichill/coordinates.php https://locator.toolforge.org/coordinates.php\n    Redirect 301 /~multichill/coordinates2.php https://locator.toolforge.org/coordinates.php\n    Redirect 301 /~multichill/monapi/api.php https://heritage.toolforge.org/api/api.php\n    Redirect 301 /~multichill/temp/queries https://multichill.toolforge.org/queries\n    Redirect 301 /~multichill https://multichill.toolforge.org\n    Redirect 301 /~mxn https://tilde.toolforge.org\n    Redirect 301 /~mzmcbride/yanker https://pirsquared.toolforge.org/ts_archive/mzmcbride/yanker.py\n    Redirect 301 /~nikola/articlesby.php https://xpages.toolforge.org\n    Redirect 301 /~nikola/svgtranslate.php https://svgtranslate.toolforge.org/\n    Redirect 301 /~nlwikibots https://nlwikibots.toolforge.org\n    Redirect 301 /~para/region.php https://para.toolforge.org/geo/worldadmin98\n    Redirect 301 /~para/GeoCommons/kml.php https://geocommons.toolforge.org/kml\n    Redirect 301 /~para/GeoCommons/GeoCommons-simple.kml https://geocommons.toolforge.org/web.kml\n    Redirect 301 /~para/GeoCommons/GeoCommons.kml https://geocommons.toolforge.org/geocommons.kml\n    Redirect 301 /~para/cgi-bin/kmlexport https://kmlexport.toolforge.org\n    Redirect 301 /~para/Commons:Special:NewFiles https://para.toolforge.org/Commons:Special:NewFiles\n    Redirect 301 /~para/GeoCommons/earth.php https://geocommons.toolforge.org/earth.kml\n    Redirect 301 /~para/GeoCommons/info.php https://geocommons.toolforge.org/info.php\n    Redirect 301 /~para/GeoCommons/proximityrama https://geocommons.toolforge.org/proximityrama\n    Redirect 301 /~para/earth.php https://geocommons.toolforge.org/earth.kml\n    Redirect 301 /~para/GeoCommons/geocodingtodo.php https://geocommons.toolforge.org/geocodingtodo\n    Redirect 301 /~para/cgi-bin/wgs2tky https://para.toolforge.org/geo/convert/wgs2tky\n    Redirect 301 /~para/WGS84toRT90.php https://para.toolforge.org/geo/convert/WGS84toRT90\n    Redirect 301 /~para/kkj.php https://para.toolforge.org/geo/convert/kkj\n    Redirect 301 /~para/kkj2wiki.php https://para.toolforge.org/geo/convert/kkj2wiki\n    Redirect 301 /~para/geoportail.php https://para.toolforge.org/ripts/geoportail-changed-links.html\n    Redirect 301 /~para/geonotices.php https://para.toolforge.org/geo/geonotices\n    Redirect 301 /~para/coordmissing https://para.toolforge.org/ripts/coordmissing\n    Redirect 301 /~para https://para.toolforge.org/ripts\n    Redirect 301 /~pathoschild https://pathoschild-contrib.toolforge.org\n    Redirect 301 /~phe/statistics.php https://phetools.toolforge.org/statistics.php\n    Redirect 301 /~phe/stats.html https://phetools.toolforge.org/stats.html\n    Redirect 301 /~phe/transclusions.html https://phetools.toolforge.org/transclusions.html\n    Redirect 301 /~phe/ocr.php https://phetools.toolforge.org/ocr.php\n    Redirect 301 /~phe/robot.php https://phetools.toolforge.org/match_and_split.php\n    Redirect 301 /~phe https://phetools.toolforge.org\n    Redirect 301 /~pietrodn/intersectContribs.php https://intersect-contribs.toolforge.org\n    Redirect 301 /~render https://render.toolforge.org\n    Redirect 301 /~robin https://robin.toolforge.org\n    Redirect 301 /~russell/cgi-bin/csd.py https://russbot.toolforge.org/csd.py\n    Redirect 301 /~russell/cgi-bin/long_disambig_pages.py https://russbot.toolforge.org/long_disambig_pages.py\n    Redirect 301 /~seth/grep_regexp_from_url.cgi https://searchsbl.toolforge.org\n    Redirect 301 /~seth/google_url_converter.cgi https://url-converter.toolforge.org\n    Redirect 301 /~sk/checkwiki https://checkwiki.toolforge.org/cgi-bin/checkwiki.cgi\n    Redirect 301 /~snottywong https://jackbot.toolforge.org/snottywong\n    Redirect 301 /~soxred93 https://xtools.toolforge.org\n    Redirect 301 /~stewardbots https://stewardbots.toolforge.org\n    Redirect 301 /~timl/wikilint https://wikilint.toolforge.org\n    Redirect 301 /~timl https://de.wikipedia.org/wiki/Benutzer:Tim.landscheidt\n    Redirect 301 /~tparis https://xtools.toolforge.org\n    Redirect 301 /~verisimilus/Timeline https://timescale.toolforge.org/?Ma=\n    Redirect 301 /~vvv/adminstats.php https://xtools.toolforge.org/adminstats\n    Redirect 301 /~webboy/wikirc https://jeltebot.toolforge.org\n    Redirect 301 /~wiegels/wikipedia-termine.php https://icalendar.toolforge.org/\n    Redirect 301 /~wikifeeds https://wikifeeds.toolforge.org/\n\n    # things that are GONE and clients should stop even trying\n    # contact http://wiki.openstreetmap.org/wiki/User:Colin_Marquardt\n    Redirect gone /~cmarqu\n    # https://phabricator.wikimedia.org/T282889\n    Redirect gone /tiles\n    Redirect gone /~mzmcbride\n    Redirect gone /~timl/templatecheck.php\n    Redirect gone /~webboy/commonswiki/stats.php\n    Redirect gone /~webboy/nowiki/stats.php\n    Redirect gone /~webboy/stats.php\n\n    # Redirects from stable.toolserver.org\n    #\n    Redirect 301 /geohack https://geohack.toolforge.org\n\n</VirtualHost>\n","owner":"root","group":"root","mode":"0444","notify":"Service[apache2]"}},{"type":"File","title":"/etc/apache2/sites-enabled/50-www-toolserver-org.conf","tags":["file","httpd::conf","httpd","conf","www.toolserver.org","httpd::site","site","class","profile::toolforge::legacy_redirector","profile","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/httpd/manifests/conf.pp","line":80,"exported":false,"kind":"compilable_type","parameters":{"ensure":"link","target":"/etc/apache2/sites-available/50-www-toolserver-org.conf","notify":"Service[apache2]","owner":"root","group":"root"}},{"type":"File","title":"/lib/systemd/system/prometheus_puppet_agent_stats.timer","tags":["file","systemd::unit","systemd","unit","prometheus_puppet_agent_stats.timer","systemd::service","service","prometheus_puppet_agent_stats","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of prometheus_puppet_agent_stats.service\n\n[Timer]\nUnit=prometheus_puppet_agent_stats.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=minutely\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus_puppet_agent_stats.timer (prometheus_puppet_agent_stats.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus_puppet_agent_stats.timer (prometheus_puppet_agent_stats.timer)","tags":["exec","systemd::unit","systemd","unit","prometheus_puppet_agent_stats.timer","systemd::service","service","prometheus_puppet_agent_stats","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_puppet_agent","prometheus","node_puppet_agent","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/lib/systemd/system/clean_puppet_client_bucket.timer","tags":["file","systemd::unit","systemd","unit","clean_puppet_client_bucket.timer","systemd::service","service","clean_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of clean_puppet_client_bucket.service\n\n[Timer]\nUnit=clean_puppet_client_bucket.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=24h\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for clean_puppet_client_bucket.timer (clean_puppet_client_bucket.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for clean_puppet_client_bucket.timer (clean_puppet_client_bucket.timer)","tags":["exec","systemd::unit","systemd","unit","clean_puppet_client_bucket.timer","systemd::service","service","clean_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::client_bucket","profile","puppet","client_bucket","profile::puppet::agent","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/lib/systemd/system/puppet-agent-timer.timer","tags":["file","systemd::unit","systemd","unit","puppet-agent-timer.timer","systemd::service","service","puppet-agent-timer","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of puppet-agent-timer.service\n\n[Timer]\nUnit=puppet-agent-timer.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:6/30:00\nOnStartupSec=1min\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for puppet-agent-timer.timer (puppet-agent-timer.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for puppet-agent-timer.timer (puppet-agent-timer.timer)","tags":["exec","systemd::unit","systemd","unit","puppet-agent-timer.timer","systemd::service","service","puppet-agent-timer","systemd::timer","timer","systemd::timer::job","job","class","profile::puppet::agent","profile","puppet","agent","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[puppet-agent-timer.timer]"]}},{"type":"Service","title":"wmf_auto_restart_systemd-timesyncd.timer","tags":["service","wmf_auto_restart_systemd-timesyncd.timer","systemd::service","systemd","wmf_auto_restart_systemd-timesyncd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_systemd-timesyncd.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_systemd-timesyncd.timer","systemd::service","service","wmf_auto_restart_systemd-timesyncd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_systemd-timesyncd.service\n\n[Timer]\nUnit=wmf_auto_restart_systemd-timesyncd.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 18:16:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_systemd-timesyncd.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-systemd-timesyncd.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_systemd-timesyncd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_systemd-timesyncd\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_systemd-timesyncd/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_systemd-timesyncd","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_systemd-timesyncd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_systemd-timesyncd\n\n/var/log/wmf_auto_restart_systemd-timesyncd/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"wmf_auto_restart_prometheus-node-exporter.timer","tags":["service","wmf_auto_restart_prometheus-node-exporter.timer","systemd::service","systemd","wmf_auto_restart_prometheus-node-exporter","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_prometheus-node-exporter.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_prometheus-node-exporter.timer","systemd::service","service","wmf_auto_restart_prometheus-node-exporter","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_prometheus-node-exporter.service\n\n[Timer]\nUnit=wmf_auto_restart_prometheus-node-exporter.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 18:27:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_prometheus-node-exporter.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-prometheus-node-exporter.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_prometheus-node-exporter","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_prometheus-node-exporter\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_prometheus-node-exporter/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_prometheus-node-exporter","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_prometheus-node-exporter","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_prometheus-node-exporter\n\n/var/log/wmf_auto_restart_prometheus-node-exporter/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"wmf_auto_restart_rsyslog.timer","tags":["service","wmf_auto_restart_rsyslog.timer","systemd::service","systemd","wmf_auto_restart_rsyslog","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_rsyslog.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_rsyslog.timer","systemd::service","service","wmf_auto_restart_rsyslog","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_rsyslog.service\n\n[Timer]\nUnit=wmf_auto_restart_rsyslog.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 0:10:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_rsyslog.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-rsyslog.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_rsyslog","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_rsyslog\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_rsyslog/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_rsyslog","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_rsyslog","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_rsyslog\n\n/var/log/wmf_auto_restart_rsyslog/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"wmf_auto_restart_lldpd.timer","tags":["service","wmf_auto_restart_lldpd.timer","systemd::service","systemd","wmf_auto_restart_lldpd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_lldpd.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_lldpd.timer","systemd::service","service","wmf_auto_restart_lldpd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_lldpd.service\n\n[Timer]\nUnit=wmf_auto_restart_lldpd.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 16:2:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_lldpd.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-lldpd.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_lldpd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_lldpd\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_lldpd/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_lldpd","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_lldpd","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_lldpd\n\n/var/log/wmf_auto_restart_lldpd/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"wmf_auto_restart_systemd-journald.timer","tags":["service","wmf_auto_restart_systemd-journald.timer","systemd::service","systemd","wmf_auto_restart_systemd-journald","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_systemd-journald.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_systemd-journald.timer","systemd::service","service","wmf_auto_restart_systemd-journald","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_systemd-journald.service\n\n[Timer]\nUnit=wmf_auto_restart_systemd-journald.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 19:23:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_systemd-journald.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-systemd-journald.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_systemd-journald","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_systemd-journald\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_systemd-journald/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_systemd-journald","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_systemd-journald","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_systemd-journald\n\n/var/log/wmf_auto_restart_systemd-journald/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"wmf_auto_restart_ssh.timer","tags":["service","wmf_auto_restart_ssh.timer","systemd::service","systemd","wmf_auto_restart_ssh","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_ssh.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_ssh.timer","systemd::service","service","wmf_auto_restart_ssh","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_ssh.service\n\n[Timer]\nUnit=wmf_auto_restart_ssh.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 19:45:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_ssh.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-ssh.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_ssh","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_ssh\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_ssh/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_ssh","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_ssh","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_ssh\n\n/var/log/wmf_auto_restart_ssh/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/kernel-purge.timer","tags":["file","systemd::unit","systemd","unit","kernel-purge.timer","systemd::service","service","kernel-purge","systemd::timer","timer","systemd::timer::job","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of kernel-purge.service\n\n[Timer]\nUnit=kernel-purge.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=monthly\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for kernel-purge.timer (kernel-purge.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for kernel-purge.timer (kernel-purge.timer)","tags":["exec","systemd::unit","systemd","unit","kernel-purge.timer","systemd::service","service","kernel-purge","systemd::timer","timer","systemd::timer::job","job","class","base::kernel","base","kernel","profile::base","profile","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[kernel-purge.timer]"]}},{"type":"File","title":"/lib/systemd/system/prometheus-debian-version-textfile.timer","tags":["file","systemd::unit","systemd","unit","prometheus-debian-version-textfile.timer","systemd::service","service","prometheus-debian-version-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of prometheus-debian-version-textfile.service\n\n[Timer]\nUnit=prometheus-debian-version-textfile.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=300s\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus-debian-version-textfile.timer (prometheus-debian-version-textfile.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus-debian-version-textfile.timer (prometheus-debian-version-textfile.timer)","tags":["exec","systemd::unit","systemd","unit","prometheus-debian-version-textfile.timer","systemd::service","service","prometheus-debian-version-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_debian_version","prometheus","node_debian_version","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[prometheus-debian-version-textfile.timer]"]}},{"type":"File","title":"/lib/systemd/system/prometheus-dpkg-success-textfile.timer","tags":["file","systemd::unit","systemd","unit","prometheus-dpkg-success-textfile.timer","systemd::service","service","prometheus-dpkg-success-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of prometheus-dpkg-success-textfile.service\n\n[Timer]\nUnit=prometheus-dpkg-success-textfile.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:00/30:00\nRandomizedDelaySec=1800\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus-dpkg-success-textfile.timer (prometheus-dpkg-success-textfile.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus-dpkg-success-textfile.timer (prometheus-dpkg-success-textfile.timer)","tags":["exec","systemd::unit","systemd","unit","prometheus-dpkg-success-textfile.timer","systemd::service","service","prometheus-dpkg-success-textfile","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_dpkg_success","prometheus","node_dpkg_success","profile::base","profile","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[prometheus-dpkg-success-textfile.timer]"]}},{"type":"File","title":"/lib/systemd/system/send_puppet_failure_emails.timer","tags":["file","systemd::unit","systemd","unit","send_puppet_failure_emails.timer","systemd::service","service","send_puppet_failure_emails","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of send_puppet_failure_emails.service\n\n[Timer]\nUnit=send_puppet_failure_emails.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*-*-* 08:15:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for send_puppet_failure_emails.timer (send_puppet_failure_emails.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for send_puppet_failure_emails.timer (send_puppet_failure_emails.timer)","tags":["exec","systemd::unit","systemd","unit","send_puppet_failure_emails.timer","systemd::service","service","send_puppet_failure_emails","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[send_puppet_failure_emails.timer]"]}},{"type":"File","title":"/lib/systemd/system/cleanup_puppet_client_bucket.timer","tags":["file","systemd::unit","systemd","unit","cleanup_puppet_client_bucket.timer","systemd::service","service","cleanup_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of cleanup_puppet_client_bucket.service\n\n[Timer]\nUnit=cleanup_puppet_client_bucket.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=24h\nOnActiveSec=1s\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for cleanup_puppet_client_bucket.timer (cleanup_puppet_client_bucket.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for cleanup_puppet_client_bucket.timer (cleanup_puppet_client_bucket.timer)","tags":["exec","systemd::unit","systemd","unit","cleanup_puppet_client_bucket.timer","systemd::service","service","cleanup_puppet_client_bucket","systemd::timer","timer","systemd::timer::job","job","class","profile::base::labs","profile","base","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/lib/systemd/system/prometheus_ssh_open_sessions.timer","tags":["file","systemd::unit","systemd","unit","prometheus_ssh_open_sessions.timer","systemd::service","service","prometheus_ssh_open_sessions","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of prometheus_ssh_open_sessions.service\n\n[Timer]\nUnit=prometheus_ssh_open_sessions.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*-*-* *:0/5:0\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for prometheus_ssh_open_sessions.timer (prometheus_ssh_open_sessions.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for prometheus_ssh_open_sessions.timer (prometheus_ssh_open_sessions.timer)","tags":["exec","systemd::unit","systemd","unit","prometheus_ssh_open_sessions.timer","systemd::service","service","prometheus_ssh_open_sessions","systemd::timer","timer","systemd::timer::job","job","class","prometheus::node_ssh_open_sessions","prometheus","node_ssh_open_sessions","profile::wmcs::instance","profile","wmcs","instance","role::wmcs::instance","role","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[prometheus_ssh_open_sessions.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_ulogd2.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_ulogd2.service","systemd::timer::job","timer","job","wmf_auto_restart_ulogd2","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Auto restart job: ulogd2\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s ulogd2\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_ulogd2.service (wmf_auto_restart_ulogd2.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_ulogd2.service (wmf_auto_restart_ulogd2.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_ulogd2.service","systemd::timer::job","timer","job","wmf_auto_restart_ulogd2","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_ulogd2","tags":["systemd::service","systemd","service","wmf_auto_restart_ulogd2","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_ulogd2.service\n\n[Timer]\nUnit=wmf_auto_restart_ulogd2.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 7:36:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_ulogd2.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_ulogd2","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_ulogd2","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_ulogd2","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_ulogd2","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_ulogd2\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_ulogd2/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_ulogd2]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_ulogd2","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_ulogd2","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for wmf_auto_restart_ulogd2\n\n/var/log/wmf_auto_restart_ulogd2/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/clean-confd-rundir.service","tags":["file","systemd::unit","systemd","unit","clean-confd-rundir.service","systemd::timer::job","timer","job","clean-confd-rundir","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Clean old stale files in /var/run/confd-template\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/bin/find /var/run/confd-template -type f -mtime +30 -delete\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for clean-confd-rundir.service (clean-confd-rundir.service)]"}},{"type":"Exec","title":"systemd daemon-reload for clean-confd-rundir.service (clean-confd-rundir.service)","tags":["exec","systemd::unit","systemd","unit","clean-confd-rundir.service","systemd::timer::job","timer","job","clean-confd-rundir","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"clean-confd-rundir","tags":["systemd::service","systemd","service","clean-confd-rundir","systemd::timer","timer","systemd::timer::job","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of clean-confd-rundir.service\n\n[Timer]\nUnit=clean-confd-rundir.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:0/30\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[clean-confd-rundir.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/clean-confd-rundir","tags":["file","systemd::syslog","systemd","syslog","clean-confd-rundir","systemd::timer::job","timer","job","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"clean-confd-rundir","tags":["rsyslog::conf","rsyslog","conf","clean-confd-rundir","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"clean-confd-rundir\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/clean-confd-rundir/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/clean-confd-rundir]","mode":"0444"}},{"type":"Logrotate::Conf","title":"clean-confd-rundir","tags":["logrotate::conf","logrotate","conf","clean-confd-rundir","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for clean-confd-rundir\n\n/var/log/clean-confd-rundir/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/confd.service","tags":["file","base::service_unit","base","service_unit","confd","confd::instance","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":89,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=confd\n\n[Service]\nUser=root\nSyslogIdentifier=%N\nEnvironment=\"CONFD_BACKEND=etcd\"\nEnvironment=\"CONFD_DISCOVERY=-srv-record _etcd-client-ssl._tcp.tools.eqiad1.wikimedia.cloud -scheme https\"\nEnvironment=\"CONFD_OPTS=-interval=3\"\nExecStart=/usr/bin/confd -backend $CONFD_BACKEND $CONFD_DISCOVERY $CONFD_OPTS\nRestart=on-failure\nRestartSec=10s\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":["Service[confd]"]}},{"type":"Exec","title":"systemd reload for confd","tags":["exec","base::service_unit","base","service_unit","confd","confd::instance","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":114,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"subscribe":"File[/lib/systemd/system/confd.service]","before":["Service[confd]"]}},{"type":"Service","title":"confd","tags":["service","confd","base::service_unit","base","service_unit","confd::instance","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/base/manifests/service_unit.pp","line":134,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true}},{"type":"Systemd::Unit","title":"confd_prometheus_metrics.service","tags":["systemd::unit","systemd","unit","confd_prometheus_metrics.service","systemd::timer::job","timer","job","confd_prometheus_metrics","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":203,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Export confd Prometheus metrics\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/confd-prometheus-metrics\n","unit":"confd_prometheus_metrics.service","restart":false,"override":false,"override_filename":"puppet-override.conf","require":["Class[Systemd]"]}},{"type":"Systemd::Timer","title":"confd_prometheus_metrics","tags":["systemd::timer","systemd","timer","confd_prometheus_metrics","systemd::timer::job","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":209,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","timer_intervals":[{"start":"OnCalendar","interval":"minutely"}],"splay":0,"fixed_random_delay":false,"accuracy":"15sec","unit_name":"confd_prometheus_metrics.service"}},{"type":"Systemd::Syslog","title":"confd_prometheus_metrics","tags":["systemd::syslog","systemd","syslog","confd_prometheus_metrics","systemd::timer::job","timer","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer/job.pp","line":236,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","base_dir":"/var/log","log_filename":"syslog.log","owner":"root","group":"root","readable_by":"all","force_stop":true,"programname_comparison":"startswith"}},{"type":"File","title":"/lib/systemd/system/nrpe2nodexp-ferm_active.service","tags":["file","systemd::unit","systemd","unit","nrpe2nodexp-ferm_active.service","systemd::timer::job","timer","job","nrpe2nodexp-ferm_active","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=execution of nrpe2nodexp for the check_ferm_active command.\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=nagios\n\nGroup=prometheus-node-exporter\nSyslogIdentifier=nrpe2nodexp-ferm_active\nExecStart=-/usr/local/bin/nrpe2nodexp --alert-rule-hash \"bba0a2572329bb500b832470e08b381c\" --timeout 10 --check-command \"check_ferm_active\"\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for nrpe2nodexp-ferm_active.service (nrpe2nodexp-ferm_active.service)]"}},{"type":"Exec","title":"systemd daemon-reload for nrpe2nodexp-ferm_active.service (nrpe2nodexp-ferm_active.service)","tags":["exec","systemd::unit","systemd","unit","nrpe2nodexp-ferm_active.service","systemd::timer::job","timer","job","nrpe2nodexp-ferm_active","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"nrpe2nodexp-ferm_active","tags":["systemd::service","systemd","service","nrpe2nodexp-ferm_active","systemd::timer","timer","systemd::timer::job","job","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of nrpe2nodexp-ferm_active.service\n\n[Timer]\nUnit=nrpe2nodexp-ferm_active.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=10min\nOnActiveSec=1s\nRandomizedDelaySec=600\nFixedRandomDelay=true\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[nrpe2nodexp-ferm_active.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_apache-htcacheclean.service","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_apache-htcacheclean.service","systemd::timer::job","timer","job","wmf_auto_restart_apache-htcacheclean","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Auto restart job: apache-htcacheclean\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/sbin/wmf-auto-restart -s apache-htcacheclean\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.service (wmf_auto_restart_apache-htcacheclean.service)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.service (wmf_auto_restart_apache-htcacheclean.service)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_apache-htcacheclean.service","systemd::timer::job","timer","job","wmf_auto_restart_apache-htcacheclean","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"wmf_auto_restart_apache-htcacheclean","tags":["systemd::service","systemd","service","wmf_auto_restart_apache-htcacheclean","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_apache-htcacheclean.service\n\n[Timer]\nUnit=wmf_auto_restart_apache-htcacheclean.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 5:12:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/wmf_auto_restart_apache-htcacheclean","tags":["file","systemd::syslog","systemd","syslog","wmf_auto_restart_apache-htcacheclean","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"wmf_auto_restart_apache-htcacheclean","tags":["rsyslog::conf","rsyslog","conf","wmf_auto_restart_apache-htcacheclean","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_apache-htcacheclean\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_apache-htcacheclean/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/wmf_auto_restart_apache-htcacheclean]","mode":"0444"}},{"type":"Logrotate::Conf","title":"wmf_auto_restart_apache-htcacheclean","tags":["logrotate::conf","logrotate","conf","wmf_auto_restart_apache-htcacheclean","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"# logrotate(8) config for wmf_auto_restart_apache-htcacheclean\n\n/var/log/wmf_auto_restart_apache-htcacheclean/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_systemd-timesyncd.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_systemd-timesyncd.timer","systemd::service","service","wmf_auto_restart_systemd-timesyncd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_systemd-timesyncd.service\n\n[Timer]\nUnit=wmf_auto_restart_systemd-timesyncd.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 18:16:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-timesyncd.timer (wmf_auto_restart_systemd-timesyncd.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_systemd-timesyncd.timer (wmf_auto_restart_systemd-timesyncd.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_systemd-timesyncd.timer","systemd::service","service","wmf_auto_restart_systemd-timesyncd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-timesyncd","class","profile::systemd::timesyncd","timesyncd","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_systemd-timesyncd.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_prometheus-node-exporter.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_prometheus-node-exporter.timer","systemd::service","service","wmf_auto_restart_prometheus-node-exporter","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_prometheus-node-exporter.service\n\n[Timer]\nUnit=wmf_auto_restart_prometheus-node-exporter.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 18:27:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_prometheus-node-exporter.timer (wmf_auto_restart_prometheus-node-exporter.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_prometheus-node-exporter.timer (wmf_auto_restart_prometheus-node-exporter.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_prometheus-node-exporter.timer","systemd::service","service","wmf_auto_restart_prometheus-node-exporter","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","prometheus-node-exporter","class","prometheus::node_exporter","prometheus","node_exporter","profile::prometheus::node_exporter","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_prometheus-node-exporter.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_rsyslog.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_rsyslog.timer","systemd::service","service","wmf_auto_restart_rsyslog","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_rsyslog.service\n\n[Timer]\nUnit=wmf_auto_restart_rsyslog.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 0:10:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_rsyslog.timer (wmf_auto_restart_rsyslog.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_rsyslog.timer (wmf_auto_restart_rsyslog.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_rsyslog.timer","systemd::service","service","wmf_auto_restart_rsyslog","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","rsyslog","class","profile::rsyslog","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_rsyslog.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_lldpd.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_lldpd.timer","systemd::service","service","wmf_auto_restart_lldpd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_lldpd.service\n\n[Timer]\nUnit=wmf_auto_restart_lldpd.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 16:2:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_lldpd.timer (wmf_auto_restart_lldpd.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_lldpd.timer (wmf_auto_restart_lldpd.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_lldpd.timer","systemd::service","service","wmf_auto_restart_lldpd","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","lldpd","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_lldpd.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_systemd-journald.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_systemd-journald.timer","systemd::service","service","wmf_auto_restart_systemd-journald","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_systemd-journald.service\n\n[Timer]\nUnit=wmf_auto_restart_systemd-journald.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 19:23:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-journald.timer (wmf_auto_restart_systemd-journald.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_systemd-journald.timer (wmf_auto_restart_systemd-journald.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_systemd-journald.timer","systemd::service","service","wmf_auto_restart_systemd-journald","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","systemd-journald","class","base::standard_packages","base","standard_packages","profile::base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_systemd-journald.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_ssh.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_ssh.timer","systemd::service","service","wmf_auto_restart_ssh","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_ssh.service\n\n[Timer]\nUnit=wmf_auto_restart_ssh.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 19:45:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_ssh.timer (wmf_auto_restart_ssh.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_ssh.timer (wmf_auto_restart_ssh.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_ssh.timer","systemd::service","service","wmf_auto_restart_ssh","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ssh","class","ssh::server","server","profile::ssh::server","profile::base","base","profile::base::labs","labs","role::wmcs::instance","role","wmcs","instance","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_ssh.timer]"]}},{"type":"Service","title":"wmf_auto_restart_ulogd2.timer","tags":["service","wmf_auto_restart_ulogd2.timer","systemd::service","systemd","wmf_auto_restart_ulogd2","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"wmf_auto_restart_ulogd2.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_ulogd2.timer","systemd::service","service","wmf_auto_restart_ulogd2","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_ulogd2.service\n\n[Timer]\nUnit=wmf_auto_restart_ulogd2.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 7:36:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_ulogd2.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-ulogd2.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_ulogd2","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_ulogd2\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_ulogd2/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_ulogd2","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_ulogd2","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_ulogd2\n\n/var/log/wmf_auto_restart_ulogd2/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"clean-confd-rundir.timer","tags":["service","clean-confd-rundir.timer","systemd::service","systemd","clean-confd-rundir","systemd::timer","timer","systemd::timer::job","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"clean-confd-rundir.timer","tags":["systemd::unit","systemd","unit","clean-confd-rundir.timer","systemd::service","service","clean-confd-rundir","systemd::timer","timer","systemd::timer::job","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of clean-confd-rundir.service\n\n[Timer]\nUnit=clean-confd-rundir.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:0/30\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"clean-confd-rundir.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-clean-confd-rundir.conf","tags":["file","rsyslog::conf","rsyslog","conf","clean-confd-rundir","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"clean-confd-rundir\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/clean-confd-rundir/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/clean-confd-rundir","tags":["file","logrotate::conf","logrotate","conf","clean-confd-rundir","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for clean-confd-rundir\n\n/var/log/clean-confd-rundir/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/confd_prometheus_metrics.service","tags":["file","systemd::unit","systemd","unit","confd_prometheus_metrics.service","systemd::timer::job","timer","job","confd_prometheus_metrics","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Export confd Prometheus metrics\nDocumentation=https://wikitech.wikimedia.org/wiki/Monitoring/systemd_unit_state\n\n[Service]\nType=oneshot\nUser=root\nExecStart=/usr/local/bin/confd-prometheus-metrics\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for confd_prometheus_metrics.service (confd_prometheus_metrics.service)]"}},{"type":"Exec","title":"systemd daemon-reload for confd_prometheus_metrics.service (confd_prometheus_metrics.service)","tags":["exec","systemd::unit","systemd","unit","confd_prometheus_metrics.service","systemd::timer::job","timer","job","confd_prometheus_metrics","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"Systemd::Service","title":"confd_prometheus_metrics","tags":["systemd::service","systemd","service","confd_prometheus_metrics","systemd::timer","timer","systemd::timer::job","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/timer.pp","line":54,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","unit_type":"timer","content":"[Unit]\nDescription=Periodic execution of confd_prometheus_metrics.service\n\n[Timer]\nUnit=confd_prometheus_metrics.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=minutely\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","require":"Systemd::Unit[confd_prometheus_metrics.service]","restart":false,"override":false,"monitoring_enabled":false,"monitoring_contact_group":"admins","monitoring_critical":false,"service_params":{},"migration_task":"T407130"}},{"type":"File","title":"/var/log/confd_prometheus_metrics","tags":["file","systemd::syslog","systemd","syslog","confd_prometheus_metrics","systemd::timer::job","timer","job","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":65,"exported":false,"kind":"compilable_type","parameters":{"ensure":"directory","owner":"root","group":"root","mode":"0755","force":true,"backup":false}},{"type":"Rsyslog::Conf","title":"confd_prometheus_metrics","tags":["rsyslog::conf","rsyslog","conf","confd_prometheus_metrics","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":75,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"confd_prometheus_metrics\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/confd_prometheus_metrics/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","priority":40,"require":"File[/var/log/confd_prometheus_metrics]","mode":"0444"}},{"type":"Logrotate::Conf","title":"confd_prometheus_metrics","tags":["logrotate::conf","logrotate","conf","confd_prometheus_metrics","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/syslog.pp","line":97,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"# logrotate(8) config for confd_prometheus_metrics\n\n/var/log/confd_prometheus_metrics/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"Service","title":"nrpe2nodexp-ferm_active.timer","tags":["service","nrpe2nodexp-ferm_active.timer","systemd::service","systemd","nrpe2nodexp-ferm_active","systemd::timer","timer","systemd::timer::job","job","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"nrpe2nodexp-ferm_active.timer","tags":["systemd::unit","systemd","unit","nrpe2nodexp-ferm_active.timer","systemd::service","service","nrpe2nodexp-ferm_active","systemd::timer","timer","systemd::timer::job","job","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of nrpe2nodexp-ferm_active.service\n\n[Timer]\nUnit=nrpe2nodexp-ferm_active.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=10min\nOnActiveSec=1s\nRandomizedDelaySec=600\nFixedRandomDelay=true\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"nrpe2nodexp-ferm_active.timer","require":["Class[Systemd]"]}},{"type":"Service","title":"wmf_auto_restart_apache-htcacheclean.timer","tags":["service","wmf_auto_restart_apache-htcacheclean.timer","systemd::service","systemd","wmf_auto_restart_apache-htcacheclean","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"stopped","enable":false,"provider":"systemd","before":["Exec[systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.timer (wmf_auto_restart_apache-htcacheclean.timer)]"]}},{"type":"Systemd::Unit","title":"wmf_auto_restart_apache-htcacheclean.timer","tags":["systemd::unit","systemd","unit","wmf_auto_restart_apache-htcacheclean.timer","systemd::service","service","wmf_auto_restart_apache-htcacheclean","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_apache-htcacheclean.service\n\n[Timer]\nUnit=wmf_auto_restart_apache-htcacheclean.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 5:12:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"wmf_auto_restart_apache-htcacheclean.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-wmf-auto-restart-apache-htcacheclean.conf","tags":["file","rsyslog::conf","rsyslog","conf","wmf_auto_restart_apache-htcacheclean","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"wmf_auto_restart_apache-htcacheclean\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/wmf_auto_restart_apache-htcacheclean/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/wmf_auto_restart_apache-htcacheclean","tags":["file","logrotate::conf","logrotate","conf","wmf_auto_restart_apache-htcacheclean","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","profile::auto_restarts::service","profile","auto_restarts","service","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for wmf_auto_restart_apache-htcacheclean\n\n/var/log/wmf_auto_restart_apache-htcacheclean/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_ulogd2.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_ulogd2.timer","systemd::service","service","wmf_auto_restart_ulogd2","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_ulogd2.service\n\n[Timer]\nUnit=wmf_auto_restart_ulogd2.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 7:36:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_ulogd2.timer (wmf_auto_restart_ulogd2.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_ulogd2.timer (wmf_auto_restart_ulogd2.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_ulogd2.timer","systemd::service","service","wmf_auto_restart_ulogd2","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","ulogd2","class","ulogd","profile::firewall::log::ferm","firewall","log","ferm","profile::firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[wmf_auto_restart_ulogd2.timer]"]}},{"type":"File","title":"/lib/systemd/system/clean-confd-rundir.timer","tags":["file","systemd::unit","systemd","unit","clean-confd-rundir.timer","systemd::service","service","clean-confd-rundir","systemd::timer","timer","systemd::timer::job","job","class","confd","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of clean-confd-rundir.service\n\n[Timer]\nUnit=clean-confd-rundir.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=*:0/30\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for clean-confd-rundir.timer (clean-confd-rundir.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for clean-confd-rundir.timer (clean-confd-rundir.timer)","tags":["exec","systemd::unit","systemd","unit","clean-confd-rundir.timer","systemd::service","service","clean-confd-rundir","systemd::timer","timer","systemd::timer::job","job","class","confd","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[clean-confd-rundir.timer]"]}},{"type":"Service","title":"confd_prometheus_metrics.timer","tags":["service","confd_prometheus_metrics.timer","systemd::service","systemd","confd_prometheus_metrics","systemd::timer","timer","systemd::timer::job","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":59,"kind":"compilable_type","exported":false,"parameters":{"ensure":"running","enable":true,"provider":"systemd"}},{"type":"Systemd::Unit","title":"confd_prometheus_metrics.timer","tags":["systemd::unit","systemd","unit","confd_prometheus_metrics.timer","systemd::service","service","confd_prometheus_metrics","systemd::timer","timer","systemd::timer::job","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/service.pp","line":61,"exported":false,"kind":"defined_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of confd_prometheus_metrics.service\n\n[Timer]\nUnit=confd_prometheus_metrics.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=minutely\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","override":false,"override_filename":"puppet-override.conf","restart":false,"unit":"confd_prometheus_metrics.timer","require":["Class[Systemd]"]}},{"type":"File","title":"/etc/rsyslog.d/40-confd-prometheus-metrics.conf","tags":["file","rsyslog::conf","rsyslog","conf","confd_prometheus_metrics","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/rsyslog/manifests/conf.pp","line":55,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"# rsyslog.conf(5) configuration file for services.\n# This file is managed by Puppet.\nif $programname startswith \"confd_prometheus_metrics\" then {\n    action(\n        type=\"omfile\" file=\"/var/log/confd_prometheus_metrics/syslog.log\"\n        fileOwner=\"root\" fileGroup=\"root\"\n        fileCreateMode=\"0644\"\n    )\n    & stop\n}\n","owner":"root","group":"root","mode":"0444","notify":"Service[rsyslog]"}},{"type":"File","title":"/etc/logrotate.d/confd_prometheus_metrics","tags":["file","logrotate::conf","logrotate","conf","confd_prometheus_metrics","systemd::syslog","systemd","syslog","systemd::timer::job","timer","job","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/logrotate/manifests/conf.pp","line":14,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","owner":"root","group":"root","mode":"0444","content":"# logrotate(8) config for confd_prometheus_metrics\n\n/var/log/confd_prometheus_metrics/*.log {\n    daily\n    copytruncate\n    missingok\n    compress\n    delaycompress\n    notifempty\n    rotate 15\n    size 256M\n}\n"}},{"type":"File","title":"/lib/systemd/system/nrpe2nodexp-ferm_active.timer","tags":["file","systemd::unit","systemd","unit","nrpe2nodexp-ferm_active.timer","systemd::service","service","nrpe2nodexp-ferm_active","systemd::timer","timer","systemd::timer::job","job","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of nrpe2nodexp-ferm_active.service\n\n[Timer]\nUnit=nrpe2nodexp-ferm_active.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnUnitInactiveSec=10min\nOnActiveSec=1s\nRandomizedDelaySec=600\nFixedRandomDelay=true\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for nrpe2nodexp-ferm_active.timer (nrpe2nodexp-ferm_active.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for nrpe2nodexp-ferm_active.timer (nrpe2nodexp-ferm_active.timer)","tags":["exec","systemd::unit","systemd","unit","nrpe2nodexp-ferm_active.timer","systemd::service","service","nrpe2nodexp-ferm_active","systemd::timer","timer","systemd::timer::job","job","nrpe::monitor_service","nrpe","monitor_service","ferm_active","class","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[nrpe2nodexp-ferm_active.timer]"]}},{"type":"File","title":"/lib/systemd/system/wmf_auto_restart_apache-htcacheclean.timer","tags":["file","systemd::unit","systemd","unit","wmf_auto_restart_apache-htcacheclean.timer","systemd::service","service","wmf_auto_restart_apache-htcacheclean","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"absent","content":"[Unit]\nDescription=Periodic execution of wmf_auto_restart_apache-htcacheclean.service\n\n[Timer]\nUnit=wmf_auto_restart_apache-htcacheclean.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=Mon,Tue,Wed,Thu,Fri *-*-* 5:12:00\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.timer (wmf_auto_restart_apache-htcacheclean.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.timer (wmf_auto_restart_apache-htcacheclean.timer)","tags":["exec","systemd::unit","systemd","unit","wmf_auto_restart_apache-htcacheclean.timer","systemd::service","service","wmf_auto_restart_apache-htcacheclean","systemd::timer","timer","systemd::timer::job","job","profile::auto_restarts::service","profile","auto_restarts","apache-htcacheclean","class","httpd","profile::toolforge::legacy_redirector","toolforge","legacy_redirector","role::wmcs::toolforge::legacy_redirector","role","wmcs","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true}},{"type":"File","title":"/lib/systemd/system/confd_prometheus_metrics.timer","tags":["file","systemd::unit","systemd","unit","confd_prometheus_metrics.timer","systemd::service","service","confd_prometheus_metrics","systemd::timer","timer","systemd::timer::job","job","confd::instance","confd","instance","main","class","confd::file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":78,"exported":false,"kind":"compilable_type","parameters":{"ensure":"present","content":"[Unit]\nDescription=Periodic execution of confd_prometheus_metrics.service\n\n[Timer]\nUnit=confd_prometheus_metrics.service\n# Accuracy sets the maximum time interval around the execution time we want to allow\nAccuracySec=15sec\nOnCalendar=minutely\nRandomizedDelaySec=0\n\n[Install]\nWantedBy=multi-user.target\n","mode":"0444","owner":"root","group":"root","notify":"Exec[systemd daemon-reload for confd_prometheus_metrics.timer (confd_prometheus_metrics.timer)]"}},{"type":"Exec","title":"systemd daemon-reload for confd_prometheus_metrics.timer (confd_prometheus_metrics.timer)","tags":["exec","systemd::unit","systemd","unit","confd_prometheus_metrics.timer","systemd::service","service","confd_prometheus_metrics","systemd::timer","timer","systemd::timer::job","job","confd::instance","confd","instance","main","class","confd::file","file","profile::firewall","profile","firewall","role::wmcs::toolforge::legacy_redirector","role","wmcs","toolforge","legacy_redirector","node","default"],"file":"/srv/jenkins/puppet-compiler/6671/production/src/modules/systemd/manifests/unit.pp","line":88,"exported":false,"kind":"compilable_type","parameters":{"command":"/bin/systemctl daemon-reload","refreshonly":true,"before":["Service[confd_prometheus_metrics.timer]"]}}],"edges":[{"source":"Stage[main]","target":"Class[Settings]"},{"source":"Stage[main]","target":"Class[main]"},{"source":"Class[main]","target":"Node[default]"},{"source":"Stage[main]","target":"Class[Role::Wmcs::Instance]"},{"source":"Stage[main]","target":"Class[Profile::Base::Labs]"},{"source":"Stage[main]","target":"Class[Profile::Base]"},{"source":"Class[Profile::Base]","target":"File[/usr/local/sbin]"},{"source":"Class[Profile::Base]","target":"File[/usr/local/share/bash]"},{"source":"Stage[main]","target":"Class[Profile::Adduser]"},{"source":"Stage[main]","target":"Class[Adduser]"},{"source":"Class[Profile::Adduser]","target":"Class[Adduser]"},{"source":"Class[Adduser]","target":"File[/etc/adduser.conf]"},{"source":"Class[Adduser]","target":"Systemd::Sysuser[sysusers-base-config]"},{"source":"Class[Adduser]","target":"File_line[login.defs-SYS_UID_MAX]"},{"source":"Class[Adduser]","target":"File_line[login.defs-SYS_GID_MAX]"},{"source":"Stage[main]","target":"Class[Profile::Puppet::Agent]"},{"source":"Class[Profile::Base]","target":"Class[Profile::Puppet::Agent]"},{"source":"Stage[main]","target":"Class[Debian]"},{"source":"Class[Profile::Puppet::Agent]","target":"Apt::Pin[puppet]"},{"source":"Stage[main]","target":"Class[Puppet::Agent]"},{"source":"Class[Puppet::Agent]","target":"Package[puppet]"},{"source":"Class[Puppet::Agent]","target":"Package[facter]"},{"source":"Class[Puppet::Agent]","target":"Package[augeas-tools]"},{"source":"Class[Puppet::Agent]","target":"Package[virt-what]"},{"source":"Class[Puppet::Agent]","target":"Package[puppet-module-puppetlabs-augeas-core]"},{"source":"Class[Puppet::Agent]","target":"File[/etc/facter]"},{"source":"Class[Puppet::Agent]","target":"File[/etc/facter/facter.conf]"},{"source":"Class[Puppet::Agent]","target":"File[/etc/puppetlabs]"},{"source":"Class[Puppet::Agent]","target":"Concat[/etc/puppet/puppet.conf]"},{"source":"Class[Puppet::Agent]","target":"Concat::Fragment[main]"},{"source":"Class[Puppet::Agent]","target":"Service[puppet]"},{"source":"Stage[main]","target":"Class[Puppet_statsd]"},{"source":"Class[Puppet_statsd]","target":"File[/etc/puppet/statsd.yaml]"},{"source":"Stage[main]","target":"Class[Prometheus::Node_puppet_agent]"},{"source":"Class[Prometheus::Node_puppet_agent]","target":"Package[python3-prometheus-client]"},{"source":"Class[Prometheus::Node_puppet_agent]","target":"Package[python3-yaml]"},{"source":"Class[Prometheus::Node_puppet_agent]","target":"File[/usr/local/bin/prometheus-puppet-agent-stats]"},{"source":"Class[Prometheus::Node_puppet_agent]","target":"Systemd::Timer::Job[prometheus_puppet_agent_stats]"},{"source":"Class[Prometheus::Node_puppet_agent]","target":"Systemd::Unit[prometheus-puppet-agent-stats]"},{"source":"Class[Prometheus::Node_puppet_agent]","target":"Exec[enable prometheus-puppet-agent-stats]"},{"source":"Stage[main]","target":"Class[Profile::Puppet::Client_bucket]"},{"source":"Class[Profile::Puppet::Client_bucket]","target":"File[/var/lib/puppet/clientbucket]"},{"source":"Class[Profile::Puppet::Client_bucket]","target":"Systemd::Timer::Job[clean_puppet_client_bucket]"},{"source":"Class[Profile::Puppet::Client_bucket]","target":"Nrpe::Plugin[check_client_bucket]"},{"source":"Class[Profile::Puppet::Agent]","target":"Package[ruby-net-ssh]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/var/lib/puppet]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/share/bash/puppet-common.sh]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/sbin/puppet-run]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/bin/puppet-enabled]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/sbin/disable-puppet]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/sbin/enable-puppet]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/sbin/run-puppet-agent]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/sbin/run-no-puppet]"},{"source":"Class[Profile::Puppet::Agent]","target":"File[/usr/local/sbin/locate-unmanaged]"},{"source":"Class[Profile::Puppet::Agent]","target":"Systemd::Timer::Job[puppet-agent-timer]"},{"source":"Class[Profile::Puppet::Agent]","target":"Logrotate::Rule[puppet]"},{"source":"Class[Profile::Puppet::Agent]","target":"Rsyslog::Conf[puppet-agent]"},{"source":"Class[Profile::Puppet::Agent]","target":"Motd::Script[last-puppet-run]"},{"source":"Stage[main]","target":"Class[Profile::Base::Certificates]"},{"source":"Class[Profile::Base]","target":"Class[Profile::Base::Certificates]"},{"source":"Stage[main]","target":"Class[Sslcert]"},{"source":"Class[Sslcert::Trusted_ca]","target":"Class[Sslcert]"},{"source":"Class[Sslcert]","target":"Package[openssl]"},{"source":"Class[Sslcert]","target":"Package[ssl-cert]"},{"source":"Class[Sslcert]","target":"Package[ca-certificates]"},{"source":"Class[Sslcert]","target":"Exec[update-ca-certificates]"},{"source":"Class[Sslcert]","target":"File[/etc/ssl/localcerts]"},{"source":"Class[Sslcert]","target":"File[/etc/ssl/private]"},{"source":"Class[Sslcert]","target":"File[/usr/local/sbin/x509-bundle]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[wmf_ca_2017_2020]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[RapidSSL_SHA256_CA_-_G3]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[DigiCert_High_Assurance_CA-3]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[DigiCert_SHA2_High_Assurance_Server_CA]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[DigiCert_TLS_RSA_SHA256_2020_CA1]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[GlobalSign_Organization_Validation_CA_-_SHA256_-_G2]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[GlobalSign_RSA_OV_SSL_CA_2018.crt]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[GlobalSign_ECC_OV_SSL_CA_2018.crt]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[GlobalSign_ECC_Root_CA_R5_R3_Cross.crt]"},{"source":"Stage[main]","target":"Class[Sslcert::Trusted_ca]"},{"source":"Class[Sslcert::Trusted_ca]","target":"Concat[/etc/ssl/certs/wmf-ca-certificates.crt]"},{"source":"Class[Sslcert::Trusted_ca]","target":"File[/etc/ssl/localcerts/ca.pem]"},{"source":"Class[Sslcert::Trusted_ca]","target":"Concat::Fragment[ssl-ca-/var/lib/puppet/ssl/certs/ca.pem]"},{"source":"Class[Sslcert::Trusted_ca]","target":"Exec[generate trusted_ca]"},{"source":"Class[Profile::Base::Certificates]","target":"Sslcert::Ca[Puppet_Internal_CA]"},{"source":"Stage[main]","target":"Class[Profile::Apt]"},{"source":"Stage[main]","target":"Class[Apt]"},{"source":"Class[Profile::Apt]","target":"Class[Apt]"},{"source":"Class[Apt]","target":"Exec[apt-get update]"},{"source":"Class[Apt]","target":"File[/etc/apt/keyrings]"},{"source":"Class[Apt]","target":"File[/var/lib/apt/keys]"},{"source":"Class[Apt]","target":"Apt::Pin[wikimedia]"},{"source":"Class[Apt]","target":"File[/etc/apt/sources.list]"},{"source":"Class[Apt]","target":"Concat[/etc/apt/sources.list.d/debian.sources]"},{"source":"Class[Apt]","target":"Concat::Fragment[/etc/apt/sources.list.d/debian.sources-header]"},{"source":"Class[Apt]","target":"Apt::Repository[debian]"},{"source":"Class[Apt]","target":"Apt::Repository[debian-security]"},{"source":"Class[Apt]","target":"Apt::Repository[debian-updates]"},{"source":"Class[Apt]","target":"File[/etc/apt/sources.list.d]"},{"source":"Class[Apt]","target":"File[/etc/apt/preferences.d]"},{"source":"Class[Apt]","target":"Apt::Repository[wikimedia]"},{"source":"Class[Apt]","target":"Apt::Repository[wikimedia-private]"},{"source":"Class[Apt]","target":"Apt::Repository[debian-backports]"},{"source":"Class[Apt]","target":"Apt::Repository[debian-debug]"},{"source":"Class[Apt]","target":"Apt::Conf[InstallRecommends]"},{"source":"Class[Apt]","target":"Apt::Conf[apt-harden]"},{"source":"Class[Apt]","target":"File[/etc/apt/apt.conf]"},{"source":"Class[Apt]","target":"File[/usr/local/sbin/dist-upgrade]"},{"source":"Stage[main]","target":"Class[Profile::Systemd::Timesyncd]"},{"source":"Stage[main]","target":"Class[Systemd::Timesyncd]"},{"source":"Class[Systemd::Timesyncd]","target":"Package[ntp]"},{"source":"Class[Systemd::Timesyncd]","target":"Package[systemd-timesyncd]"},{"source":"Class[Systemd::Timesyncd]","target":"File[/etc/systemd/timesyncd.conf]"},{"source":"Class[Systemd::Timesyncd]","target":"Service[systemd-timesyncd]"},{"source":"Class[Profile::Systemd::Timesyncd]","target":"Systemd::Unit[systemd-timesyncd.service]"},{"source":"Class[Profile::Systemd::Timesyncd]","target":"Systemd::Unit[systemd-timedated.service]"},{"source":"Class[Profile::Systemd::Timesyncd]","target":"Profile::Auto_restarts::Service[systemd-timesyncd]"},{"source":"Stage[main]","target":"Class[Grub::Defaults]"},{"source":"Stage[main]","target":"Class[Grub]"},{"source":"Class[Grub]","target":"Exec[update-grub]"},{"source":"Class[Grub::Defaults]","target":"Augeas[grub2]"},{"source":"Stage[main]","target":"Class[Passwords::Root]"},{"source":"Stage[main]","target":"Class[Network::Constants]"},{"source":"Stage[main]","target":"Class[Profile::Resolving]"},{"source":"Stage[main]","target":"Class[Resolvconf]"},{"source":"Class[Resolvconf]","target":"File[/sbin/resolvconf]"},{"source":"Class[Resolvconf]","target":"File[/etc/dhcp/dhclient-enter-hooks.d]"},{"source":"Class[Resolvconf]","target":"File[/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate]"},{"source":"Class[Resolvconf]","target":"File[/etc/resolv.conf]"},{"source":"Stage[main]","target":"Class[Profile::Mail::Default_mail_relay]"},{"source":"Stage[main]","target":"Class[Profile::Logrotate]"},{"source":"Stage[main]","target":"Class[Logrotate]"},{"source":"Class[Logrotate]","target":"Package[logrotate]"},{"source":"Class[Logrotate]","target":"Systemd::Unit[logrotate.timer:hourly-override]"},{"source":"Stage[main]","target":"Class[Profile::Prometheus::Node_exporter]"},{"source":"Stage[main]","target":"Class[Prometheus::Node_exporter]"},{"source":"Class[Prometheus::Node_exporter]","target":"Package[prometheus-node-exporter]"},{"source":"Class[Prometheus::Node_exporter]","target":"File[/etc/default/prometheus-node-exporter]"},{"source":"Class[Prometheus::Node_exporter]","target":"Group[prometheus-node-exporter]"},{"source":"Class[Prometheus::Node_exporter]","target":"File[/var/lib/prometheus/node.d]"},{"source":"Class[Prometheus::Node_exporter]","target":"Base::Service_unit[prometheus-node-exporter]"},{"source":"Class[Prometheus::Node_exporter]","target":"Profile::Auto_restarts::Service[prometheus-node-exporter]"},{"source":"Stage[main]","target":"Class[Profile::Rsyslog]"},{"source":"Stage[main]","target":"Class[Rsyslog]"},{"source":"Class[Rsyslog]","target":"Package[rsyslog]"},{"source":"Class[Rsyslog]","target":"File[/etc/rsyslog.d]"},{"source":"Class[Rsyslog]","target":"Service[rsyslog]"},{"source":"Class[Rsyslog]","target":"File[/etc/rsyslog.d/00-abort-unclean-config.conf]"},{"source":"Class[Rsyslog]","target":"Profile::Auto_restarts::Service[rsyslog]"},{"source":"Class[Rsyslog]","target":"Concat[/etc/rsyslog.d/00-global.conf]"},{"source":"Class[Rsyslog]","target":"Concat::Fragment[/etc/rsyslog.d/00-global.conf-header]"},{"source":"Class[Rsyslog]","target":"Concat::Fragment[/etc/rsyslog.d/00-global.conf-trailer]"},{"source":"Class[main]","target":"Concat::Fragment[/etc/rsyslog.d/00-global.conf-parser.permitSlashInProgramName]"},{"source":"Class[Profile::Rsyslog]","target":"Logrotate::Conf[rsyslog]"},{"source":"Stage[main]","target":"Class[Profile::Syslog::Remote]"},{"source":"Class[Profile::Syslog::Remote]","target":"Package[rsyslog-openssl]"},{"source":"Class[Profile::Syslog::Remote]","target":"File[/etc/rsyslog]"},{"source":"Class[Profile::Syslog::Remote]","target":"Rsyslog::Conf[remote_syslog]"},{"source":"Stage[main]","target":"Class[Profile::Prometheus::Rsyslog_exporter]"},{"source":"Class[Profile::Prometheus::Rsyslog_exporter]","target":"Prometheus::Rsyslog_exporter[base]"},{"source":"Stage[main]","target":"Class[Profile::Prometheus::Cadvisor]"},{"source":"Stage[main]","target":"Class[Prometheus::Cadvisor]"},{"source":"Class[Prometheus::Cadvisor]","target":"Package[cadvisor]"},{"source":"Class[Prometheus::Cadvisor]","target":"Systemd::Service[cadvisor]"},{"source":"Stage[main]","target":"Class[Profile::Prometheus::Ethtool_exporter]"},{"source":"Stage[main]","target":"Class[Base::Sysctl]"},{"source":"Class[Base::Sysctl]","target":"Sysctl::Parameters[ubuntu defaults]"},{"source":"Class[Base::Sysctl]","target":"Sysctl::Parameters[wikimedia base]"},{"source":"Class[Base::Sysctl]","target":"Sysctl::Parameters[disable_unprivileged_bpf]"},{"source":"Class[Base::Sysctl]","target":"Sysctl::Parameters[unprivileged_userns_clone]"},{"source":"Class[Base::Sysctl]","target":"Sysctl::Parameters[fastopen]"},{"source":"Class[Base::Sysctl]","target":"Sysctl::Parameters[tcp_min_snd_mss]"},{"source":"Stage[main]","target":"Class[Motd]"},{"source":"Class[Motd]","target":"File[/etc/motd]"},{"source":"Class[Motd]","target":"File[/etc/update-motd.d]"},{"source":"Stage[main]","target":"Class[Motd::Defaults]"},{"source":"Class[Motd::Defaults]","target":"Motd::Script[header]"},{"source":"Class[Motd::Defaults]","target":"Motd::Script[footer]"},{"source":"Class[Profile::Base]","target":"Motd::Script[Check for restarts]"},{"source":"Stage[main]","target":"Class[Base::Standard_packages]"},{"source":"Class[Base::Standard_packages]","target":"Package[acct]"},{"source":"Class[Base::Standard_packages]","target":"Package[byobu]"},{"source":"Class[Base::Standard_packages]","target":"Package[colordiff]"},{"source":"Class[Base::Standard_packages]","target":"Package[curl]"},{"source":"Class[Base::Standard_packages]","target":"Package[debian-goodies]"},{"source":"Class[Base::Standard_packages]","target":"Package[ethtool]"},{"source":"Class[Base::Standard_packages]","target":"Package[gdb]"},{"source":"Class[Base::Standard_packages]","target":"Package[gdisk]"},{"source":"Class[Base::Standard_packages]","target":"Package[git]"},{"source":"Class[Base::Standard_packages]","target":"Package[htop]"},{"source":"Class[Base::Standard_packages]","target":"Package[httpry]"},{"source":"Class[Base::Standard_packages]","target":"Package[iotop]"},{"source":"Class[Base::Standard_packages]","target":"Package[iperf]"},{"source":"Class[Base::Standard_packages]","target":"Package[jq]"},{"source":"Class[Base::Standard_packages]","target":"Package[libtemplate-perl]"},{"source":"Class[Base::Standard_packages]","target":"Package[lldpd]"},{"source":"Class[Base::Standard_packages]","target":"Package[lshw]"},{"source":"Class[Base::Standard_packages]","target":"Package[molly-guard]"},{"source":"Class[Base::Standard_packages]","target":"Package[moreutils]"},{"source":"Class[Base::Standard_packages]","target":"Package[net-tools]"},{"source":"Class[Base::Standard_packages]","target":"Package[numactl]"},{"source":"Class[Base::Standard_packages]","target":"Package[ncdu]"},{"source":"Class[Base::Standard_packages]","target":"Package[ngrep]"},{"source":"Class[Base::Standard_packages]","target":"Package[pigz]"},{"source":"Class[Base::Standard_packages]","target":"Package[psmisc]"},{"source":"Class[Base::Standard_packages]","target":"Package[pv]"},{"source":"Class[Base::Standard_packages]","target":"Package[python3]"},{"source":"Class[Base::Standard_packages]","target":"Package[screen]"},{"source":"Class[Base::Standard_packages]","target":"Package[strace]"},{"source":"Class[Base::Standard_packages]","target":"Package[sysstat]"},{"source":"Class[Base::Standard_packages]","target":"Package[tcpdump]"},{"source":"Class[Base::Standard_packages]","target":"Package[tmux]"},{"source":"Class[Base::Standard_packages]","target":"Package[tree]"},{"source":"Class[Base::Standard_packages]","target":"Package[vim]"},{"source":"Class[Base::Standard_packages]","target":"Package[vim-addon-manager]"},{"source":"Class[Base::Standard_packages]","target":"Package[vim-scripts]"},{"source":"Class[Base::Standard_packages]","target":"Package[wipe]"},{"source":"Class[Base::Standard_packages]","target":"Package[xfsprogs]"},{"source":"Class[Base::Standard_packages]","target":"Package[zsh]"},{"source":"Class[Base::Standard_packages]","target":"Package[icdiff]"},{"source":"Class[Base::Standard_packages]","target":"Package[linux-perf]"},{"source":"Class[Base::Standard_packages]","target":"Package[bsd-mailx]"},{"source":"Class[Base::Standard_packages]","target":"Package[ack]"},{"source":"Class[Base::Standard_packages]","target":"Package[netcat-openbsd]"},{"source":"Class[Base::Standard_packages]","target":"Package[tshark]"},{"source":"Class[Base::Standard_packages]","target":"Package[fzf]"},{"source":"Class[Base::Standard_packages]","target":"Package[ripgrep]"},{"source":"Class[Base::Standard_packages]","target":"Package[fd-find]"},{"source":"Class[Base::Standard_packages]","target":"Package[kitty-terminfo]"},{"source":"Class[Base::Standard_packages]","target":"Package[mtr-tiny]"},{"source":"Class[Base::Standard_packages]","target":"Package[bat]"},{"source":"Class[Base::Standard_packages]","target":"Package[efibootmgr]"},{"source":"Class[Base::Standard_packages]","target":"Package[bind9-dnsutils]"},{"source":"Class[Base::Standard_packages]","target":"Package[tzdata]"},{"source":"Class[Base::Standard_packages]","target":"Package[python3-wmflib]"},{"source":"Class[Base::Standard_packages]","target":"Package[ruby-sorted-set]"},{"source":"Class[Base::Standard_packages]","target":"Package[btop]"},{"source":"Class[Base::Standard_packages]","target":"Package[dstat]"},{"source":"Class[Base::Standard_packages]","target":"Package[apport]"},{"source":"Class[Base::Standard_packages]","target":"Package[command-not-found]"},{"source":"Class[Base::Standard_packages]","target":"Package[command-not-found-data]"},{"source":"Class[Base::Standard_packages]","target":"Package[ecryptfs-utils]"},{"source":"Class[Base::Standard_packages]","target":"Package[mlocate]"},{"source":"Class[Base::Standard_packages]","target":"Package[os-prober]"},{"source":"Class[Base::Standard_packages]","target":"Package[python3-apport]"},{"source":"Class[Base::Standard_packages]","target":"Package[wpasupplicant]"},{"source":"Class[Base::Standard_packages]","target":"Package[apt-listchanges]"},{"source":"Class[Base::Standard_packages]","target":"Package[libicu67]"},{"source":"Class[Base::Standard_packages]","target":"Package[libwsutil12]"},{"source":"Class[Base::Standard_packages]","target":"Package[libwireshark14]"},{"source":"Class[Base::Standard_packages]","target":"Package[libopencsd0]"},{"source":"Class[Base::Standard_packages]","target":"Package[libwiretap11]"},{"source":"Class[Base::Standard_packages]","target":"Package[ruby2.7]"},{"source":"Class[Base::Standard_packages]","target":"Package[python3.9-minimal]"},{"source":"Class[Base::Standard_packages]","target":"Package[python3.9]"},{"source":"Class[Base::Standard_packages]","target":"Package[perl-modules-5.32]"},{"source":"Class[Base::Standard_packages]","target":"Package[libpython3.9]"},{"source":"Class[Base::Standard_packages]","target":"Package[libperl5.32]"},{"source":"Class[Base::Standard_packages]","target":"Package[libpython3.9-minimal]"},{"source":"Class[Base::Standard_packages]","target":"Package[libpython3.9-stdlib]"},{"source":"Class[Base::Standard_packages]","target":"Package[libidn11]"},{"source":"Class[Base::Standard_packages]","target":"Package[libldap-2.4-2]"},{"source":"Class[Base::Standard_packages]","target":"Package[liburing1]"},{"source":"Class[Base::Standard_packages]","target":"Package[libwebp6]"},{"source":"Class[Base::Standard_packages]","target":"Package[libcbor0]"},{"source":"Class[Base::Standard_packages]","target":"Package[libusb-0.1-4]"},{"source":"Class[Base::Standard_packages]","target":"Package[telnet]"},{"source":"Class[Base::Standard_packages]","target":"Package[libruby2.7]"},{"source":"Class[Base::Standard_packages]","target":"Package[libdns-export1110]"},{"source":"Class[Base::Standard_packages]","target":"Package[libisc-export1105]"},{"source":"Class[Base::Standard_packages]","target":"Package[libbpf0]"},{"source":"Class[Base::Standard_packages]","target":"Profile::Auto_restarts::Service[lldpd]"},{"source":"Class[Base::Standard_packages]","target":"Profile::Auto_restarts::Service[systemd-journald]"},{"source":"Stage[main]","target":"Class[Profile::Environment]"},{"source":"Class[Profile::Environment]","target":"File[/etc/bash.bashrc]"},{"source":"Class[Profile::Environment]","target":"File[/etc/skel/.bashrc]"},{"source":"Class[Profile::Environment]","target":"File[/etc/skel/.zshrc]"},{"source":"Class[Profile::Environment]","target":"File[/etc/profile.d/field.sh]"},{"source":"Class[Profile::Environment]","target":"File[/etc/zsh/zshenv]"},{"source":"Class[Profile::Environment]","target":"File[/etc/profile.d/systemd-environment.sh]"},{"source":"Class[Profile::Environment]","target":"File[/etc/wikimedia-cluster]"},{"source":"Class[Profile::Environment]","target":"File[/usr/local/bin/gen_fingerprints]"},{"source":"Class[Profile::Environment]","target":"File[/etc/vim/vimrc.local]"},{"source":"Stage[main]","target":"Class[Base::Sysctl::Core_dumps]"},{"source":"Class[Base::Sysctl::Core_dumps]","target":"File[/var/tmp/core]"},{"source":"Class[Base::Sysctl::Core_dumps]","target":"Sysctl::Parameters[core_dumps]"},{"source":"Class[Base::Sysctl::Core_dumps]","target":"Tidy[/var/tmp/core]"},{"source":"Stage[main]","target":"Class[Profile::Ssh::Client]"},{"source":"Stage[main]","target":"Class[Ssh::Client]"},{"source":"Class[Ssh::Client]","target":"Package[openssh-client]"},{"source":"Class[Ssh::Client]","target":"File[/etc/ssh]"},{"source":"Stage[main]","target":"Class[Profile::Ssh::Server]"},{"source":"Class[Profile::Ssh::Server]","target":"Package[python3-ldap]"},{"source":"Class[Profile::Ssh::Server]","target":"File[/usr/sbin/ssh-key-ldap-lookup]"},{"source":"Class[Profile::Ssh::Server]","target":"User[ssh-key-ldap-lookup]"},{"source":"Stage[main]","target":"Class[Ssh::Server]"},{"source":"Class[Ssh::Server]","target":"Package[openssh-server]"},{"source":"Class[Ssh::Server]","target":"Service[ssh]"},{"source":"Class[Ssh::Server]","target":"Profile::Auto_restarts::Service[ssh]"},{"source":"Class[Ssh::Server]","target":"File[/etc/ssh/userkeys]"},{"source":"Class[Ssh::Server]","target":"File[/run/sshd]"},{"source":"Class[Ssh::Server]","target":"File[/etc/ssh/sshd_config]"},{"source":"Stage[main]","target":"Class[Base::Kernel]"},{"source":"Class[Base::Kernel]","target":"Kmod::Blacklist[wmf_overlay]"},{"source":"Class[Base::Kernel]","target":"Kmod::Module[overlay]"},{"source":"Class[Base::Kernel]","target":"Kmod::Blacklist[wmf]"},{"source":"Class[Base::Kernel]","target":"Kmod::Blacklist[wmf-filesystems]"},{"source":"Class[Base::Kernel]","target":"File[/usr/local/bin/kernel-purge]"},{"source":"Class[Base::Kernel]","target":"Systemd::Timer::Job[kernel-purge]"},{"source":"Stage[main]","target":"Class[Profile::Debdeploy::Client]"},{"source":"Stage[main]","target":"Class[Debdeploy::Client]"},{"source":"Class[Debdeploy::Client]","target":"Package[debdeploy-client]"},{"source":"Class[Debdeploy::Client]","target":"Package[python3-dateutil]"},{"source":"Class[Debdeploy::Client]","target":"File[/usr/local/bin/apt-upgrade-activity]"},{"source":"Class[Debdeploy::Client]","target":"File[/etc/debdeploy-client]"},{"source":"Class[Debdeploy::Client]","target":"File[/etc/debdeploy-client/config.json]"},{"source":"Class[Debdeploy::Client]","target":"File[/etc/debdeploy-client/autorestarts.conf]"},{"source":"Stage[main]","target":"Class[Base::Initramfs]"},{"source":"Class[Base::Initramfs]","target":"Initramfs::Script[mdadm-sleep]"},{"source":"Stage[main]","target":"Class[Profile::Auto_restarts]"},{"source":"Class[Profile::Auto_restarts]","target":"File[/usr/local/sbin/wmf-auto-restart]"},{"source":"Stage[main]","target":"Class[Prometheus::Node_debian_version]"},{"source":"Class[Prometheus::Node_debian_version]","target":"File[/usr/local/bin/prometheus-debian-version]"},{"source":"Class[Prometheus::Node_debian_version]","target":"Systemd::Timer::Job[prometheus-debian-version-textfile]"},{"source":"Stage[main]","target":"Class[Prometheus::Node_dpkg_success]"},{"source":"Class[Prometheus::Node_dpkg_success]","target":"File[/usr/local/bin/prometheus-dpkg-success]"},{"source":"Class[Prometheus::Node_dpkg_success]","target":"Systemd::Timer::Job[prometheus-dpkg-success-textfile]"},{"source":"Stage[main]","target":"Class[Apt::Unattendedupgrades]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Package[unattended-upgrades]"},{"source":"Class[Apt::Unattendedupgrades]","target":"File[/etc/cron.daily/apt-show-versions]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Package[python3-apt]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[dpkg-force-confdef]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[dpkg-force-confold]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[auto-upgrades]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[unattended-upgrades-updates]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[unattended-upgrades-wikimedia]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[unattended-upgrades-osbpo]"},{"source":"Class[Apt::Unattendedupgrades]","target":"Apt::Conf[apt-autoclean]"},{"source":"Class[Apt::Unattendedupgrades]","target":"File[/usr/local/sbin/report-pending-upgrades]"},{"source":"Class[Apt::Unattendedupgrades]","target":"File[/usr/local/sbin/apt-upgrade]"},{"source":"Class[Profile::Base::Labs]","target":"File[/etc/default/acct]"},{"source":"Class[Profile::Base::Labs]","target":"File[/etc/wikimedia]"},{"source":"Class[Profile::Base::Labs]","target":"File[/etc/default/nfs-common]"},{"source":"Class[Profile::Base::Labs]","target":"File[/usr/local/sbin/notify_maintainers.py]"},{"source":"Class[Profile::Base::Labs]","target":"File[/usr/local/sbin/puppet_alert.py]"},{"source":"Class[Profile::Base::Labs]","target":"Systemd::Timer::Job[send_puppet_failure_emails]"},{"source":"Class[Profile::Base::Labs]","target":"Systemd::Timer::Job[cleanup_puppet_client_bucket]"},{"source":"Stage[main]","target":"Class[Profile::Openstack::Eqiad1::Observerenv]"},{"source":"Stage[main]","target":"Class[Profile::Openstack::Base::Observerenv]"},{"source":"Class[Profile::Openstack::Eqiad1::Observerenv]","target":"Class[Profile::Openstack::Base::Observerenv]"},{"source":"Class[main]","target":"File[/root/.config]"},{"source":"Class[main]","target":"File[/root/.config/openstack]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"Concat[/root/.config/openstack/clouds.yaml]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"Concat::Fragment[root_clouds_file_header]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"File[/etc/openstack]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"Concat[/etc/openstack/clouds.yaml]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"Concat::Fragment[observer_clouds_file_header]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"Openstack::Util::Envscript[novaobserver]"},{"source":"Class[Profile::Openstack::Base::Observerenv]","target":"Openstack::Util::Envscript[ossystemobserver]"},{"source":"Stage[main]","target":"Class[Profile::Openstack::Eqiad1::Clientpackages::Vms]"},{"source":"Stage[main]","target":"Class[Profile::Openstack::Base::Clientpackages::Vms]"},{"source":"Class[Profile::Openstack::Eqiad1::Clientpackages::Vms]","target":"Class[Profile::Openstack::Base::Clientpackages::Vms]"},{"source":"Stage[main]","target":"Class[Openstack::Clientpackages::Vms::Common]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-novaclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-glanceclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-keystoneauth1]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-keystoneclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-openstackclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-designateclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-neutronclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-tenacity]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-troveclient]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"Package[python3-netaddr]"},{"source":"Class[Openstack::Clientpackages::Vms::Common]","target":"File[/usr/lib/python3/dist-packages/mwopenstackclients.py]"},{"source":"Stage[main]","target":"Class[Profile::Openstack::Eqiad1::Cumin::Target]"},{"source":"Stage[main]","target":"Class[Cumin::Selector]"},{"source":"Class[Profile::Openstack::Eqiad1::Cumin::Target]","target":"Ssh::Userkey[root-cumin]"},{"source":"Class[Profile::Openstack::Eqiad1::Cumin::Target]","target":"Ferm::Conf[cumin-project-defs]"},{"source":"Class[Profile::Openstack::Eqiad1::Cumin::Target]","target":"File[/usr/local/sbin/reboot-host]"},{"source":"Stage[main]","target":"Class[Profile::Wmcs::Instance]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Package[isc-dhcp-client]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Package[cloud-init]"},{"source":"Stage[main]","target":"Class[Sudo]"},{"source":"Class[Sudo]","target":"Package[sudo]"},{"source":"Class[Sudo]","target":"File[/etc/sudoers]"},{"source":"Class[Sudo]","target":"File[/etc/sudoers.d]"},{"source":"Class[Sudo]","target":"File[/etc/sudoers.d/README]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Ssh::Userkey[root]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Sudo::Group[ops]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/sudoers.d/T205463-disable-sudo-password-prompts]"},{"source":"Stage[main]","target":"Class[Profile::Ldap::Client::Labs]"},{"source":"Stage[main]","target":"Class[Profile::Ldap::Client::Utils]"},{"source":"Stage[main]","target":"Class[Ldap::Client::Config]"},{"source":"Class[Ldap::Client::Config]","target":"File[/etc/ldap]"},{"source":"Class[Ldap::Client::Config]","target":"File[/etc/ldap/ldap.conf]"},{"source":"Class[Profile::Ldap::Client::Utils]","target":"Package[ldap-utils]"},{"source":"Class[Profile::Ldap::Client::Labs]","target":"Security::Access::Config[labs-local]"},{"source":"Class[Profile::Ldap::Client::Labs]","target":"Security::Access::Config[labs-restrict-to-project]"},{"source":"Stage[main]","target":"Class[Ldap::Client::Sssd]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/ldap.yaml]"},{"source":"Class[Ldap::Client::Sssd]","target":"Exec[pam-auth-enable-mkhomedir]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[libpam-sss]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[libnss-sss]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[libsss-sudo]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[sssd]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/nsswitch.conf]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/sssd/sssd.conf]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-nss]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-nss.socket]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-pam]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-pam.socket]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-ssh]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-ssh.socket]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-sudo]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd-sudo.socket]"},{"source":"Class[Ldap::Client::Sssd]","target":"Systemd::Override[sssd-nss-auto-restart]"},{"source":"Class[Ldap::Client::Sssd]","target":"Service[sssd]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/ldap.conf]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[nscd]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[nslcd]"},{"source":"Class[Ldap::Client::Sssd]","target":"Package[sudo-ldap]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/nscd.conf]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/nslcd.conf]"},{"source":"Class[Ldap::Client::Sssd]","target":"File[/etc/sudo-ldap.conf]"},{"source":"Class[Profile::Ldap::Client::Labs]","target":"Package[libpam-ldapd]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/wmcs-instancename]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/wmcs-project]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/mailname]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Exec[enable_sites_local]"},{"source":"Stage[main]","target":"Class[Prometheus::Node_ssh_open_sessions]"},{"source":"Class[Prometheus::Node_ssh_open_sessions]","target":"File[/usr/local/bin/prometheus-ssh_open_sessions]"},{"source":"Class[Prometheus::Node_ssh_open_sessions]","target":"Systemd::Timer::Job[prometheus_ssh_open_sessions]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/root/firstboot_done]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Exec[cloud-init refresh /etc/hosts]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/cloud]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/cloud/templates]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/cloud/templates/hosts.debian.tmpl]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/sudoers.d/90-cloud-init-users]"},{"source":"Class[Profile::Wmcs::Instance]","target":"File[/etc/sudoers.d/debian-cloud-init]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Package[smartmontools]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Exec[reset-failed for smartmontools]"},{"source":"Stage[main]","target":"Class[Cinderutils]"},{"source":"Class[Cinderutils]","target":"File[/usr/local/sbin/wmcs-prepare-cinder-volume]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Ferm::Rule[metricsinfra-prometheus-all]"},{"source":"Class[Profile::Wmcs::Instance]","target":"Ferm::Service[dhcp6-response]"},{"source":"Stage[main]","target":"Class[Profile::Toolforge::Infrastructure]"},{"source":"Stage[main]","target":"Class[Role::Aptly::Client]"},{"source":"Stage[main]","target":"Class[Role::Wmcs::Toolforge::Legacy_redirector]"},{"source":"Stage[main]","target":"Class[Systemd]"},{"source":"Class[Systemd]","target":"File[/etc/sysusers.d]"},{"source":"Class[Systemd]","target":"Nrpe::Plugin[check_journal_pattern]"},{"source":"Class[Systemd]","target":"File[/usr/local/bin/systemd-timer-mail-wrapper]"},{"source":"Systemd::Sysuser[sysusers-base-config]","target":"File[/etc/sysusers.d/sysusers-base-config.conf]"},{"source":"Systemd::Sysuser[sysusers-base-config]","target":"Exec[update-sysusers-sysusers-base-config]"},{"source":"Apt::Pin[puppet]","target":"Exec[apt_pin_puppet]"},{"source":"Apt::Pin[puppet]","target":"File[/etc/apt/preferences.d/puppet.pref]"},{"source":"Concat[/etc/puppet/puppet.conf]","target":"Concat_file[/etc/puppet/puppet.conf]"},{"source":"Concat::Fragment[main]","target":"Concat_fragment[main]"},{"source":"Systemd::Timer::Job[prometheus_puppet_agent_stats]","target":"Systemd::Unit[prometheus_puppet_agent_stats.service]"},{"source":"Systemd::Timer::Job[prometheus_puppet_agent_stats]","target":"Systemd::Timer[prometheus_puppet_agent_stats]"},{"source":"Systemd::Timer::Job[prometheus_puppet_agent_stats]","target":"Systemd::Syslog[prometheus_puppet_agent_stats]"},{"source":"Systemd::Unit[prometheus-puppet-agent-stats]","target":"File[/lib/systemd/system/prometheus-puppet-agent-stats.service]"},{"source":"Systemd::Unit[prometheus-puppet-agent-stats]","target":"Exec[systemd daemon-reload for prometheus-puppet-agent-stats.service (prometheus-puppet-agent-stats)]"},{"source":"Systemd::Timer::Job[clean_puppet_client_bucket]","target":"Systemd::Unit[clean_puppet_client_bucket.service]"},{"source":"Systemd::Timer::Job[clean_puppet_client_bucket]","target":"Systemd::Timer[clean_puppet_client_bucket]"},{"source":"Systemd::Timer::Job[puppet-agent-timer]","target":"Systemd::Unit[puppet-agent-timer.service]"},{"source":"Systemd::Timer::Job[puppet-agent-timer]","target":"Systemd::Timer[puppet-agent-timer]"},{"source":"Systemd::Timer::Job[puppet-agent-timer]","target":"Systemd::Syslog[puppet-agent-timer]"},{"source":"Logrotate::Rule[puppet]","target":"Logrotate::Conf[puppet]"},{"source":"Rsyslog::Conf[puppet-agent]","target":"File[/etc/rsyslog.d/10-puppet-agent.conf]"},{"source":"Motd::Script[last-puppet-run]","target":"File[/etc/update-motd.d/97-last-puppet-run]"},{"source":"Sslcert::Ca[wmf_ca_2017_2020]","target":"File[/usr/local/share/ca-certificates/wmf_ca_2017_2020.crt]"},{"source":"Sslcert::Ca[RapidSSL_SHA256_CA_-_G3]","target":"File[/usr/local/share/ca-certificates/RapidSSL_SHA256_CA_-_G3.crt]"},{"source":"Sslcert::Ca[DigiCert_High_Assurance_CA-3]","target":"File[/usr/local/share/ca-certificates/DigiCert_High_Assurance_CA-3.crt]"},{"source":"Sslcert::Ca[DigiCert_SHA2_High_Assurance_Server_CA]","target":"File[/usr/local/share/ca-certificates/DigiCert_SHA2_High_Assurance_Server_CA.crt]"},{"source":"Sslcert::Ca[DigiCert_TLS_RSA_SHA256_2020_CA1]","target":"File[/usr/local/share/ca-certificates/DigiCert_TLS_RSA_SHA256_2020_CA1.crt]"},{"source":"Sslcert::Ca[DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1]","target":"File[/usr/local/share/ca-certificates/DigiCert_TLS_Hybrid_ECC_SHA384_2020_CA1.crt]"},{"source":"Sslcert::Ca[DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt]","target":"File[/usr/local/share/ca-certificates/DigiCert_Global_G2_TLS_RSA_SHA256_2020_CA1.crt.crt]"},{"source":"Sslcert::Ca[GlobalSign_Organization_Validation_CA_-_SHA256_-_G2]","target":"File[/usr/local/share/ca-certificates/GlobalSign_Organization_Validation_CA_-_SHA256_-_G2.crt]"},{"source":"Sslcert::Ca[GlobalSign_RSA_OV_SSL_CA_2018.crt]","target":"File[/usr/local/share/ca-certificates/GlobalSign_RSA_OV_SSL_CA_2018.crt.crt]"},{"source":"Sslcert::Ca[GlobalSign_ECC_OV_SSL_CA_2018.crt]","target":"File[/usr/local/share/ca-certificates/GlobalSign_ECC_OV_SSL_CA_2018.crt.crt]"},{"source":"Sslcert::Ca[GlobalSign_ECC_Root_CA_R5_R3_Cross.crt]","target":"File[/usr/local/share/ca-certificates/GlobalSign_ECC_Root_CA_R5_R3_Cross.crt.crt]"},{"source":"Concat[/etc/ssl/certs/wmf-ca-certificates.crt]","target":"Concat_file[/etc/ssl/certs/wmf-ca-certificates.crt]"},{"source":"Concat::Fragment[ssl-ca-/var/lib/puppet/ssl/certs/ca.pem]","target":"Concat_fragment[ssl-ca-/var/lib/puppet/ssl/certs/ca.pem]"},{"source":"Sslcert::Ca[Puppet_Internal_CA]","target":"File[/usr/local/share/ca-certificates/Puppet_Internal_CA.crt]"},{"source":"Apt::Pin[wikimedia]","target":"Exec[apt_pin_wikimedia]"},{"source":"Apt::Pin[wikimedia]","target":"File[/etc/apt/preferences.d/wikimedia.pref]"},{"source":"Concat[/etc/apt/sources.list.d/debian.sources]","target":"Concat_file[/etc/apt/sources.list.d/debian.sources]"},{"source":"Concat::Fragment[/etc/apt/sources.list.d/debian.sources-header]","target":"Concat_fragment[/etc/apt/sources.list.d/debian.sources-header]"},{"source":"Apt::Repository[debian]","target":"Exec[apt_repository_debian]"},{"source":"Apt::Repository[debian]","target":"Concat::Fragment[debian]"},{"source":"Apt::Repository[debian-security]","target":"Exec[apt_repository_debian-security]"},{"source":"Apt::Repository[debian-security]","target":"Concat::Fragment[debian-security]"},{"source":"Apt::Repository[debian-updates]","target":"Exec[apt_repository_debian-updates]"},{"source":"Apt::Repository[debian-updates]","target":"Concat::Fragment[debian-updates]"},{"source":"Apt::Repository[wikimedia]","target":"Exec[apt_repository_wikimedia]"},{"source":"Apt::Repository[wikimedia]","target":"File[/etc/apt/keyrings/wikimedia-archive-keyring.gpg]"},{"source":"Apt::Repository[wikimedia]","target":"Concat[/etc/apt/sources.list.d/wikimedia.sources]"},{"source":"Apt::Repository[wikimedia]","target":"Concat::Fragment[wikimedia-header]"},{"source":"Apt::Repository[wikimedia]","target":"Concat::Fragment[wikimedia]"},{"source":"Apt::Repository[wikimedia]","target":"File[/etc/apt/sources.list.d/wikimedia.list]"},{"source":"Apt::Repository[wikimedia-private]","target":"Exec[apt_repository_wikimedia-private]"},{"source":"Apt::Repository[wikimedia-private]","target":"Concat[/etc/apt/sources.list.d/wikimedia-private.sources]"},{"source":"Apt::Repository[wikimedia-private]","target":"Concat::Fragment[wikimedia-private-header]"},{"source":"Apt::Repository[wikimedia-private]","target":"Concat::Fragment[wikimedia-private]"},{"source":"Apt::Repository[wikimedia-private]","target":"File[/etc/apt/sources.list.d/wikimedia-private.list]"},{"source":"Apt::Repository[debian-backports]","target":"Exec[apt_repository_debian-backports]"},{"source":"Apt::Repository[debian-backports]","target":"Concat[/etc/apt/sources.list.d/debian-backports.sources]"},{"source":"Apt::Repository[debian-backports]","target":"Concat::Fragment[debian-backports-header]"},{"source":"Apt::Repository[debian-backports]","target":"Concat::Fragment[debian-backports]"},{"source":"Apt::Repository[debian-backports]","target":"File[/etc/apt/sources.list.d/debian-backports.list]"},{"source":"Apt::Repository[debian-debug]","target":"Exec[apt_repository_debian-debug]"},{"source":"Apt::Repository[debian-debug]","target":"Concat[/etc/apt/sources.list.d/debian-debug.sources]"},{"source":"Apt::Repository[debian-debug]","target":"Concat::Fragment[debian-debug-header]"},{"source":"Apt::Repository[debian-debug]","target":"Concat::Fragment[debian-debug]"},{"source":"Apt::Repository[debian-debug]","target":"File[/etc/apt/sources.list.d/debian-debug.list]"},{"source":"Apt::Conf[InstallRecommends]","target":"File[/etc/apt/apt.conf.d/00InstallRecommends]"},{"source":"Apt::Conf[apt-harden]","target":"File[/etc/apt/apt.conf.d/30apt-harden]"},{"source":"Systemd::Unit[systemd-timesyncd.service]","target":"File[/etc/systemd/system/systemd-timesyncd.service.d]"},{"source":"Systemd::Unit[systemd-timesyncd.service]","target":"File[/etc/systemd/system/systemd-timesyncd.service.d/puppet-override.conf]"},{"source":"Systemd::Unit[systemd-timesyncd.service]","target":"Exec[systemd daemon-reload for systemd-timesyncd.service (systemd-timesyncd.service)]"},{"source":"Systemd::Unit[systemd-timedated.service]","target":"File[/etc/systemd/system/systemd-timedated.service.d]"},{"source":"Systemd::Unit[systemd-timedated.service]","target":"File[/etc/systemd/system/systemd-timedated.service.d/puppet-override.conf]"},{"source":"Systemd::Unit[systemd-timedated.service]","target":"Exec[systemd daemon-reload for systemd-timedated.service (systemd-timedated.service)]"},{"source":"Profile::Auto_restarts::Service[systemd-timesyncd]","target":"Systemd::Timer::Job[wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Unit[logrotate.timer:hourly-override]","target":"File[/etc/systemd/system/logrotate.timer.d/puppet-override.conf]"},{"source":"Systemd::Unit[logrotate.timer:hourly-override]","target":"Exec[systemd daemon-reload for logrotate.timer (logrotate.timer:hourly-override)]"},{"source":"Base::Service_unit[prometheus-node-exporter]","target":"File[/etc/systemd/system/prometheus-node-exporter.service.d]"},{"source":"Base::Service_unit[prometheus-node-exporter]","target":"File[/etc/systemd/system/prometheus-node-exporter.service.d/puppet-override.conf]"},{"source":"Base::Service_unit[prometheus-node-exporter]","target":"Exec[systemd reload for prometheus-node-exporter]"},{"source":"Base::Service_unit[prometheus-node-exporter]","target":"Service[prometheus-node-exporter]"},{"source":"Profile::Auto_restarts::Service[prometheus-node-exporter]","target":"Systemd::Timer::Job[wmf_auto_restart_prometheus-node-exporter]"},{"source":"Profile::Auto_restarts::Service[rsyslog]","target":"Systemd::Timer::Job[wmf_auto_restart_rsyslog]"},{"source":"Concat[/etc/rsyslog.d/00-global.conf]","target":"Concat_file[/etc/rsyslog.d/00-global.conf]"},{"source":"Concat::Fragment[/etc/rsyslog.d/00-global.conf-header]","target":"Concat_fragment[/etc/rsyslog.d/00-global.conf-header]"},{"source":"Concat::Fragment[/etc/rsyslog.d/00-global.conf-trailer]","target":"Concat_fragment[/etc/rsyslog.d/00-global.conf-trailer]"},{"source":"Concat::Fragment[/etc/rsyslog.d/00-global.conf-parser.permitSlashInProgramName]","target":"Concat_fragment[/etc/rsyslog.d/00-global.conf-parser.permitSlashInProgramName]"},{"source":"Logrotate::Conf[rsyslog]","target":"File[/etc/logrotate.d/rsyslog]"},{"source":"Rsyslog::Conf[remote_syslog]","target":"File[/etc/rsyslog.d/30-remote-syslog.conf]"},{"source":"Prometheus::Rsyslog_exporter[base]","target":"Package[prometheus-rsyslog-exporter]"},{"source":"Prometheus::Rsyslog_exporter[base]","target":"Rsyslog::Conf[exporter-base]"},{"source":"Prometheus::Rsyslog_exporter[base]","target":"Rsyslog::Conf[exporter]"},{"source":"Systemd::Service[cadvisor]","target":"Service[cadvisor]"},{"source":"Systemd::Service[cadvisor]","target":"Systemd::Unit[cadvisor]"},{"source":"Sysctl::Parameters[ubuntu defaults]","target":"Sysctl::Conffile[ubuntu defaults]"},{"source":"Sysctl::Parameters[wikimedia base]","target":"Sysctl::Conffile[wikimedia base]"},{"source":"Sysctl::Parameters[disable_unprivileged_bpf]","target":"Sysctl::Conffile[disable_unprivileged_bpf]"},{"source":"Sysctl::Parameters[unprivileged_userns_clone]","target":"Sysctl::Conffile[unprivileged_userns_clone]"},{"source":"Sysctl::Parameters[fastopen]","target":"Sysctl::Conffile[fastopen]"},{"source":"Sysctl::Parameters[tcp_min_snd_mss]","target":"Sysctl::Conffile[tcp_min_snd_mss]"},{"source":"Motd::Script[header]","target":"File[/etc/update-motd.d/00-header]"},{"source":"Motd::Script[footer]","target":"File[/etc/update-motd.d/99-footer]"},{"source":"Motd::Script[Check for restarts]","target":"File[/etc/update-motd.d/99-check-for-restarts]"},{"source":"Profile::Auto_restarts::Service[lldpd]","target":"Systemd::Timer::Job[wmf_auto_restart_lldpd]"},{"source":"Profile::Auto_restarts::Service[systemd-journald]","target":"Systemd::Timer::Job[wmf_auto_restart_systemd-journald]"},{"source":"Sysctl::Parameters[core_dumps]","target":"Sysctl::Conffile[core_dumps]"},{"source":"Profile::Auto_restarts::Service[ssh]","target":"Systemd::Timer::Job[wmf_auto_restart_ssh]"},{"source":"Kmod::Blacklist[wmf_overlay]","target":"File[/etc/modprobe.d/blacklist-wmf_overlay.conf]"},{"source":"Kmod::Module[overlay]","target":"File[/etc/modules-load.d/overlay.conf]"},{"source":"Kmod::Module[overlay]","target":"Exec[/sbin/modprobe overlay]"},{"source":"Kmod::Blacklist[wmf]","target":"File[/etc/modprobe.d/blacklist-wmf.conf]"},{"source":"Kmod::Blacklist[wmf-filesystems]","target":"File[/etc/modprobe.d/blacklist-wmf-filesystems.conf]"},{"source":"Systemd::Timer::Job[kernel-purge]","target":"Systemd::Unit[kernel-purge.service]"},{"source":"Systemd::Timer::Job[kernel-purge]","target":"Systemd::Timer[kernel-purge]"},{"source":"Systemd::Timer::Job[kernel-purge]","target":"Systemd::Syslog[kernel-purge]"},{"source":"Stage[main]","target":"Class[Initramfs]"},{"source":"Class[Initramfs]","target":"Package[initramfs-tools]"},{"source":"Class[Initramfs]","target":"Exec[update-initramfs]"},{"source":"Initramfs::Script[mdadm-sleep]","target":"File[/etc/initramfs-tools/scripts/init-premount/mdadm-sleep]"},{"source":"Systemd::Timer::Job[prometheus-debian-version-textfile]","target":"Systemd::Unit[prometheus-debian-version-textfile.service]"},{"source":"Systemd::Timer::Job[prometheus-debian-version-textfile]","target":"Systemd::Timer[prometheus-debian-version-textfile]"},{"source":"Systemd::Timer::Job[prometheus-dpkg-success-textfile]","target":"Systemd::Unit[prometheus-dpkg-success-textfile.service]"},{"source":"Systemd::Timer::Job[prometheus-dpkg-success-textfile]","target":"Systemd::Timer[prometheus-dpkg-success-textfile]"},{"source":"Apt::Conf[dpkg-force-confdef]","target":"File[/etc/apt/apt.conf.d/00dpkg-force-confdef]"},{"source":"Apt::Conf[dpkg-force-confold]","target":"File[/etc/apt/apt.conf.d/00dpkg-force-confold]"},{"source":"Apt::Conf[auto-upgrades]","target":"File[/etc/apt/apt.conf.d/20auto-upgrades]"},{"source":"Apt::Conf[unattended-upgrades-updates]","target":"File[/etc/apt/apt.conf.d/52unattended-upgrades-updates]"},{"source":"Apt::Conf[unattended-upgrades-wikimedia]","target":"File[/etc/apt/apt.conf.d/51unattended-upgrades-wikimedia]"},{"source":"Apt::Conf[unattended-upgrades-osbpo]","target":"File[/etc/apt/apt.conf.d/52unattended-upgrades-osbpo]"},{"source":"Apt::Conf[apt-autoclean]","target":"File[/etc/apt/apt.conf.d/52apt-autoclean]"},{"source":"Systemd::Timer::Job[send_puppet_failure_emails]","target":"Systemd::Unit[send_puppet_failure_emails.service]"},{"source":"Systemd::Timer::Job[send_puppet_failure_emails]","target":"Systemd::Timer[send_puppet_failure_emails]"},{"source":"Systemd::Timer::Job[cleanup_puppet_client_bucket]","target":"Systemd::Unit[cleanup_puppet_client_bucket.service]"},{"source":"Systemd::Timer::Job[cleanup_puppet_client_bucket]","target":"Systemd::Timer[cleanup_puppet_client_bucket]"},{"source":"Concat[/root/.config/openstack/clouds.yaml]","target":"Concat_file[/root/.config/openstack/clouds.yaml]"},{"source":"Concat::Fragment[root_clouds_file_header]","target":"Concat_fragment[root_clouds_file_header]"},{"source":"Concat[/etc/openstack/clouds.yaml]","target":"Concat_file[/etc/openstack/clouds.yaml]"},{"source":"Concat::Fragment[observer_clouds_file_header]","target":"Concat_fragment[observer_clouds_file_header]"},{"source":"Openstack::Util::Envscript[novaobserver]","target":"Concat::Fragment[/etc/openstack/clouds.yaml_novaobserver]"},{"source":"Openstack::Util::Envscript[novaobserver]","target":"Concat::Fragment[/root/.config/openstack/clouds.yaml_novaobserver]"},{"source":"Openstack::Util::Envscript[novaobserver]","target":"File[/etc/novaobserver.yaml]"},{"source":"Openstack::Util::Envscript[novaobserver]","target":"File[/usr/local/bin/observerenv.sh]"},{"source":"Openstack::Util::Envscript[ossystemobserver]","target":"Concat::Fragment[/etc/openstack/clouds.yaml_ossystemobserver]"},{"source":"Openstack::Util::Envscript[ossystemobserver]","target":"Concat::Fragment[/root/.config/openstack/clouds.yaml_ossystemobserver]"},{"source":"Openstack::Util::Envscript[ossystemobserver]","target":"File[/etc/ossystemobserver.yaml]"},{"source":"Openstack::Util::Envscript[ossystemobserver]","target":"File[/usr/local/bin/osobserverenv.sh]"},{"source":"Ssh::Userkey[root-cumin]","target":"File[/etc/ssh/userkeys/root.d/]"},{"source":"Ssh::Userkey[root-cumin]","target":"File[/etc/ssh/userkeys/root.d/cumin]"},{"source":"Ferm::Conf[cumin-project-defs]","target":"File[/etc/ferm/conf.d/01_cumin-project-defs]"},{"source":"Ssh::Userkey[root]","target":"File[/etc/ssh/userkeys/root]"},{"source":"Sudo::Group[ops]","target":"File[/etc/sudoers.d/ops]"},{"source":"Stage[main]","target":"Class[Security::Access]"},{"source":"Class[Security::Access]","target":"Concat[/etc/security/access.conf]"},{"source":"Class[Security::Access]","target":"File[/etc/security/access.conf.d]"},{"source":"Class[Security::Access]","target":"Security::Pam::Config[local-pam-access]"},{"source":"Security::Access::Config[labs-local]","target":"Concat::Fragment[security-access-labs-local]"},{"source":"Security::Access::Config[labs-restrict-to-project]","target":"Concat::Fragment[security-access-labs-restrict-to-project]"},{"source":"Systemd::Override[sssd-nss-auto-restart]","target":"Systemd::Unit[sssd-nss.service-sssd-nss-auto-restart]"},{"source":"Systemd::Timer::Job[prometheus_ssh_open_sessions]","target":"Systemd::Unit[prometheus_ssh_open_sessions.service]"},{"source":"Systemd::Timer::Job[prometheus_ssh_open_sessions]","target":"Systemd::Timer[prometheus_ssh_open_sessions]"},{"source":"Systemd::Timer::Job[prometheus_ssh_open_sessions]","target":"Systemd::Syslog[prometheus_ssh_open_sessions]"},{"source":"Ferm::Rule[metricsinfra-prometheus-all]","target":"File[/etc/ferm/conf.d/10_metricsinfra-prometheus-all]"},{"source":"Ferm::Service[dhcp6-response]","target":"File[/etc/ferm/conf.d/10_dhcp6-response]"},{"source":"Class[Profile::Toolforge::Infrastructure]","target":"Motd::Script[infrastructure-banner]"},{"source":"Class[Profile::Toolforge::Infrastructure]","target":"Security::Access::Config[toolforge-admin-only]"},{"source":"Class[Profile::Toolforge::Infrastructure]","target":"Sudo::Group[toolforge-admin-root]"},{"source":"Stage[main]","target":"Class[Aptly::Client]"},{"source":"Class[Aptly::Client]","target":"Apt::Repository[project-aptly]"},{"source":"Class[Aptly::Client]","target":"Apt::Pin[project-aptly]"},{"source":"Class[Aptly::Client]","target":"Apt::Conf[unattended-upgrades-aptly]"},{"source":"Stage[main]","target":"Class[Profile::Firewall]"},{"source":"Stage[main]","target":"Class[Firewall]"},{"source":"Stage[main]","target":"Class[Ferm]"},{"source":"Class[Ferm]","target":"Package[libnet-dns-perl]"},{"source":"Class[Ferm]","target":"Package[iptables]"},{"source":"Class[Ferm]","target":"Package[ferm]"},{"source":"Class[Ferm]","target":"File[/etc/modules-load.d/conntrack.conf]"},{"source":"Class[Ferm]","target":"File[/usr/local/sbin/ferm-status]"},{"source":"Class[Ferm]","target":"File[/etc/ferm]"},{"source":"Class[Ferm]","target":"Service[ferm]"},{"source":"Class[Ferm]","target":"Systemd::Override[ferm-service-status-restart]"},{"source":"Class[Ferm]","target":"File[/etc/ferm/ferm.conf]"},{"source":"Class[Ferm]","target":"File[/etc/ferm/functions.conf]"},{"source":"Class[Ferm]","target":"File[/etc/ferm/conf.d]"},{"source":"Class[Ferm]","target":"File[/etc/default/ferm]"},{"source":"Class[Ferm]","target":"Alternatives::Select[iptables]"},{"source":"Class[Ferm]","target":"Alternatives::Select[ip6tables]"},{"source":"Stage[main]","target":"Class[Profile::Firewall::Log::Ferm]"},{"source":"Stage[main]","target":"Class[Ulogd]"},{"source":"Class[Ulogd]","target":"Package[ulogd2]"},{"source":"Class[Ulogd]","target":"File[/etc/ulogd.conf]"},{"source":"Class[Ulogd]","target":"Service[ulogd2]"},{"source":"Class[Ulogd]","target":"Profile::Auto_restarts::Service[ulogd2]"},{"source":"Class[Profile::Firewall::Log::Ferm]","target":"Ferm::Filter_log[filter-bootp]"},{"source":"Class[Profile::Firewall::Log::Ferm]","target":"Ferm::Rule[log-everything]"},{"source":"Class[Profile::Firewall]","target":"Sysctl::Parameters[ferm_conntrack]"},{"source":"Class[Profile::Firewall]","target":"Firewall::Service[ssh-from-bastion]"},{"source":"Class[Profile::Firewall]","target":"Firewall::Service[ssh-from-cumin-masters]"},{"source":"Class[Profile::Firewall]","target":"Firewall::Service[full-monitoring-metrics-access-udp]"},{"source":"Class[Profile::Firewall]","target":"Firewall::Service[full-monitoring-metrics-access-tcp]"},{"source":"Class[Profile::Firewall]","target":"Package[conntrack]"},{"source":"Class[Profile::Firewall]","target":"Confd::File[/etc/ferm/conf.d/00_defs_requestctl]"},{"source":"Class[Profile::Firewall]","target":"Ferm::Rule[drop-blocked-nets]"},{"source":"Class[Profile::Firewall]","target":"Ferm::Conf[main]"},{"source":"Class[Profile::Firewall]","target":"Ferm::Rule[dscp-default]"},{"source":"Class[Profile::Firewall]","target":"Ferm::Conf[defs]"},{"source":"Class[Profile::Firewall]","target":"Nrpe::Plugin[check_ferm]"},{"source":"Class[Profile::Firewall]","target":"Nrpe::Monitor_service[ferm_active]"},{"source":"Stage[main]","target":"Class[Profile::Toolforge::Base]"},{"source":"Stage[main]","target":"Class[Sslcert::Ca_deselect_dstx3]"},{"source":"Class[Sslcert::Ca_deselect_dstx3]","target":"File_line[deselect_dst_root_ca_x3]"},{"source":"Class[Profile::Toolforge::Base]","target":"Package[nano]"},{"source":"Class[Profile::Toolforge::Base]","target":"Package[cron]"},{"source":"Class[Profile::Toolforge::Base]","target":"Alternatives::Select[editor]"},{"source":"Class[Profile::Toolforge::Base]","target":"File[/root/.bashrc]"},{"source":"Class[Profile::Toolforge::Base]","target":"Mailalias[admin]"},{"source":"Class[Profile::Toolforge::Base]","target":"Mailalias[administrator]"},{"source":"Stage[main]","target":"Class[Exim4]"},{"source":"Class[Exim4]","target":"Package[exim4-config]"},{"source":"Class[Exim4]","target":"Package[exim4-daemon-light]"},{"source":"Class[Exim4]","target":"Service[exim4]"},{"source":"Class[Exim4]","target":"File[/etc/exim4/update-exim4.conf.conf]"},{"source":"Class[Exim4]","target":"File[/etc/default/exim4]"},{"source":"Class[Exim4]","target":"File[/etc/exim4/aliases]"},{"source":"Class[Exim4]","target":"File[/etc/exim4/dkim]"},{"source":"Class[Exim4]","target":"File[/etc/exim4/system_filter]"},{"source":"Class[Exim4]","target":"File[/etc/exim4/exim4.conf]"},{"source":"Class[Exim4]","target":"Logrotate::Conf[exim4-paniclog]"},{"source":"Class[Profile::Toolforge::Base]","target":"File[/etc/sudoers.d/40-tools-sudoers-no-warning]"},{"source":"Class[Profile::Toolforge::Base]","target":"File[/etc/security/limits.d/50-no-bigfiles.conf]"},{"source":"Class[Profile::Toolforge::Base]","target":"File[/usr/local/bin/log-command-invocation]"},{"source":"Stage[main]","target":"Class[Profile::Toolforge::Legacy_redirector]"},{"source":"Stage[main]","target":"Class[Sslcert::Dhparam]"},{"source":"Class[Sslcert::Dhparam]","target":"File[/etc/ssl/dhparam.pem]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Acme_chief::Cert[tools-legacy]"},{"source":"Stage[main]","target":"Class[Httpd]"},{"source":"Class[Httpd]","target":"Package[apache2]"},{"source":"Class[Httpd]","target":"Package[links]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/ports.conf]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/conf-available]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/conf-enabled]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/env-available]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/env-enabled]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/sites-available]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/sites-enabled]"},{"source":"Class[Httpd]","target":"File_line[load_env_enabled]"},{"source":"Class[Httpd]","target":"Httpd::Conf[defaults]"},{"source":"Class[Httpd]","target":"Httpd::Site[dummy]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[filter]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[access_compat]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[status]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[alias]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[headers]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[rewrite]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[ssl]"},{"source":"Class[Httpd]","target":"Httpd::Mod_conf[mpm_event]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/mods-available/status.conf]"},{"source":"Class[Httpd]","target":"File[/etc/apache2/mods-enabled/status.conf]"},{"source":"Class[Httpd]","target":"Httpd::Conf[server-status]"},{"source":"Class[Httpd]","target":"File[/usr/local/bin/apache-status]"},{"source":"Class[Httpd]","target":"Augeas[Apache2 logs]"},{"source":"Class[Httpd]","target":"Exec[apache2_test_config_and_restart]"},{"source":"Class[Httpd]","target":"Systemd::Override[apache2-after-network-online-target]"},{"source":"Class[Httpd]","target":"Service[apache2]"},{"source":"Class[Httpd]","target":"Profile::Auto_restarts::Service[apache-htcacheclean]"},{"source":"Class[Httpd]","target":"Service[apache-htcacheclean]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Httpd::Conf[mpm_event_override]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Httpd::Site[tools.wmflabs.org]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Httpd::Site[www.toolserver.org]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"File[/var/www/www.toolserver.org]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Ferm::Service[http]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Ferm::Service[https]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Prometheus::Blackbox::Check::Http[tools.wmflabs.org main page]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Prometheus::Blackbox::Check::Http[tools.wmflabs.org tool]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Prometheus::Blackbox::Check::Http[toolserver.org main page]"},{"source":"Class[Profile::Toolforge::Legacy_redirector]","target":"Prometheus::Blackbox::Check::Http[toolserver.org redirects]"},{"source":"Systemd::Unit[prometheus_puppet_agent_stats.service]","target":"File[/lib/systemd/system/prometheus_puppet_agent_stats.service]"},{"source":"Systemd::Unit[prometheus_puppet_agent_stats.service]","target":"Exec[systemd daemon-reload for prometheus_puppet_agent_stats.service (prometheus_puppet_agent_stats.service)]"},{"source":"Systemd::Timer[prometheus_puppet_agent_stats]","target":"Systemd::Service[prometheus_puppet_agent_stats]"},{"source":"Systemd::Syslog[prometheus_puppet_agent_stats]","target":"File[/var/log/prometheus_puppet_agent_stats]"},{"source":"Systemd::Syslog[prometheus_puppet_agent_stats]","target":"Rsyslog::Conf[prometheus_puppet_agent_stats]"},{"source":"Systemd::Syslog[prometheus_puppet_agent_stats]","target":"Logrotate::Conf[prometheus_puppet_agent_stats]"},{"source":"Systemd::Unit[clean_puppet_client_bucket.service]","target":"File[/lib/systemd/system/clean_puppet_client_bucket.service]"},{"source":"Systemd::Unit[clean_puppet_client_bucket.service]","target":"Exec[systemd daemon-reload for clean_puppet_client_bucket.service (clean_puppet_client_bucket.service)]"},{"source":"Systemd::Timer[clean_puppet_client_bucket]","target":"Systemd::Service[clean_puppet_client_bucket]"},{"source":"Systemd::Unit[puppet-agent-timer.service]","target":"File[/lib/systemd/system/puppet-agent-timer.service]"},{"source":"Systemd::Unit[puppet-agent-timer.service]","target":"Exec[systemd daemon-reload for puppet-agent-timer.service (puppet-agent-timer.service)]"},{"source":"Systemd::Timer[puppet-agent-timer]","target":"Systemd::Service[puppet-agent-timer]"},{"source":"Systemd::Syslog[puppet-agent-timer]","target":"File[/var/log/puppet-agent-timer]"},{"source":"Systemd::Syslog[puppet-agent-timer]","target":"Rsyslog::Conf[puppet-agent-timer]"},{"source":"Systemd::Syslog[puppet-agent-timer]","target":"Logrotate::Conf[puppet-agent-timer]"},{"source":"Logrotate::Conf[puppet]","target":"File[/etc/logrotate.d/puppet]"},{"source":"Concat::Fragment[debian]","target":"Concat_fragment[debian]"},{"source":"Concat::Fragment[debian-security]","target":"Concat_fragment[debian-security]"},{"source":"Concat::Fragment[debian-updates]","target":"Concat_fragment[debian-updates]"},{"source":"Concat[/etc/apt/sources.list.d/wikimedia.sources]","target":"Concat_file[/etc/apt/sources.list.d/wikimedia.sources]"},{"source":"Concat::Fragment[wikimedia-header]","target":"Concat_fragment[wikimedia-header]"},{"source":"Concat::Fragment[wikimedia]","target":"Concat_fragment[wikimedia]"},{"source":"Concat[/etc/apt/sources.list.d/wikimedia-private.sources]","target":"Concat_file[/etc/apt/sources.list.d/wikimedia-private.sources]"},{"source":"Concat::Fragment[wikimedia-private-header]","target":"Concat_fragment[wikimedia-private-header]"},{"source":"Concat::Fragment[wikimedia-private]","target":"Concat_fragment[wikimedia-private]"},{"source":"Concat[/etc/apt/sources.list.d/debian-backports.sources]","target":"Concat_file[/etc/apt/sources.list.d/debian-backports.sources]"},{"source":"Concat::Fragment[debian-backports-header]","target":"Concat_fragment[debian-backports-header]"},{"source":"Concat::Fragment[debian-backports]","target":"Concat_fragment[debian-backports]"},{"source":"Concat[/etc/apt/sources.list.d/debian-debug.sources]","target":"Concat_file[/etc/apt/sources.list.d/debian-debug.sources]"},{"source":"Concat::Fragment[debian-debug-header]","target":"Concat_fragment[debian-debug-header]"},{"source":"Concat::Fragment[debian-debug]","target":"Concat_fragment[debian-debug]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_systemd-timesyncd]","target":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_systemd-timesyncd]","target":"Systemd::Timer[wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_systemd-timesyncd]","target":"Systemd::Syslog[wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_prometheus-node-exporter]","target":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_prometheus-node-exporter]","target":"Systemd::Timer[wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_prometheus-node-exporter]","target":"Systemd::Syslog[wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_rsyslog]","target":"Systemd::Unit[wmf_auto_restart_rsyslog.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_rsyslog]","target":"Systemd::Timer[wmf_auto_restart_rsyslog]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_rsyslog]","target":"Systemd::Syslog[wmf_auto_restart_rsyslog]"},{"source":"Rsyslog::Conf[exporter-base]","target":"File[/etc/rsyslog.d/10-exporter-base.conf]"},{"source":"Rsyslog::Conf[exporter]","target":"File[/etc/rsyslog.d/10-exporter.conf]"},{"source":"Systemd::Unit[cadvisor]","target":"File[/etc/systemd/system/cadvisor.service.d/puppet-override.conf]"},{"source":"Systemd::Unit[cadvisor]","target":"Exec[systemd daemon-reload for cadvisor.service (cadvisor)]"},{"source":"Stage[main]","target":"Class[Sysctl]"},{"source":"Class[Sysctl]","target":"File[/etc/sysctl.d]"},{"source":"Class[Sysctl]","target":"Exec[update_sysctl]"},{"source":"Sysctl::Conffile[ubuntu defaults]","target":"File[/etc/sysctl.d/51-ubuntu-defaults.conf]"},{"source":"Sysctl::Conffile[wikimedia base]","target":"File[/etc/sysctl.d/60-wikimedia-base.conf]"},{"source":"Sysctl::Conffile[disable_unprivileged_bpf]","target":"File[/etc/sysctl.d/70-disable_unprivileged_bpf.conf]"},{"source":"Sysctl::Conffile[unprivileged_userns_clone]","target":"File[/etc/sysctl.d/70-unprivileged_userns_clone.conf]"},{"source":"Sysctl::Conffile[fastopen]","target":"File[/etc/sysctl.d/70-fastopen.conf]"},{"source":"Sysctl::Conffile[tcp_min_snd_mss]","target":"File[/etc/sysctl.d/70-tcp_min_snd_mss.conf]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_lldpd]","target":"Systemd::Unit[wmf_auto_restart_lldpd.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_lldpd]","target":"Systemd::Timer[wmf_auto_restart_lldpd]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_lldpd]","target":"Systemd::Syslog[wmf_auto_restart_lldpd]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_systemd-journald]","target":"Systemd::Unit[wmf_auto_restart_systemd-journald.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_systemd-journald]","target":"Systemd::Timer[wmf_auto_restart_systemd-journald]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_systemd-journald]","target":"Systemd::Syslog[wmf_auto_restart_systemd-journald]"},{"source":"Sysctl::Conffile[core_dumps]","target":"File[/etc/sysctl.d/70-core_dumps.conf]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_ssh]","target":"Systemd::Unit[wmf_auto_restart_ssh.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_ssh]","target":"Systemd::Timer[wmf_auto_restart_ssh]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_ssh]","target":"Systemd::Syslog[wmf_auto_restart_ssh]"},{"source":"Systemd::Unit[kernel-purge.service]","target":"File[/lib/systemd/system/kernel-purge.service]"},{"source":"Systemd::Unit[kernel-purge.service]","target":"Exec[systemd daemon-reload for kernel-purge.service (kernel-purge.service)]"},{"source":"Systemd::Timer[kernel-purge]","target":"Systemd::Service[kernel-purge]"},{"source":"Systemd::Syslog[kernel-purge]","target":"File[/var/log/kernel-purge]"},{"source":"Systemd::Syslog[kernel-purge]","target":"Rsyslog::Conf[kernel-purge]"},{"source":"Systemd::Syslog[kernel-purge]","target":"Logrotate::Conf[kernel-purge]"},{"source":"Systemd::Unit[prometheus-debian-version-textfile.service]","target":"File[/lib/systemd/system/prometheus-debian-version-textfile.service]"},{"source":"Systemd::Unit[prometheus-debian-version-textfile.service]","target":"Exec[systemd daemon-reload for prometheus-debian-version-textfile.service (prometheus-debian-version-textfile.service)]"},{"source":"Systemd::Timer[prometheus-debian-version-textfile]","target":"Systemd::Service[prometheus-debian-version-textfile]"},{"source":"Systemd::Unit[prometheus-dpkg-success-textfile.service]","target":"File[/lib/systemd/system/prometheus-dpkg-success-textfile.service]"},{"source":"Systemd::Unit[prometheus-dpkg-success-textfile.service]","target":"Exec[systemd daemon-reload for prometheus-dpkg-success-textfile.service (prometheus-dpkg-success-textfile.service)]"},{"source":"Systemd::Timer[prometheus-dpkg-success-textfile]","target":"Systemd::Service[prometheus-dpkg-success-textfile]"},{"source":"Systemd::Unit[send_puppet_failure_emails.service]","target":"File[/lib/systemd/system/send_puppet_failure_emails.service]"},{"source":"Systemd::Unit[send_puppet_failure_emails.service]","target":"Exec[systemd daemon-reload for send_puppet_failure_emails.service (send_puppet_failure_emails.service)]"},{"source":"Systemd::Timer[send_puppet_failure_emails]","target":"Systemd::Service[send_puppet_failure_emails]"},{"source":"Systemd::Unit[cleanup_puppet_client_bucket.service]","target":"File[/lib/systemd/system/cleanup_puppet_client_bucket.service]"},{"source":"Systemd::Unit[cleanup_puppet_client_bucket.service]","target":"Exec[systemd daemon-reload for cleanup_puppet_client_bucket.service (cleanup_puppet_client_bucket.service)]"},{"source":"Systemd::Timer[cleanup_puppet_client_bucket]","target":"Systemd::Service[cleanup_puppet_client_bucket]"},{"source":"Concat::Fragment[/etc/openstack/clouds.yaml_novaobserver]","target":"Concat_fragment[/etc/openstack/clouds.yaml_novaobserver]"},{"source":"Concat::Fragment[/root/.config/openstack/clouds.yaml_novaobserver]","target":"Concat_fragment[/root/.config/openstack/clouds.yaml_novaobserver]"},{"source":"Concat::Fragment[/etc/openstack/clouds.yaml_ossystemobserver]","target":"Concat_fragment[/etc/openstack/clouds.yaml_ossystemobserver]"},{"source":"Concat::Fragment[/root/.config/openstack/clouds.yaml_ossystemobserver]","target":"Concat_fragment[/root/.config/openstack/clouds.yaml_ossystemobserver]"},{"source":"Concat[/etc/security/access.conf]","target":"Concat_file[/etc/security/access.conf]"},{"source":"Stage[main]","target":"Class[Security::Pam]"},{"source":"Class[Security::Pam]","target":"Exec[pam-auth-update]"},{"source":"Security::Pam::Config[local-pam-access]","target":"File[/usr/share/pam-configs/local-pam-access]"},{"source":"Concat::Fragment[security-access-labs-local]","target":"Concat_fragment[security-access-labs-local]"},{"source":"Concat::Fragment[security-access-labs-restrict-to-project]","target":"Concat_fragment[security-access-labs-restrict-to-project]"},{"source":"Systemd::Unit[sssd-nss.service-sssd-nss-auto-restart]","target":"File[/etc/systemd/system/sssd-nss.service.d]"},{"source":"Systemd::Unit[sssd-nss.service-sssd-nss-auto-restart]","target":"File[/etc/systemd/system/sssd-nss.service.d/sssd-nss-auto-restart.conf]"},{"source":"Systemd::Unit[sssd-nss.service-sssd-nss-auto-restart]","target":"Exec[systemd daemon-reload for sssd-nss.service (sssd-nss.service-sssd-nss-auto-restart)]"},{"source":"Systemd::Unit[prometheus_ssh_open_sessions.service]","target":"File[/lib/systemd/system/prometheus_ssh_open_sessions.service]"},{"source":"Systemd::Unit[prometheus_ssh_open_sessions.service]","target":"Exec[systemd daemon-reload for prometheus_ssh_open_sessions.service (prometheus_ssh_open_sessions.service)]"},{"source":"Systemd::Timer[prometheus_ssh_open_sessions]","target":"Systemd::Service[prometheus_ssh_open_sessions]"},{"source":"Systemd::Syslog[prometheus_ssh_open_sessions]","target":"File[/var/log/prometheus_ssh_open_sessions]"},{"source":"Systemd::Syslog[prometheus_ssh_open_sessions]","target":"Rsyslog::Conf[prometheus_ssh_open_sessions]"},{"source":"Systemd::Syslog[prometheus_ssh_open_sessions]","target":"Logrotate::Conf[prometheus_ssh_open_sessions]"},{"source":"Motd::Script[infrastructure-banner]","target":"File[/etc/update-motd.d/50-infrastructure-banner]"},{"source":"Security::Access::Config[toolforge-admin-only]","target":"Concat::Fragment[security-access-toolforge-admin-only]"},{"source":"Sudo::Group[toolforge-admin-root]","target":"File[/etc/sudoers.d/toolforge-admin-root]"},{"source":"Apt::Repository[project-aptly]","target":"Exec[apt_repository_project-aptly]"},{"source":"Apt::Repository[project-aptly]","target":"Concat[/etc/apt/sources.list.d/project-aptly.sources]"},{"source":"Apt::Repository[project-aptly]","target":"Concat::Fragment[project-aptly-header]"},{"source":"Apt::Repository[project-aptly]","target":"Concat::Fragment[project-aptly]"},{"source":"Apt::Repository[project-aptly]","target":"File[/etc/apt/sources.list.d/project-aptly.list]"},{"source":"Apt::Pin[project-aptly]","target":"Exec[apt_pin_project-aptly]"},{"source":"Apt::Pin[project-aptly]","target":"File[/etc/apt/preferences.d/project_aptly.pref]"},{"source":"Apt::Conf[unattended-upgrades-aptly]","target":"File[/etc/apt/apt.conf.d/52unattended-upgrades-aptly]"},{"source":"Systemd::Override[ferm-service-status-restart]","target":"Systemd::Unit[ferm-ferm-service-status-restart]"},{"source":"Alternatives::Select[iptables]","target":"Exec[update_alternative_iptables]"},{"source":"Alternatives::Select[ip6tables]","target":"Exec[update_alternative_ip6tables]"},{"source":"Profile::Auto_restarts::Service[ulogd2]","target":"Systemd::Timer::Job[wmf_auto_restart_ulogd2]"},{"source":"Ferm::Filter_log[filter-bootp]","target":"Ferm::Rule[filter_log_filter-bootp]"},{"source":"Ferm::Rule[log-everything]","target":"File[/etc/ferm/conf.d/98_log-everything]"},{"source":"Sysctl::Parameters[ferm_conntrack]","target":"Sysctl::Conffile[ferm_conntrack]"},{"source":"Sysctl::Parameters[ferm_conntrack]","target":"Udev::Rule[ferm_conntrack]"},{"source":"Firewall::Service[ssh-from-bastion]","target":"Ferm::Service[ssh_from_bastion]"},{"source":"Firewall::Service[ssh-from-cumin-masters]","target":"Ferm::Service[ssh_from_cumin_masters]"},{"source":"Firewall::Service[full-monitoring-metrics-access-udp]","target":"Ferm::Service[full_monitoring_metrics_access_udp]"},{"source":"Firewall::Service[full-monitoring-metrics-access-tcp]","target":"Ferm::Service[full_monitoring_metrics_access_tcp]"},{"source":"Stage[main]","target":"Class[Confd]"},{"source":"Class[Confd]","target":"Package[confd]"},{"source":"Class[Confd]","target":"Package[python3-toml]"},{"source":"Class[Confd]","target":"File[/usr/local/bin/confd-lint-wrap]"},{"source":"Class[Confd]","target":"Nrpe::Plugin[check_confd_lint]"},{"source":"Class[Confd]","target":"Systemd::Tmpfile[/var/run/confd-template]"},{"source":"Class[Confd]","target":"Systemd::Timer::Job[clean-confd-rundir]"},{"source":"Class[Confd]","target":"Nrpe::Plugin[check_confd_template]"},{"source":"Class[Confd]","target":"File[/usr/local/bin/confd-prometheus-metrics]"},{"source":"Class[Confd]","target":"Logrotate::Conf[confd]"},{"source":"Class[Confd]","target":"Rsyslog::Conf[confd]"},{"source":"Class[Confd]","target":"Confd::Instance[main]"},{"source":"Confd::File[/etc/ferm/conf.d/00_defs_requestctl]","target":"File[/etc/confd/templates/_etc_ferm_conf.d_00_defs_requestctl.tmpl]"},{"source":"Confd::File[/etc/ferm/conf.d/00_defs_requestctl]","target":"File[/etc/confd/conf.d/_etc_ferm_conf.d_00_defs_requestctl.toml]"},{"source":"Confd::File[/etc/ferm/conf.d/00_defs_requestctl]","target":"File[/etc/ferm/conf.d/00_defs_requestctl]"},{"source":"Ferm::Rule[drop-blocked-nets]","target":"File[/etc/ferm/conf.d/01_drop-blocked-nets]"},{"source":"Ferm::Conf[main]","target":"File[/etc/ferm/conf.d/02_main]"},{"source":"Ferm::Rule[dscp-default]","target":"File[/etc/ferm/conf.d/99_dscp-default]"},{"source":"Ferm::Conf[defs]","target":"File[/etc/ferm/conf.d/00_defs]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Nrpe::Check[check_ferm_active]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Monitoring::Service[ferm_active]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Package[python3-click]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Package[python3-box]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"File[/usr/local/bin/nrpe2nodexp]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Prometheus::Alert::Rule[check_ferm_active_bba0a2572329bb500b832470e08b381c]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Systemd::Timer::Job[nrpe2nodexp-ferm_active]"},{"source":"Nrpe::Monitor_service[ferm_active]","target":"Rsyslog::Conf[nrpe2nodexp-ferm_active]"},{"source":"Alternatives::Select[editor]","target":"Exec[update_alternative_editor]"},{"source":"Logrotate::Conf[exim4-paniclog]","target":"File[/etc/logrotate.d/exim4-paniclog]"},{"source":"Stage[main]","target":"Class[Acme_chief]"},{"source":"Class[Acme_chief]","target":"Sslcert::Ca[Lets_Encrypt_Authority_X3]"},{"source":"Class[Acme_chief]","target":"Sslcert::Ca[Lets_Encrypt_Authority_X4]"},{"source":"Acme_chief::Cert[tools-legacy]","target":"File[/etc/acmecerts]"},{"source":"Acme_chief::Cert[tools-legacy]","target":"File[/etc/acmecerts/tools-legacy]"},{"source":"Httpd::Conf[defaults]","target":"File[/etc/apache2/conf-available/00-defaults.conf]"},{"source":"Httpd::Conf[defaults]","target":"File[/etc/apache2/conf-enabled/00-defaults.conf]"},{"source":"Httpd::Site[dummy]","target":"Httpd::Conf[dummy]"},{"source":"Httpd::Mod_conf[filter]","target":"Exec[ensure_present_mod_filter]"},{"source":"Httpd::Mod_conf[access_compat]","target":"Exec[ensure_present_mod_access_compat]"},{"source":"Httpd::Mod_conf[status]","target":"Exec[ensure_present_mod_status]"},{"source":"Httpd::Mod_conf[alias]","target":"Exec[ensure_present_mod_alias]"},{"source":"Httpd::Mod_conf[headers]","target":"Exec[ensure_present_mod_headers]"},{"source":"Httpd::Mod_conf[rewrite]","target":"Exec[ensure_present_mod_rewrite]"},{"source":"Httpd::Mod_conf[ssl]","target":"Exec[ensure_present_mod_ssl]"},{"source":"Httpd::Mod_conf[mpm_event]","target":"Exec[ensure_present_mod_mpm_event]"},{"source":"Httpd::Conf[server-status]","target":"File[/etc/apache2/conf-available/50-server-status.conf]"},{"source":"Httpd::Conf[server-status]","target":"File[/etc/apache2/conf-enabled/50-server-status.conf]"},{"source":"Systemd::Override[apache2-after-network-online-target]","target":"Systemd::Unit[apache2-apache2-after-network-online-target]"},{"source":"Profile::Auto_restarts::Service[apache-htcacheclean]","target":"Systemd::Timer::Job[wmf_auto_restart_apache-htcacheclean]"},{"source":"Httpd::Conf[mpm_event_override]","target":"File[/etc/apache2/conf-available/50-mpm-event-override.conf]"},{"source":"Httpd::Conf[mpm_event_override]","target":"File[/etc/apache2/conf-enabled/50-mpm-event-override.conf]"},{"source":"Httpd::Conf[mpm_event_override]","target":"File[mpm-event-override_mods-enabled/mpm_event.conf]"},{"source":"Httpd::Site[tools.wmflabs.org]","target":"Httpd::Conf[tools.wmflabs.org]"},{"source":"Httpd::Site[www.toolserver.org]","target":"Httpd::Conf[www.toolserver.org]"},{"source":"Ferm::Service[http]","target":"File[/etc/ferm/conf.d/10_http]"},{"source":"Ferm::Service[https]","target":"File[/etc/ferm/conf.d/10_https]"},{"source":"Systemd::Service[prometheus_puppet_agent_stats]","target":"Service[prometheus_puppet_agent_stats.timer]"},{"source":"Systemd::Service[prometheus_puppet_agent_stats]","target":"Systemd::Unit[prometheus_puppet_agent_stats.timer]"},{"source":"Rsyslog::Conf[prometheus_puppet_agent_stats]","target":"File[/etc/rsyslog.d/40-prometheus-puppet-agent-stats.conf]"},{"source":"Logrotate::Conf[prometheus_puppet_agent_stats]","target":"File[/etc/logrotate.d/prometheus_puppet_agent_stats]"},{"source":"Systemd::Service[clean_puppet_client_bucket]","target":"Service[clean_puppet_client_bucket.timer]"},{"source":"Systemd::Service[clean_puppet_client_bucket]","target":"Systemd::Unit[clean_puppet_client_bucket.timer]"},{"source":"Systemd::Service[puppet-agent-timer]","target":"Service[puppet-agent-timer.timer]"},{"source":"Systemd::Service[puppet-agent-timer]","target":"Systemd::Unit[puppet-agent-timer.timer]"},{"source":"Rsyslog::Conf[puppet-agent-timer]","target":"File[/etc/rsyslog.d/40-puppet-agent-timer.conf]"},{"source":"Logrotate::Conf[puppet-agent-timer]","target":"File[/etc/logrotate.d/puppet-agent-timer]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.service]","target":"File[/lib/systemd/system/wmf_auto_restart_systemd-timesyncd.service]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-timesyncd.service (wmf_auto_restart_systemd-timesyncd.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_systemd-timesyncd]","target":"Systemd::Service[wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Syslog[wmf_auto_restart_systemd-timesyncd]","target":"File[/var/log/wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Syslog[wmf_auto_restart_systemd-timesyncd]","target":"Rsyslog::Conf[wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Syslog[wmf_auto_restart_systemd-timesyncd]","target":"Logrotate::Conf[wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.service]","target":"File[/lib/systemd/system/wmf_auto_restart_prometheus-node-exporter.service]"},{"source":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_prometheus-node-exporter.service (wmf_auto_restart_prometheus-node-exporter.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_prometheus-node-exporter]","target":"Systemd::Service[wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Syslog[wmf_auto_restart_prometheus-node-exporter]","target":"File[/var/log/wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Syslog[wmf_auto_restart_prometheus-node-exporter]","target":"Rsyslog::Conf[wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Syslog[wmf_auto_restart_prometheus-node-exporter]","target":"Logrotate::Conf[wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Unit[wmf_auto_restart_rsyslog.service]","target":"File[/lib/systemd/system/wmf_auto_restart_rsyslog.service]"},{"source":"Systemd::Unit[wmf_auto_restart_rsyslog.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_rsyslog.service (wmf_auto_restart_rsyslog.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_rsyslog]","target":"Systemd::Service[wmf_auto_restart_rsyslog]"},{"source":"Systemd::Syslog[wmf_auto_restart_rsyslog]","target":"File[/var/log/wmf_auto_restart_rsyslog]"},{"source":"Systemd::Syslog[wmf_auto_restart_rsyslog]","target":"Rsyslog::Conf[wmf_auto_restart_rsyslog]"},{"source":"Systemd::Syslog[wmf_auto_restart_rsyslog]","target":"Logrotate::Conf[wmf_auto_restart_rsyslog]"},{"source":"Systemd::Unit[wmf_auto_restart_lldpd.service]","target":"File[/lib/systemd/system/wmf_auto_restart_lldpd.service]"},{"source":"Systemd::Unit[wmf_auto_restart_lldpd.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_lldpd.service (wmf_auto_restart_lldpd.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_lldpd]","target":"Systemd::Service[wmf_auto_restart_lldpd]"},{"source":"Systemd::Syslog[wmf_auto_restart_lldpd]","target":"File[/var/log/wmf_auto_restart_lldpd]"},{"source":"Systemd::Syslog[wmf_auto_restart_lldpd]","target":"Rsyslog::Conf[wmf_auto_restart_lldpd]"},{"source":"Systemd::Syslog[wmf_auto_restart_lldpd]","target":"Logrotate::Conf[wmf_auto_restart_lldpd]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-journald.service]","target":"File[/lib/systemd/system/wmf_auto_restart_systemd-journald.service]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-journald.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-journald.service (wmf_auto_restart_systemd-journald.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_systemd-journald]","target":"Systemd::Service[wmf_auto_restart_systemd-journald]"},{"source":"Systemd::Syslog[wmf_auto_restart_systemd-journald]","target":"File[/var/log/wmf_auto_restart_systemd-journald]"},{"source":"Systemd::Syslog[wmf_auto_restart_systemd-journald]","target":"Rsyslog::Conf[wmf_auto_restart_systemd-journald]"},{"source":"Systemd::Syslog[wmf_auto_restart_systemd-journald]","target":"Logrotate::Conf[wmf_auto_restart_systemd-journald]"},{"source":"Systemd::Unit[wmf_auto_restart_ssh.service]","target":"File[/lib/systemd/system/wmf_auto_restart_ssh.service]"},{"source":"Systemd::Unit[wmf_auto_restart_ssh.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_ssh.service (wmf_auto_restart_ssh.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_ssh]","target":"Systemd::Service[wmf_auto_restart_ssh]"},{"source":"Systemd::Syslog[wmf_auto_restart_ssh]","target":"File[/var/log/wmf_auto_restart_ssh]"},{"source":"Systemd::Syslog[wmf_auto_restart_ssh]","target":"Rsyslog::Conf[wmf_auto_restart_ssh]"},{"source":"Systemd::Syslog[wmf_auto_restart_ssh]","target":"Logrotate::Conf[wmf_auto_restart_ssh]"},{"source":"Systemd::Service[kernel-purge]","target":"Service[kernel-purge.timer]"},{"source":"Systemd::Service[kernel-purge]","target":"Systemd::Unit[kernel-purge.timer]"},{"source":"Rsyslog::Conf[kernel-purge]","target":"File[/etc/rsyslog.d/40-kernel-purge.conf]"},{"source":"Logrotate::Conf[kernel-purge]","target":"File[/etc/logrotate.d/kernel-purge]"},{"source":"Systemd::Service[prometheus-debian-version-textfile]","target":"Service[prometheus-debian-version-textfile.timer]"},{"source":"Systemd::Service[prometheus-debian-version-textfile]","target":"Systemd::Unit[prometheus-debian-version-textfile.timer]"},{"source":"Systemd::Service[prometheus-dpkg-success-textfile]","target":"Service[prometheus-dpkg-success-textfile.timer]"},{"source":"Systemd::Service[prometheus-dpkg-success-textfile]","target":"Systemd::Unit[prometheus-dpkg-success-textfile.timer]"},{"source":"Systemd::Service[send_puppet_failure_emails]","target":"Service[send_puppet_failure_emails.timer]"},{"source":"Systemd::Service[send_puppet_failure_emails]","target":"Systemd::Unit[send_puppet_failure_emails.timer]"},{"source":"Systemd::Service[cleanup_puppet_client_bucket]","target":"Service[cleanup_puppet_client_bucket.timer]"},{"source":"Systemd::Service[cleanup_puppet_client_bucket]","target":"Systemd::Unit[cleanup_puppet_client_bucket.timer]"},{"source":"Systemd::Service[prometheus_ssh_open_sessions]","target":"Service[prometheus_ssh_open_sessions.timer]"},{"source":"Systemd::Service[prometheus_ssh_open_sessions]","target":"Systemd::Unit[prometheus_ssh_open_sessions.timer]"},{"source":"Rsyslog::Conf[prometheus_ssh_open_sessions]","target":"File[/etc/rsyslog.d/40-prometheus-ssh-open-sessions.conf]"},{"source":"Logrotate::Conf[prometheus_ssh_open_sessions]","target":"File[/etc/logrotate.d/prometheus_ssh_open_sessions]"},{"source":"Concat::Fragment[security-access-toolforge-admin-only]","target":"Concat_fragment[security-access-toolforge-admin-only]"},{"source":"Concat[/etc/apt/sources.list.d/project-aptly.sources]","target":"Concat_file[/etc/apt/sources.list.d/project-aptly.sources]"},{"source":"Concat::Fragment[project-aptly-header]","target":"Concat_fragment[project-aptly-header]"},{"source":"Concat::Fragment[project-aptly]","target":"Concat_fragment[project-aptly]"},{"source":"Systemd::Unit[ferm-ferm-service-status-restart]","target":"File[/etc/systemd/system/ferm.service.d]"},{"source":"Systemd::Unit[ferm-ferm-service-status-restart]","target":"File[/etc/systemd/system/ferm.service.d/ferm-service-status-restart.conf]"},{"source":"Systemd::Unit[ferm-ferm-service-status-restart]","target":"Exec[systemd daemon-reload for ferm.service (ferm-ferm-service-status-restart)]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_ulogd2]","target":"Systemd::Unit[wmf_auto_restart_ulogd2.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_ulogd2]","target":"Systemd::Timer[wmf_auto_restart_ulogd2]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_ulogd2]","target":"Systemd::Syslog[wmf_auto_restart_ulogd2]"},{"source":"Ferm::Rule[filter_log_filter-bootp]","target":"File[/etc/ferm/conf.d/98_filter_log_filter-bootp]"},{"source":"Sysctl::Conffile[ferm_conntrack]","target":"File[/etc/sysctl.d/70-ferm_conntrack.conf]"},{"source":"Stage[main]","target":"Class[Udev]"},{"source":"Class[Udev]","target":"Exec[udev_reload]"},{"source":"Udev::Rule[ferm_conntrack]","target":"File[/etc/udev/rules.d/70-ferm_conntrack.rules]"},{"source":"Ferm::Service[ssh_from_bastion]","target":"File[/etc/ferm/conf.d/10_ssh_from_bastion]"},{"source":"Ferm::Service[ssh_from_cumin_masters]","target":"File[/etc/ferm/conf.d/10_ssh_from_cumin_masters]"},{"source":"Ferm::Service[full_monitoring_metrics_access_udp]","target":"File[/etc/ferm/conf.d/10_full_monitoring_metrics_access_udp]"},{"source":"Ferm::Service[full_monitoring_metrics_access_tcp]","target":"File[/etc/ferm/conf.d/10_full_monitoring_metrics_access_tcp]"},{"source":"Systemd::Tmpfile[/var/run/confd-template]","target":"File[/etc/tmpfiles.d/-var-run-confd-template.conf]"},{"source":"Systemd::Tmpfile[/var/run/confd-template]","target":"Exec[Refresh tmpfile /var/run/confd-template]"},{"source":"Systemd::Timer::Job[clean-confd-rundir]","target":"Systemd::Unit[clean-confd-rundir.service]"},{"source":"Systemd::Timer::Job[clean-confd-rundir]","target":"Systemd::Timer[clean-confd-rundir]"},{"source":"Systemd::Timer::Job[clean-confd-rundir]","target":"Systemd::Syslog[clean-confd-rundir]"},{"source":"Logrotate::Conf[confd]","target":"File[/etc/logrotate.d/confd]"},{"source":"Rsyslog::Conf[confd]","target":"File[/etc/rsyslog.d/20-confd.conf]"},{"source":"Confd::Instance[main]","target":"File[/etc/confd]"},{"source":"Confd::Instance[main]","target":"File[/etc/confd/conf.d]"},{"source":"Confd::Instance[main]","target":"File[/etc/confd/templates]"},{"source":"Confd::Instance[main]","target":"Base::Service_unit[confd]"},{"source":"Confd::Instance[main]","target":"Systemd::Timer::Job[confd_prometheus_metrics]"},{"source":"Stage[main]","target":"Class[Monitoring]"},{"source":"Monitoring::Service[ferm_active]","target":"Monitoring::Exported_nagios_service[tools-legacy-redirector-3 ferm_active]"},{"source":"Stage[main]","target":"Class[Prometheus::Instances]"},{"source":"Systemd::Timer::Job[nrpe2nodexp-ferm_active]","target":"Systemd::Unit[nrpe2nodexp-ferm_active.service]"},{"source":"Systemd::Timer::Job[nrpe2nodexp-ferm_active]","target":"Systemd::Timer[nrpe2nodexp-ferm_active]"},{"source":"Rsyslog::Conf[nrpe2nodexp-ferm_active]","target":"File[/etc/rsyslog.d/25-nrpe2nodexp-ferm-active.conf]"},{"source":"Sslcert::Ca[Lets_Encrypt_Authority_X3]","target":"File[/usr/local/share/ca-certificates/Lets_Encrypt_Authority_X3.crt]"},{"source":"Sslcert::Ca[Lets_Encrypt_Authority_X4]","target":"File[/usr/local/share/ca-certificates/Lets_Encrypt_Authority_X4.crt]"},{"source":"Httpd::Conf[dummy]","target":"File[/etc/apache2/sites-available/00-dummy.conf]"},{"source":"Httpd::Conf[dummy]","target":"File[/etc/apache2/sites-enabled/00-dummy.conf]"},{"source":"Systemd::Unit[apache2-apache2-after-network-online-target]","target":"File[/etc/systemd/system/apache2.service.d/apache2-after-network-online-target.conf]"},{"source":"Systemd::Unit[apache2-apache2-after-network-online-target]","target":"Exec[systemd daemon-reload for apache2.service (apache2-apache2-after-network-online-target)]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_apache-htcacheclean]","target":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.service]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_apache-htcacheclean]","target":"Systemd::Timer[wmf_auto_restart_apache-htcacheclean]"},{"source":"Systemd::Timer::Job[wmf_auto_restart_apache-htcacheclean]","target":"Systemd::Syslog[wmf_auto_restart_apache-htcacheclean]"},{"source":"Httpd::Conf[tools.wmflabs.org]","target":"File[/etc/apache2/sites-available/50-tools-wmflabs-org.conf]"},{"source":"Httpd::Conf[tools.wmflabs.org]","target":"File[/etc/apache2/sites-enabled/50-tools-wmflabs-org.conf]"},{"source":"Httpd::Conf[www.toolserver.org]","target":"File[/etc/apache2/sites-available/50-www-toolserver-org.conf]"},{"source":"Httpd::Conf[www.toolserver.org]","target":"File[/etc/apache2/sites-enabled/50-www-toolserver-org.conf]"},{"source":"Systemd::Unit[prometheus_puppet_agent_stats.timer]","target":"File[/lib/systemd/system/prometheus_puppet_agent_stats.timer]"},{"source":"Systemd::Unit[prometheus_puppet_agent_stats.timer]","target":"Exec[systemd daemon-reload for prometheus_puppet_agent_stats.timer (prometheus_puppet_agent_stats.timer)]"},{"source":"Systemd::Unit[clean_puppet_client_bucket.timer]","target":"File[/lib/systemd/system/clean_puppet_client_bucket.timer]"},{"source":"Systemd::Unit[clean_puppet_client_bucket.timer]","target":"Exec[systemd daemon-reload for clean_puppet_client_bucket.timer (clean_puppet_client_bucket.timer)]"},{"source":"Systemd::Unit[puppet-agent-timer.timer]","target":"File[/lib/systemd/system/puppet-agent-timer.timer]"},{"source":"Systemd::Unit[puppet-agent-timer.timer]","target":"Exec[systemd daemon-reload for puppet-agent-timer.timer (puppet-agent-timer.timer)]"},{"source":"Systemd::Service[wmf_auto_restart_systemd-timesyncd]","target":"Service[wmf_auto_restart_systemd-timesyncd.timer]"},{"source":"Systemd::Service[wmf_auto_restart_systemd-timesyncd]","target":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_systemd-timesyncd]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-systemd-timesyncd.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_systemd-timesyncd]","target":"File[/etc/logrotate.d/wmf_auto_restart_systemd-timesyncd]"},{"source":"Systemd::Service[wmf_auto_restart_prometheus-node-exporter]","target":"Service[wmf_auto_restart_prometheus-node-exporter.timer]"},{"source":"Systemd::Service[wmf_auto_restart_prometheus-node-exporter]","target":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_prometheus-node-exporter]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-prometheus-node-exporter.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_prometheus-node-exporter]","target":"File[/etc/logrotate.d/wmf_auto_restart_prometheus-node-exporter]"},{"source":"Systemd::Service[wmf_auto_restart_rsyslog]","target":"Service[wmf_auto_restart_rsyslog.timer]"},{"source":"Systemd::Service[wmf_auto_restart_rsyslog]","target":"Systemd::Unit[wmf_auto_restart_rsyslog.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_rsyslog]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-rsyslog.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_rsyslog]","target":"File[/etc/logrotate.d/wmf_auto_restart_rsyslog]"},{"source":"Systemd::Service[wmf_auto_restart_lldpd]","target":"Service[wmf_auto_restart_lldpd.timer]"},{"source":"Systemd::Service[wmf_auto_restart_lldpd]","target":"Systemd::Unit[wmf_auto_restart_lldpd.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_lldpd]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-lldpd.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_lldpd]","target":"File[/etc/logrotate.d/wmf_auto_restart_lldpd]"},{"source":"Systemd::Service[wmf_auto_restart_systemd-journald]","target":"Service[wmf_auto_restart_systemd-journald.timer]"},{"source":"Systemd::Service[wmf_auto_restart_systemd-journald]","target":"Systemd::Unit[wmf_auto_restart_systemd-journald.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_systemd-journald]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-systemd-journald.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_systemd-journald]","target":"File[/etc/logrotate.d/wmf_auto_restart_systemd-journald]"},{"source":"Systemd::Service[wmf_auto_restart_ssh]","target":"Service[wmf_auto_restart_ssh.timer]"},{"source":"Systemd::Service[wmf_auto_restart_ssh]","target":"Systemd::Unit[wmf_auto_restart_ssh.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_ssh]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-ssh.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_ssh]","target":"File[/etc/logrotate.d/wmf_auto_restart_ssh]"},{"source":"Systemd::Unit[kernel-purge.timer]","target":"File[/lib/systemd/system/kernel-purge.timer]"},{"source":"Systemd::Unit[kernel-purge.timer]","target":"Exec[systemd daemon-reload for kernel-purge.timer (kernel-purge.timer)]"},{"source":"Systemd::Unit[prometheus-debian-version-textfile.timer]","target":"File[/lib/systemd/system/prometheus-debian-version-textfile.timer]"},{"source":"Systemd::Unit[prometheus-debian-version-textfile.timer]","target":"Exec[systemd daemon-reload for prometheus-debian-version-textfile.timer (prometheus-debian-version-textfile.timer)]"},{"source":"Systemd::Unit[prometheus-dpkg-success-textfile.timer]","target":"File[/lib/systemd/system/prometheus-dpkg-success-textfile.timer]"},{"source":"Systemd::Unit[prometheus-dpkg-success-textfile.timer]","target":"Exec[systemd daemon-reload for prometheus-dpkg-success-textfile.timer (prometheus-dpkg-success-textfile.timer)]"},{"source":"Systemd::Unit[send_puppet_failure_emails.timer]","target":"File[/lib/systemd/system/send_puppet_failure_emails.timer]"},{"source":"Systemd::Unit[send_puppet_failure_emails.timer]","target":"Exec[systemd daemon-reload for send_puppet_failure_emails.timer (send_puppet_failure_emails.timer)]"},{"source":"Systemd::Unit[cleanup_puppet_client_bucket.timer]","target":"File[/lib/systemd/system/cleanup_puppet_client_bucket.timer]"},{"source":"Systemd::Unit[cleanup_puppet_client_bucket.timer]","target":"Exec[systemd daemon-reload for cleanup_puppet_client_bucket.timer (cleanup_puppet_client_bucket.timer)]"},{"source":"Systemd::Unit[prometheus_ssh_open_sessions.timer]","target":"File[/lib/systemd/system/prometheus_ssh_open_sessions.timer]"},{"source":"Systemd::Unit[prometheus_ssh_open_sessions.timer]","target":"Exec[systemd daemon-reload for prometheus_ssh_open_sessions.timer (prometheus_ssh_open_sessions.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_ulogd2.service]","target":"File[/lib/systemd/system/wmf_auto_restart_ulogd2.service]"},{"source":"Systemd::Unit[wmf_auto_restart_ulogd2.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_ulogd2.service (wmf_auto_restart_ulogd2.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_ulogd2]","target":"Systemd::Service[wmf_auto_restart_ulogd2]"},{"source":"Systemd::Syslog[wmf_auto_restart_ulogd2]","target":"File[/var/log/wmf_auto_restart_ulogd2]"},{"source":"Systemd::Syslog[wmf_auto_restart_ulogd2]","target":"Rsyslog::Conf[wmf_auto_restart_ulogd2]"},{"source":"Systemd::Syslog[wmf_auto_restart_ulogd2]","target":"Logrotate::Conf[wmf_auto_restart_ulogd2]"},{"source":"Systemd::Unit[clean-confd-rundir.service]","target":"File[/lib/systemd/system/clean-confd-rundir.service]"},{"source":"Systemd::Unit[clean-confd-rundir.service]","target":"Exec[systemd daemon-reload for clean-confd-rundir.service (clean-confd-rundir.service)]"},{"source":"Systemd::Timer[clean-confd-rundir]","target":"Systemd::Service[clean-confd-rundir]"},{"source":"Systemd::Syslog[clean-confd-rundir]","target":"File[/var/log/clean-confd-rundir]"},{"source":"Systemd::Syslog[clean-confd-rundir]","target":"Rsyslog::Conf[clean-confd-rundir]"},{"source":"Systemd::Syslog[clean-confd-rundir]","target":"Logrotate::Conf[clean-confd-rundir]"},{"source":"Base::Service_unit[confd]","target":"File[/lib/systemd/system/confd.service]"},{"source":"Base::Service_unit[confd]","target":"Exec[systemd reload for confd]"},{"source":"Base::Service_unit[confd]","target":"Service[confd]"},{"source":"Systemd::Timer::Job[confd_prometheus_metrics]","target":"Systemd::Unit[confd_prometheus_metrics.service]"},{"source":"Systemd::Timer::Job[confd_prometheus_metrics]","target":"Systemd::Timer[confd_prometheus_metrics]"},{"source":"Systemd::Timer::Job[confd_prometheus_metrics]","target":"Systemd::Syslog[confd_prometheus_metrics]"},{"source":"Systemd::Unit[nrpe2nodexp-ferm_active.service]","target":"File[/lib/systemd/system/nrpe2nodexp-ferm_active.service]"},{"source":"Systemd::Unit[nrpe2nodexp-ferm_active.service]","target":"Exec[systemd daemon-reload for nrpe2nodexp-ferm_active.service (nrpe2nodexp-ferm_active.service)]"},{"source":"Systemd::Timer[nrpe2nodexp-ferm_active]","target":"Systemd::Service[nrpe2nodexp-ferm_active]"},{"source":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.service]","target":"File[/lib/systemd/system/wmf_auto_restart_apache-htcacheclean.service]"},{"source":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.service]","target":"Exec[systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.service (wmf_auto_restart_apache-htcacheclean.service)]"},{"source":"Systemd::Timer[wmf_auto_restart_apache-htcacheclean]","target":"Systemd::Service[wmf_auto_restart_apache-htcacheclean]"},{"source":"Systemd::Syslog[wmf_auto_restart_apache-htcacheclean]","target":"File[/var/log/wmf_auto_restart_apache-htcacheclean]"},{"source":"Systemd::Syslog[wmf_auto_restart_apache-htcacheclean]","target":"Rsyslog::Conf[wmf_auto_restart_apache-htcacheclean]"},{"source":"Systemd::Syslog[wmf_auto_restart_apache-htcacheclean]","target":"Logrotate::Conf[wmf_auto_restart_apache-htcacheclean]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_systemd-timesyncd.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-timesyncd.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-timesyncd.timer (wmf_auto_restart_systemd-timesyncd.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_prometheus-node-exporter.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_prometheus-node-exporter.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_prometheus-node-exporter.timer (wmf_auto_restart_prometheus-node-exporter.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_rsyslog.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_rsyslog.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_rsyslog.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_rsyslog.timer (wmf_auto_restart_rsyslog.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_lldpd.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_lldpd.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_lldpd.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_lldpd.timer (wmf_auto_restart_lldpd.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-journald.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_systemd-journald.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_systemd-journald.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_systemd-journald.timer (wmf_auto_restart_systemd-journald.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_ssh.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_ssh.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_ssh.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_ssh.timer (wmf_auto_restart_ssh.timer)]"},{"source":"Systemd::Service[wmf_auto_restart_ulogd2]","target":"Service[wmf_auto_restart_ulogd2.timer]"},{"source":"Systemd::Service[wmf_auto_restart_ulogd2]","target":"Systemd::Unit[wmf_auto_restart_ulogd2.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_ulogd2]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-ulogd2.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_ulogd2]","target":"File[/etc/logrotate.d/wmf_auto_restart_ulogd2]"},{"source":"Systemd::Service[clean-confd-rundir]","target":"Service[clean-confd-rundir.timer]"},{"source":"Systemd::Service[clean-confd-rundir]","target":"Systemd::Unit[clean-confd-rundir.timer]"},{"source":"Rsyslog::Conf[clean-confd-rundir]","target":"File[/etc/rsyslog.d/40-clean-confd-rundir.conf]"},{"source":"Logrotate::Conf[clean-confd-rundir]","target":"File[/etc/logrotate.d/clean-confd-rundir]"},{"source":"Systemd::Unit[confd_prometheus_metrics.service]","target":"File[/lib/systemd/system/confd_prometheus_metrics.service]"},{"source":"Systemd::Unit[confd_prometheus_metrics.service]","target":"Exec[systemd daemon-reload for confd_prometheus_metrics.service (confd_prometheus_metrics.service)]"},{"source":"Systemd::Timer[confd_prometheus_metrics]","target":"Systemd::Service[confd_prometheus_metrics]"},{"source":"Systemd::Syslog[confd_prometheus_metrics]","target":"File[/var/log/confd_prometheus_metrics]"},{"source":"Systemd::Syslog[confd_prometheus_metrics]","target":"Rsyslog::Conf[confd_prometheus_metrics]"},{"source":"Systemd::Syslog[confd_prometheus_metrics]","target":"Logrotate::Conf[confd_prometheus_metrics]"},{"source":"Systemd::Service[nrpe2nodexp-ferm_active]","target":"Service[nrpe2nodexp-ferm_active.timer]"},{"source":"Systemd::Service[nrpe2nodexp-ferm_active]","target":"Systemd::Unit[nrpe2nodexp-ferm_active.timer]"},{"source":"Systemd::Service[wmf_auto_restart_apache-htcacheclean]","target":"Service[wmf_auto_restart_apache-htcacheclean.timer]"},{"source":"Systemd::Service[wmf_auto_restart_apache-htcacheclean]","target":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.timer]"},{"source":"Rsyslog::Conf[wmf_auto_restart_apache-htcacheclean]","target":"File[/etc/rsyslog.d/40-wmf-auto-restart-apache-htcacheclean.conf]"},{"source":"Logrotate::Conf[wmf_auto_restart_apache-htcacheclean]","target":"File[/etc/logrotate.d/wmf_auto_restart_apache-htcacheclean]"},{"source":"Systemd::Unit[wmf_auto_restart_ulogd2.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_ulogd2.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_ulogd2.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_ulogd2.timer (wmf_auto_restart_ulogd2.timer)]"},{"source":"Systemd::Unit[clean-confd-rundir.timer]","target":"File[/lib/systemd/system/clean-confd-rundir.timer]"},{"source":"Systemd::Unit[clean-confd-rundir.timer]","target":"Exec[systemd daemon-reload for clean-confd-rundir.timer (clean-confd-rundir.timer)]"},{"source":"Systemd::Service[confd_prometheus_metrics]","target":"Service[confd_prometheus_metrics.timer]"},{"source":"Systemd::Service[confd_prometheus_metrics]","target":"Systemd::Unit[confd_prometheus_metrics.timer]"},{"source":"Rsyslog::Conf[confd_prometheus_metrics]","target":"File[/etc/rsyslog.d/40-confd-prometheus-metrics.conf]"},{"source":"Logrotate::Conf[confd_prometheus_metrics]","target":"File[/etc/logrotate.d/confd_prometheus_metrics]"},{"source":"Systemd::Unit[nrpe2nodexp-ferm_active.timer]","target":"File[/lib/systemd/system/nrpe2nodexp-ferm_active.timer]"},{"source":"Systemd::Unit[nrpe2nodexp-ferm_active.timer]","target":"Exec[systemd daemon-reload for nrpe2nodexp-ferm_active.timer (nrpe2nodexp-ferm_active.timer)]"},{"source":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.timer]","target":"File[/lib/systemd/system/wmf_auto_restart_apache-htcacheclean.timer]"},{"source":"Systemd::Unit[wmf_auto_restart_apache-htcacheclean.timer]","target":"Exec[systemd daemon-reload for wmf_auto_restart_apache-htcacheclean.timer (wmf_auto_restart_apache-htcacheclean.timer)]"},{"source":"Systemd::Unit[confd_prometheus_metrics.timer]","target":"File[/lib/systemd/system/confd_prometheus_metrics.timer]"},{"source":"Systemd::Unit[confd_prometheus_metrics.timer]","target":"Exec[systemd daemon-reload for confd_prometheus_metrics.timer (confd_prometheus_metrics.timer)]"}],"classes":["profile::toolforge::infrastructure","role::aptly::client","role::wmcs::toolforge::legacy_redirector","settings","default","role::wmcs::instance","profile::base::labs","profile::base","profile::adduser","adduser","profile::puppet::agent","debian","puppet::agent","puppet_statsd","prometheus::node_puppet_agent","profile::puppet::client_bucket","profile::base::certificates","sslcert","sslcert::trusted_ca","profile::apt","apt","profile::systemd::timesyncd","systemd::timesyncd","grub::defaults","grub","passwords::root","network::constants","profile::resolving","resolvconf","profile::mail::default_mail_relay","profile::logrotate","logrotate","profile::prometheus::node_exporter","prometheus::node_exporter","profile::rsyslog","rsyslog","profile::syslog::remote","profile::prometheus::rsyslog_exporter","profile::prometheus::cadvisor","prometheus::cadvisor","profile::prometheus::ethtool_exporter","base::sysctl","motd","motd::defaults","base::standard_packages","profile::environment","base::sysctl::core_dumps","profile::ssh::client","ssh::client","profile::ssh::server","ssh::server","base::kernel","profile::debdeploy::client","debdeploy::client","base::initramfs","profile::auto_restarts","prometheus::node_debian_version","prometheus::node_dpkg_success","apt::unattendedupgrades","profile::openstack::eqiad1::observerenv","profile::openstack::base::observerenv","profile::openstack::eqiad1::clientpackages::vms","profile::openstack::base::clientpackages::vms","openstack::clientpackages::vms::common","profile::openstack::eqiad1::cumin::target","cumin::selector","profile::wmcs::instance","sudo","profile::ldap::client::labs","profile::ldap::client::utils","ldap::client::config","ldap::client::sssd","prometheus::node_ssh_open_sessions","cinderutils","systemd","initramfs","security::access","profile::toolforge::infrastructure","role::aptly::client","aptly::client","role::wmcs::toolforge::legacy_redirector","profile::firewall","firewall","ferm","profile::firewall::log::ferm","ulogd","profile::toolforge::base","sslcert::ca_deselect_dstx3","exim4","profile::toolforge::legacy_redirector","sslcert::dhparam","httpd","sysctl","security::pam","confd","acme_chief","udev","monitoring","prometheus::instances"]}
