diff options
author | William Hubbs <william.hubbs@sony.com> | 2019-02-27 17:16:27 -0600 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2019-02-27 17:20:13 -0600 |
commit | 48dfbcc541e36b38d9a8c72ab052c178dd5c4f56 (patch) | |
tree | abab7f7cece952c13e81b7ea245900c6ace5a0c0 /www-apps/trickster-bin | |
parent | dev-db/sqlite: Delete old versions (<3.25.3). (diff) | |
download | gentoo-48dfbcc541e36b38d9a8c72ab052c178dd5c4f56.tar.gz gentoo-48dfbcc541e36b38d9a8c72ab052c178dd5c4f56.tar.bz2 gentoo-48dfbcc541e36b38d9a8c72ab052c178dd5c4f56.zip |
www-apps/trickster-bin: a Dashboard Accellerator for prometheus
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: William Hubbs <williamh@gentoo.org>
Diffstat (limited to 'www-apps/trickster-bin')
-rw-r--r-- | www-apps/trickster-bin/Manifest | 1 | ||||
-rw-r--r-- | www-apps/trickster-bin/files/trickster.conf | 113 | ||||
-rwxr-xr-x | www-apps/trickster-bin/files/trickster.initd | 20 | ||||
-rw-r--r-- | www-apps/trickster-bin/files/trickster.service | 17 | ||||
-rw-r--r-- | www-apps/trickster-bin/metadata.xml | 8 | ||||
-rw-r--r-- | www-apps/trickster-bin/trickster-bin-0.1.7.ebuild | 36 |
6 files changed, 195 insertions, 0 deletions
diff --git a/www-apps/trickster-bin/Manifest b/www-apps/trickster-bin/Manifest new file mode 100644 index 000000000000..8ba1d7cf6ac6 --- /dev/null +++ b/www-apps/trickster-bin/Manifest @@ -0,0 +1 @@ +DIST trickster-0.1.7.linux-amd64.gz 6440487 BLAKE2B 70884e04852aadf1c0a723dfdb8c39ea081e7ee15a69062e43c80bf0a75e80791e93825ddb691cc1323bdc2ae8efbef57e66871e2ed33397b29dce8d1320b12f SHA512 f8099108ad0b11d3dddd6043ceaef3451131e30aeb1973231e86c0b3b4ff378dd0e559c56903c3f2b35a5e83f2a06e8c72e95a4c1408aedb8ea6ddfb3525b67c diff --git a/www-apps/trickster-bin/files/trickster.conf b/www-apps/trickster-bin/files/trickster.conf new file mode 100644 index 000000000000..004a3e906423 --- /dev/null +++ b/www-apps/trickster-bin/files/trickster.conf @@ -0,0 +1,113 @@ +[main] +# instance_id allows you to run multiple trickster processes on the same host and log to separate files +# Useful for baremetal, not so much for elastic deployments, so only uncomment if you really need it +#instance_id = 1 + +# Configuration options for the Proxy Server +[proxy_server] +# listen_port defines the port on which Trickster's Proxy server listens. +# since this is a proxy for Prometheus, we use 9090 by default, just like Prometheus does +# listen_port = 9090 +# listen_address defines the ip on which Trickster's Proxy server listens. +# empty by default, listening on all interfaces +# listen_address = + +[cache] +# cache_type defines what kind of cache Trickster uses +# options are 'boltdb', 'filesystem', 'memory', and 'redis'. +# The default is 'memory'. +cache_type = 'memory' + +# record_ttl_secs defines the relative expiration of cached queries. default is 6 hours (21600 seconds) +# record_ttl_secs = 21600 + +# reap_sleep_ms defines how long the cache reaper waits between reap cycles. Default is 1000 (1s) +# reap_sleep_ms = 1000 + +# compression determines whether the cache should be compressed. default is true +# compression = true + + ### Configuration options when using a Redis Cache + # [cache.redis] + # protocol defines the protocol for connecting to redis ('unix' or 'tcp') 'tcp' is default + # protocol = 'tcp' + # endpoint defines the fqdn+port or path to a unix socket file for connecting to redis + # default is 'redis:6379' + # endpoint = 'redis:6379' + + ### Configuration options when using a Filesystem Cache + # [cache.filesystem] + # cache_path defines the directory location under which the Trickster cache will be maintained + # default is '/tmp/trickster' + # cache_path = '/tmp/trickster' + + # Configuration options when using a BoltDb Cache + #[cache.boltdb] + + # filename defines the file where the Trickster cache will be maintained + # default is 'trickster.db' + # filename = 'trickster.db' + + # bucket defines the name of the BotlDb bucket (similar to a namespace) under which our key value store lives + # default is 'trickster' + # bucket = 'trickster' + +# Configuration options for mapping Origin(s) +[origins] + ### The default origin + [origins.default] + + # origin_url defines the URL of the origin. Default is http://prometheus:9090 + origin_url = 'http://prometheus:9090' + + # timeout_secs defines how many seconds Trickster will wait before aborting and upstream http request. Default: 180s + # timeout_secs = 180 + + # api path defines the path of the Prometheus API (usually '/api/v1') + api_path = '/api/v1' + + # ignore_no_cache_header disables a client's ability to send a no-cache to refresh a cached query. Default is false + # ignore_no_cache_header = false + + # max_value_age_secs defines the maximum age of specific datapoints in seconds. Default is 86400 (24 hours) + max_value_age_secs = 86400 + + # fast_forward_disable, when set to true, will turn off the 'fast forward' feature for any requests proxied to this origin + # fast_forward_disable = false + + # For multi-origin support, origins are named, and the name is the second word of the configuration section name. + # In this example, an origin is named "foo". Clients can indicate this origin in their path (http://trickster.example.com:9090/foo/query_range?.....) + # there are other ways for clients to indicate which origin to use in a multi-origin setup. See the documentation for more information + + # [origins.foo] + # origin_url = 'http://prometheus-foo:9090' + # api_path = '/api/v1' + # default_step = 300 + # ignore_no_cache_header = false + # max_value_age_secs = 86400 + # timeout_secs = 180 + +# Configuration Options for Metrics Instrumentation +[metrics] +# listen_port defines the port that Trickster's metrics server listens on at /metrics +listen_port = 8082 +# listen_address defines the ip that Trickster's metrics server listens on at /metrics +# empty by default, listening on all interfaces +# listen_address = + +# Configruation Options for Profiler +[profiler] +# enabled indicates whether to start the profiler server when Trickster starts up. Default: false +# enabled = false +# listen_port defines the port that Trickster's profiler server listens on at /debug/pprof. Default: 6060 +# listen_port = 6060 + +# Configuration Options for Logging Instrumentation +[logging] +# log_level defines the verbosity of the logger. Possible values are 'debug', 'info', 'warn', 'error' +# default is info +log_level = 'info' + +# log_file defines the file location to store logs. These will be auto-rolled and maintained for you. +# not specifying a log_file (this is the default behavior) will print logs to STDOUT +# log_file = '/some/path/to/trickster.log' diff --git a/www-apps/trickster-bin/files/trickster.initd b/www-apps/trickster-bin/files/trickster.initd new file mode 100755 index 000000000000..e443653fcbc2 --- /dev/null +++ b/www-apps/trickster-bin/files/trickster.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +command=/usr/bin/trickster +command_background=yes +command_group=trickster +command_user=trickster +description="Dashboard Accelerator for Prometheus" +error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log +extra_started_commands=reload +pidfile=/var/run/trickster.pid + +depend() { +after net +} + +reload() { + ebegin "Reloading ${RC_SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${PIDFILE}" + EEND $? +} diff --git a/www-apps/trickster-bin/files/trickster.service b/www-apps/trickster-bin/files/trickster.service new file mode 100644 index 000000000000..02363a906786 --- /dev/null +++ b/www-apps/trickster-bin/files/trickster.service @@ -0,0 +1,17 @@ +# -*- mode: conf -*- + +[Unit] +Description=Dashboard Accelerator for Prometheus +Documentation=https://github.com/Comcast/trickster +After=network.target + +[Service] +EnvironmentFile=-/etc/default/trickster +User=trickster +ExecStart=/usr/bin/trickster \ + $TRICKSTER_OPTS +ExecReload=/bin/kill -HUP $MAINPID +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/trickster-bin/metadata.xml b/www-apps/trickster-bin/metadata.xml new file mode 100644 index 000000000000..c36c37139fad --- /dev/null +++ b/www-apps/trickster-bin/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>williamh@gentoo.org</email> + <name>William Hubbs</name> + </maintainer> +</pkgmetadata> diff --git a/www-apps/trickster-bin/trickster-bin-0.1.7.ebuild b/www-apps/trickster-bin/trickster-bin-0.1.7.ebuild new file mode 100644 index 000000000000..4457b9526e2a --- /dev/null +++ b/www-apps/trickster-bin/trickster-bin-0.1.7.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +MY_PN=${PN%-bin} +MY_P=${MY_PN}-${PV} + +inherit user systemd + +DESCRIPTION="Dashboard Accelerator for Prometheus" +HOMEPAGE="https://github.com/Comcast/trickster" +SRC_URI="https://github.com/Comcast/trickster/releases/download/v${PV}/${MY_P}.linux-amd64.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +QA_PREBUILT="usr/bin/*" + +S="${WORKDIR}" + +pkg_setup() { + enewgroup ${MY_PN} + enewuser ${MY_PN} -1 -1 -1 ${MY_PN} +} + +src_install() { +dobin ${MY_P}.linux-amd64 +dosym ${MY_P}.linux-amd64 /usr/bin/${MY_PN} +insinto /etc/trickster +doins "${FILESDIR}"/trickster.conf +newinitd "${FILESDIR}"/${MY_PN}.initd ${MY_PN} +systemd_dounit "${FILESDIR}"/trickster.service +keepdir /var/log/${MY_PN} +fowners ${MY_PN}:${MY_PN} /var/log/${MY_PN} +} |