Description
Summary
This is a parent Issue to track an overall project to modernize all app-metrics ebuilds that are part of the Prometheus / Grafana ecosystem of telemetry based software.
As of today in Funtoo 1.4, all of these ebuilds are pulled from upstream gentoo-staging as defined in the nokit's packages.yml config. Currently these are upstream `app-metrics` ebuilds in nokit kit:
nokit/packages.yaml:734: - app-metrics/alertmanager nokit/packages.yaml:735: - app-metrics/bind_exporter nokit/packages.yaml:736: - app-metrics/blackbox_exporter nokit/packages.yaml:737: - app-metrics/buildbot-prometheus nokit/packages.yaml:738: - app-metrics/burrow_exporter nokit/packages.yaml:739: - app-metrics/collectd nokit/packages.yaml:740: - app-metrics/consul_exporter nokit/packages.yaml:741: - app-metrics/elasticsearch_exporter nokit/packages.yaml:742: - app-metrics/github-exporter nokit/packages.yaml:743: - app-metrics/grok_exporter nokit/packages.yaml:744: - app-metrics/memcached_exporter nokit/packages.yaml:745: - app-metrics/mongodb_exporter nokit/packages.yaml:746: - app-metrics/mysqld_exporter nokit/packages.yaml:747: - app-metrics/nginx-lua-prometheus nokit/packages.yaml:748: - app-metrics/nginx-vts-exporter nokit/packages.yaml:749: - app-metrics/node_exporter nokit/packages.yaml:750: - app-metrics/openvpn_exporter nokit/packages.yaml:751: - app-metrics/postfix_exporter nokit/packages.yaml:752: - app-metrics/postgres_exporter nokit/packages.yaml:753: - app-metrics/process-exporter nokit/packages.yaml:754: - app-metrics/prom2json nokit/packages.yaml:755: - app-metrics/prometheus nokit/packages.yaml:756: - app-metrics/pushgateway nokit/packages.yaml:757: - app-metrics/rabbitmq_exporter nokit/packages.yaml:758: - app-metrics/redis_exporter nokit/packages.yaml:759: - app-metrics/snmp_exporter nokit/packages.yaml:760: - app-metrics/uwsgi_exporter nokit/packages.yaml:761: - app-metrics/vault_exporter
The target of these new ebuild's includes:
- Prometheus core software as documented here: https://code.funtoo.org/bitbucket/projects/CORE/repos/kit-fixups/browse/nokit/packages.yaml)
- Prometheus Official Exporters as documented here: https://prometheus.io/docs/instrumenting/exporters/
- Prometheus Official Pre-Built Binaries Page available here: https://prometheus.io/download/
- Grafana core software as documented here: https://github.com/grafana/grafana
These pieces of software will be prioritized first and then any community exporters will follow.
Project Goals
- Convert targeted Prometheus/Grafana official packages to kit-fixups autogen ebuilds
- Provide the highest quality latest greatest (CVE patched) telemetry software releases to Funtoo users and servers
Project Phases
Phase 1
- Create -bin based autogens for the amd64 architecture for all targeted Prometheus/Grafana official ebuilds
- Most of the Prometheus/Grafana software is written in Golang and all of these software projects has an associated GitHub repo
- These GitHub repos leverage GitHub Releases to provide newly released software versions that are accessible via the GitHub API
- Fortunately, because of Golang build tool flexibility, all of these releases provide pre-compiled multi-architecture binary tarballs
- The goal here is not to not compile source code, but to instead leverage upstream CI/CD jobs that have generally pre-compiled these pieces of Golang software to provide them as fast as possible and give users/servers an option to get the pre-compiled versions
- Follow best practices around -bin packages
Phase 2
- Create regular compile based ebuilds that build each upstream Golang/other language Prometheus/Grafana package from their source code
- Work with the Funtoo Dev team to ensure ebuilds use the appropriate and most recommended Funtoo way to compile Golang packages (go get, go build, etc)
Attachments
Issue Links
- is blocked by
-
FL-9299 [net-kit] www-apps/grafana-bin: Need update
-
- Closed
-
-
FL-9301 [nokit] app-metrics/node_exporter: Need update
-
- Closed
-
-
FL-9300 [nokit] app-metrics/prometheus: Need update
-
- Closed
-
-
FL-9394 [core-server-kit] app-metrics/prometheus-bin: Add autogen
-
- Closed
-
-
FL-9395 [core-server-kit] app-metrics/alertmanager-bin: Add autogen
-
- Closed
-
-
FL-9396 [core-server-kit] app-metrics/blackbox_exporter-bin: Add autogen
-
- Closed
-
-
FL-9397 [core-server-kit] app-metrics/consul_exporter-bin: Add autogen
-
- Closed
-
-
FL-9398 [core-server-kit] app-metrics/memcached_exporter-bin: Add autogen
-
- Closed
-
-
FL-9399 [core-server-kit] app-metrics/mysqld_exporter-bin: Add autogen
-
- Closed
-
-
FL-9400 [core-server-kit] app-metrics/redis_exporter-bin: Add autogen
-
- Closed
-
-
FL-10392 [core-server-kit] Update all Project Telemetry bin autogens to support arm64
-
- Closed
-
-
FL-9538 [dev-kit] dev-util/promu: Add source autogen
-
- Ready to Fix
-
- relates to
-
FL-9430 Autogen github-1 Generator Feature Request: Support for GitHub Released multi-arch bin tarballs
-
- Closed
-