2019-03-25 19:36:40 +03:00
|
|
|
%define getsource github.com/hashicorp/%{name}
|
|
|
|
%define debug %nil
|
|
|
|
%define debug_package %nil
|
|
|
|
|
|
|
|
Name: consul
|
2025-02-20 19:25:20 +00:00
|
|
|
Version: 1.20.4
|
2019-03-25 19:36:40 +03:00
|
|
|
Release: 1
|
|
|
|
Summary: Service discovery tool
|
2020-09-22 07:15:44 +03:00
|
|
|
URL: https://www.consul.io
|
|
|
|
Source0: https://github.com/hashicorp/consul/archive/v%{version}/%{name}-%{version}.tar.gz
|
2019-03-25 19:36:40 +03:00
|
|
|
License: MPLv2.0
|
|
|
|
Group: System/Cluster
|
|
|
|
Source1000: %{name}.rpmlintrc
|
2020-09-22 07:15:44 +03:00
|
|
|
BuildRequires: go >=1.10
|
|
|
|
BuildRequires: git-core
|
2019-03-25 19:36:40 +03:00
|
|
|
BuildRequires: upx
|
2021-01-21 21:47:29 +03:00
|
|
|
BuildRequires: ncurses
|
2025-02-15 12:55:49 +00:00
|
|
|
BuildRequires: pkgconfig(systemd)
|
2019-03-25 19:36:40 +03:00
|
|
|
|
|
|
|
%description
|
|
|
|
Consul is a tool for service discovery and configuration.
|
|
|
|
Consul is distributed, highly available, and extremely scalable.
|
|
|
|
|
|
|
|
Consul provides several key features:
|
|
|
|
|
|
|
|
- Service Discovery - Consul makes it simple for services to register
|
|
|
|
themselves and to discover other services via a DNS or HTTP interface.
|
|
|
|
External services such as SaaS providers can be registered as well.
|
|
|
|
|
|
|
|
- Health Checking - Health Checking enables Consul to quickly alert
|
|
|
|
operators about any issues in a cluster. The integration with service
|
|
|
|
discovery prevents routing traffic to unhealthy hosts and enables
|
|
|
|
service level circuit breakers.
|
|
|
|
|
|
|
|
- Key/Value Storage - A flexible key/value store enables storing
|
|
|
|
dynamic configuration, feature flagging, coordination, leader
|
|
|
|
election and more. The simple HTTP API makes it easy to use anywhere.
|
|
|
|
|
|
|
|
- Multi-Datacenter - Consul is built to be datacenter aware,
|
|
|
|
and can support any number of regions without complex configuration.
|
|
|
|
|
|
|
|
- Service Segmentation - Consul Connect enables secure service-to-service
|
|
|
|
communication with automatic TLS encryption and identity-based authorization.
|
|
|
|
|
|
|
|
Consul runs on Linux, Mac OS X, FreeBSD, Solaris, and Windows.
|
|
|
|
A commercial version called Consul Enterprise is also available.
|
|
|
|
|
|
|
|
%prep
|
2020-09-22 07:15:44 +03:00
|
|
|
%setup -q
|
2019-03-25 19:36:40 +03:00
|
|
|
|
|
|
|
%build
|
2021-08-28 12:34:37 +03:00
|
|
|
%ifarch x86_64 amd64
|
|
|
|
arch="amd64"
|
|
|
|
%else
|
|
|
|
arch="386"
|
|
|
|
%endif
|
|
|
|
|
2025-02-15 12:55:49 +00:00
|
|
|
#build-support/scripts/build-local.sh -o linux -a $arch
|
|
|
|
export GOPROXY=https://proxy.golang.org,direct
|
|
|
|
%make
|
2019-03-25 19:36:40 +03:00
|
|
|
|
|
|
|
%install
|
2020-09-22 07:15:44 +03:00
|
|
|
install -Dm0755 bin/%{name} %{buildroot}%{_bindir}/%{name}
|
2019-03-25 19:36:40 +03:00
|
|
|
|
|
|
|
%files
|
2020-09-22 07:15:44 +03:00
|
|
|
%doc README.md LICENSE
|
2019-03-25 19:36:40 +03:00
|
|
|
%{_bindir}/%{name}
|