Add www-apps/healthchecks and its dependencies:
www-apps/healthchecks dev-python/statsd dev-python/requests-oauthlib dev-python/oauthlib dev-python/fido2 dev-python/cron-descriptor dev-python/apprise
This commit is contained in:
parent
3ec318fe9c
commit
4bf6278ce0
12 changed files with 371 additions and 0 deletions
10
acct-group/healthchecks/healthchecks-0.ebuild
Normal file
10
acct-group/healthchecks/healthchecks-0.ebuild
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="A group for Healthchecks.io"
|
||||
|
||||
ACCT_GROUP_ID="-1"
|
14
acct-user/healthchecks/healthchecks-0.ebuild
Normal file
14
acct-user/healthchecks/healthchecks-0.ebuild
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="A user for Healthchecks.io"
|
||||
|
||||
ACCT_USER_GROUPS=( "${PN}" )
|
||||
ACCT_USER_HOME="/var/lib/${PN}"
|
||||
ACCT_USER_ID="-1"
|
||||
|
||||
acct-user_add_deps
|
36
dev-python/apprise/apprise-0.9.0.ebuild
Normal file
36
dev-python/apprise/apprise-0.9.0.ebuild
Normal file
|
@ -0,0 +1,36 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Push Notifications that work with just about every platform!"
|
||||
HOMEPAGE="https://github.com/caronc/apprise https://pypi.org/project/apprise/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
BDEPEND="dev-python/Babel[${PYTHON_USEDEP}]"
|
||||
RDEPEND="dev-python/cryptography[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/requests-oauthlib[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
>=dev-python/click-5.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="${REDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
# tries to download stuff
|
||||
sed -i "s/setup_requires=\['pytest-runner', 'babel', \]/setup_requires=\['babel'\]/" setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
20
dev-python/cron-descriptor/cron-descriptor-1.2.24.ebuild
Normal file
20
dev-python/cron-descriptor/cron-descriptor-1.2.24.ebuild
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A Python library that converts cron expressions into human readable strings."
|
||||
HOMEPAGE="https://github.com/Salamek/cron-descriptor https://pypi.org/project/cron-descriptor/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P/-/_}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 x86"
|
||||
|
||||
S="${WORKDIR}/${P/-/_}"
|
||||
|
||||
distutils_enable_tests unittest
|
50
dev-python/fido2/fido2-0.9.1.ebuild
Normal file
50
dev-python/fido2/fido2-0.9.1.ebuild
Normal file
|
@ -0,0 +1,50 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python based FIDO 2.0 library"
|
||||
HOMEPAGE="https://github.com/Yubico/python-fido2"
|
||||
SRC_URI="https://github.com/Yubico/python-fido2/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD-2 MIT MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="examples test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/cryptography[${PYTHON_USEDEP}]
|
||||
dev-python/pyscard[${PYTHON_USEDEP}]
|
||||
examples? (
|
||||
dev-python/flask[${PYTHON_USEDEP}]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyfakefs-3.4[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc -r "${S}"/examples/.
|
||||
docompress -x "/usr/share/doc/${PF}/examples"
|
||||
fi
|
||||
}
|
29
dev-python/oauthlib/oauthlib-3.1.0-r1.ebuild
Normal file
29
dev-python/oauthlib/oauthlib-3.1.0-r1.ebuild
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Spec-compliant and thorough implementation of the OAuth request-signing logic"
|
||||
HOMEPAGE="https://github.com/oauthlib/oauthlib https://pypi.org/project/oauthlib/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 x86"
|
||||
|
||||
# optional extras hard set as RDEPs. See setup.py
|
||||
RDEPEND="
|
||||
>=dev-python/pyjwt-1.0.0[${PYTHON_USEDEP}]
|
||||
dev-python/blinker[${PYTHON_USEDEP}]
|
||||
dev-python/cryptography[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests unittest
|
|
@ -0,0 +1,36 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="This project provides first-class OAuth library support for Requests"
|
||||
HOMEPAGE="https://github.com/requests/requests-oauthlib"
|
||||
SRC_URI="https://github.com/requests/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="ISC"
|
||||
KEYWORDS="amd64 ~arm x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oauthlib-3.0.0[${PYTHON_USEDEP}]"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/requests-mock[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
src_prepare() {
|
||||
# require Internet access
|
||||
sed -e 's:testCanPostBinaryData:_&:' \
|
||||
-e 's:test_content_type_override:_&:' \
|
||||
-e 's:test_url_is_native_str:_&:' \
|
||||
-i tests/test_core.py || die
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
22
dev-python/statsd/statsd-3.3.0-r1.ebuild
Normal file
22
dev-python/statsd/statsd-3.3.0-r1.ebuild
Normal file
|
@ -0,0 +1,22 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A simple statsd client"
|
||||
HOMEPAGE="https://github.com/jsocol/pystatsd https://pypi.org/project/statsd"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests nose
|
23
www-apps/healthchecks/files/healthchecks-monitor.service
Normal file
23
www-apps/healthchecks/files/healthchecks-monitor.service
Normal file
|
@ -0,0 +1,23 @@
|
|||
[Unit]
|
||||
Description=Healthchecks.io alerting process
|
||||
Requires=network-online.target
|
||||
After=network-online.target healthchecks-server.service
|
||||
|
||||
[Service]
|
||||
User=healthchecks
|
||||
Group=healthchecks
|
||||
WorkingDirectory=/usr/share/healthchecks
|
||||
PrivateDevices=true
|
||||
ProtectHome=true
|
||||
ProtectSystem=full
|
||||
PrivateDevices=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectControlGroups=true
|
||||
|
||||
ExecStart=/usr/bin/python3 -u ./manage.py sendalerts --no-threads
|
||||
|
||||
Restart=always
|
||||
RestartSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
23
www-apps/healthchecks/files/healthchecks-server.service
Normal file
23
www-apps/healthchecks/files/healthchecks-server.service
Normal file
|
@ -0,0 +1,23 @@
|
|||
[Unit]
|
||||
Description=Healthchecks.io application server
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
User=healthchecks
|
||||
Group=healthchecks
|
||||
WorkingDirectory=/usr/share/healthchecks
|
||||
PrivateDevices=true
|
||||
ProtectHome=true
|
||||
ProtectSystem=full
|
||||
PrivateDevices=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectControlGroups=true
|
||||
|
||||
ExecStart=/usr/bin/gunicorn --pythonpath . --bind 127.0.0.1:3004 --log-level debug hc.wsgi
|
||||
|
||||
Restart=always
|
||||
RestartSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
28
www-apps/healthchecks/files/local_settings.py
Normal file
28
www-apps/healthchecks/files/local_settings.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql",
|
||||
"NAME": "healthchecksdb"
|
||||
}
|
||||
}
|
||||
|
||||
SECRET_KEY = "__RANDOM__"
|
||||
DEBUG = True
|
||||
ALLOWED_HOSTS = ["127.0.0.1"]
|
||||
REGISTRATION_OPEN = False
|
||||
TIME_ZONE = "Europe/Prague"
|
||||
SITE_ROOT = "https://ping.example.com"
|
||||
SITE_NAME = "Example Healthchecks"
|
||||
PING_ENDPOINT = SITE_ROOT + "/ping/"
|
||||
APPRISE_ENABLED = False
|
||||
MSTEAMS_ENABLED = False
|
||||
MATTERMOST_ENABLED = True
|
||||
OPSGENIE_ENABLED = False
|
||||
PD_ENABLED = False
|
||||
PROMETHEUS_ENABLED = False
|
||||
SLACK_ENABLED = False
|
||||
SPIKE_ENABLED = False
|
||||
TELEGRAM_BOT_NAME = "BotName"
|
||||
TELEGRAM_TOKEN = "BotToken"
|
||||
VICTOROPS_ENABLED = False
|
||||
WEBHOOKS_ENABLED = True
|
||||
ZULIP_ENABLED = False
|
80
www-apps/healthchecks/healthchecks-1.19.0.ebuild
Normal file
80
www-apps/healthchecks/healthchecks-1.19.0.ebuild
Normal file
|
@ -0,0 +1,80 @@
|
|||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit python-single-r1 systemd
|
||||
|
||||
DESCRIPTION="Periodic task monitoring."
|
||||
HOMEPAGE="https://github.com/${PN}/${PN}"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="apprise"
|
||||
REQUIRED_USE=${PYTHON_REQUIRED_USE}
|
||||
|
||||
RDEPEND="
|
||||
acct-group/healthchecks
|
||||
acct-user/healthchecks
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/django-3.1[${PYTHON_MULTI_USEDEP}]
|
||||
>=dev-python/django-compressor-2.4[${PYTHON_MULTI_USEDEP}]
|
||||
>=dev-python/fido2-0.9.1[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/cron-descriptor[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/croniter[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/psycopg[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/requests[${PYTHON_MULTI_USEDEP}]
|
||||
dev-python/statsd[${PYTHON_MULTI_USEDEP}]
|
||||
www-servers/gunicorn[${PYTHON_MULTI_USEDEP}]
|
||||
apprise? ( dev-python/apprise[${PYTHON_MULTI_USEDEP}] )
|
||||
')"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_install() {
|
||||
TD=/usr/share/${PN}
|
||||
|
||||
insinto /etc/${PN}
|
||||
newins ${FILESDIR}/local_settings.py local_settings.py.example
|
||||
fowners root:${PN} /etc/${PN}/local_settings.py.example
|
||||
fperms 640 /etc/${PN}/local_settings.py.example
|
||||
dosym /etc/${PN}/local_settings.py ${TD}/hc/local_settings.py
|
||||
SECRET=$(python3 -c "import random; print(random.randbytes(25).hex())")
|
||||
sed -i "s/__RANDOM__/${SECRET}/" "${ED}/etc/${PN}/local_settings.py.example"
|
||||
|
||||
insinto ${TD}
|
||||
doins -r *
|
||||
|
||||
systemd_dounit ${FILESDIR}/${PN}-server.service
|
||||
systemd_dounit ${FILESDIR}/${PN}-monitor.service
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if [[ ! -a "/etc/${PN}/local_settings.py" ]]; then
|
||||
eerror "Create /etc/${PN}/local_settings.py with your configuration first."
|
||||
return 1
|
||||
fi
|
||||
|
||||
cd /usr/share/${PN}
|
||||
einfo "This will apply migrations and/or create a superuser. You can skip any step."
|
||||
|
||||
einfo "Apply migrations? [y/N]"
|
||||
read CHOICE
|
||||
if [[ ${CHOICE:0:1} == "y" ]]; then
|
||||
ebegin "Running migrations"
|
||||
sudo -u ${PN} python3 manage.py migrate || die
|
||||
eend 0
|
||||
fi
|
||||
|
||||
einfo "Createa a new superuser? [y/N]"
|
||||
read CHOICE
|
||||
if [[ ${CHOICE:0:1} == "y" ]]; then
|
||||
ebegin "Creating a superuser"
|
||||
sudo -u ${PN} python3 manage.py createsuperuser || die
|
||||
eend 0
|
||||
fi
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue