## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by go2rpm 1.19.0 %bcond check 1 %global goname exporter_exporter # https://github.com/tcolgate/exporter_exporter %global goipath github.com/tcolgate/%{goname} # user the service is running under %global user expexp Version: 0.6.1 %gometa -L -f Name: prometheus-exporter-exporter Release: %autorelease Summary: A reverse proxy designed for Prometheus exporters # Generated by go-vendor-tools License: Apache-2.0 AND BSD-3-Clause AND MIT URL: %{gourl} Source0: %{gosource} # Generated by go-vendor-tools Source1: %{archivename}-vendor.tar.bz2 Source2: go-vendor-tools.toml Source4: %{name}.service Source5: %{name}.sysconfig # https://patch-diff.githubusercontent.com/raw/tcolgate/exporter_exporter/pull/8.diff Patch1: fix-panic-prometheus-0.67.patch BuildRequires: go-vendor-tools BuildRequires: systemd-rpm-macros %description exporter_exporter provides a simple reverse proxy for Prometheus exporters. It is intended as a single binary alternative to Nginx or Apache for use in environments where opening multiple TCP ports to all servers might be difficult due to firewalls or policy constraints. The advantages are: * A single port can be used to query multiple exporters (to ease firewall configuration concerns). * Can provide TLS with optional client certificate authentication. * Provides verification that the target is serving prometheus metrics. * Can be used to execute scripts that produce prometheus metrics. * up behaviour is the same as for querying individual collectors. * Small code size, minimal external depedencies, easily auditable. %prep %goprep -p1 tar -xf %{S:1} %generate_buildrequires %go_vendor_license_buildrequires -c %{S:2} %build %global gomodulesmode GO111MODULE=on %gobuild -o %{gobuilddir}/bin/%{goname} %{goipath} %install %go_vendor_license_install -c %{S:2} install -m 0755 -vd %{buildroot}%{_sbindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_sbindir}/ mkdir -p -m 0755 %{buildroot}%{_sysconfdir}/prometheus/{expexp.d,ssl} install -D -p -m 0644 expexp.yaml %{buildroot}%{_sysconfdir}/prometheus/expexp.yaml install -D -p -m 0644 %{S:4} %{buildroot}%{_unitdir}/%{name}.service ln -sf %{name}.service %{buildroot}%{_unitdir}/%{goname}.service install -D -p -m 0644 %{S:5} %{buildroot}%{_sysconfdir}/sysconfig/%{name} %check # XXX: borken in copr builds?!? #%go_vendor_license_check -c %{S:2} %if %{with check} %gotest ./... %endif %pre getent group %{user} >/dev/null || groupadd -r %{user} || : getent passwd %{user} >/dev/null || \ useradd -r -g %{user} -d /var/lib/prometheus -s /sbin/nologin \ -c "Prometheus exporter_exporter proxy user" %{user} || : %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files -f %{go_vendor_license_filelist} %doc AUTHORS README.md %{_sbindir}/exporter_exporter %{_unitdir}/%{name}.service %{_unitdir}/%{goname}.service %dir %{_sysconfdir}/prometheus %dir %{_sysconfdir}/prometheus/expexp.d %dir %{_sysconfdir}/prometheus/ssl %config(noreplace) %{_sysconfdir}/prometheus/expexp.yaml %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %changelog ## START: Generated by rpmautospec * Sat Oct 17 2026 John Doe - 0.6.1-1 - Uncommitted changes ## END: Generated by rpmautospec