Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
40 lines
1.2 KiB
Puppet
40 lines
1.2 KiB
Puppet
# @summary Export memcached stats, with SASL auth
|
|
#
|
|
# We cannot use the stock
|
|
# https://github.com/prometheus/memcached_exporter because it does not
|
|
# support SASL auth, which we require. Re-implement it in Python,
|
|
# using bmemcached.
|
|
class kandra::prometheus::memcached {
|
|
include kandra::prometheus::base
|
|
include zulip::supervisor
|
|
|
|
# We embed the hash of the contents into the name of the process, so
|
|
# that `supervisorctl reread` knows that it has updated.
|
|
$full_exporter_hash = sha256(file('kandra/memcached_exporter'))
|
|
$exporter_hash = $full_exporter_hash[0,8]
|
|
|
|
$bin = '/usr/local/bin/memcached_exporter'
|
|
file { $bin:
|
|
ensure => file,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0755',
|
|
source => 'puppet:///modules/kandra/memcached_exporter',
|
|
}
|
|
|
|
kandra::teleport::prometheus_app { 'memcached_exporter': port => '11212' }
|
|
file { "${zulip::common::supervisor_conf_dir}/memcached_exporter.conf":
|
|
ensure => file,
|
|
require => [
|
|
User[zulip],
|
|
Package[supervisor],
|
|
File[$bin],
|
|
],
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
content => template('kandra/supervisor/conf.d/memcached_exporter.conf.template.erb'),
|
|
notify => Service[supervisor],
|
|
}
|
|
}
|