Blame packages/t/teleport/teleport.spec

24a40f
#
24a40f
# spec file for package teleport
24a40f
#
c0e1b2
# Copyright (c) 2023 SUSE LLC
24a40f
#
24a40f
# All modifications and additions to the file contributed by third parties
24a40f
# remain the property of their copyright owners, unless otherwise agreed
24a40f
# upon. The license for this file, and modifications and additions to the
24a40f
# file, is the same license as for the pristine package itself (unless the
24a40f
# license for the pristine package is not an Open Source License, in which
24a40f
# case the license is the MIT License). An "Open Source License" is a
24a40f
# license that conforms to the Open Source Definition (Version 1.9)
24a40f
# published by the Open Source Initiative.
24a40f
24a40f
# Please submit bugfixes or comments via https://bugs.opensuse.org/
24a40f
#
24a40f
24a40f
24a40f
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
24a40f
24a40f
Name:           teleport
Bernhard M. Wiedemann 514c2a
Version:        11.3.2
24a40f
Release:        0
24a40f
Summary:        Identity-aware, multi-protocol access proxy
24a40f
License:        Apache-2.0
24a40f
URL:            https://github.com/gravitational/teleport
24a40f
Source:         %{name}-%{version}.tar.gz
24a40f
Source1:        vendor.tar.gz
a906eb
Source2:        webassets.tar.gz
a906eb
Source3:        teleport.service
a906eb
Source4:        teleport.yaml
0e2c12
Source5:        tbot.yaml
a906eb
BuildRequires:  git-core
24a40f
BuildRequires:  go >= 1.17
a906eb
BuildRequires:  pam-devel
24a40f
BuildRequires:  systemd-rpm-macros
24a40f
Requires:       teleport-tctl
24a40f
24a40f
%description
24a40f
Teleport is the easiest, most secure way to access all your infrastructure. Teleport is an identity-aware, multi-protocol access proxy which understands SSH, HTTPS, RDP, Kubernetes API, MySQL, MongoDB and PostgreSQL wire protocols.
24a40f
24a40f
On the server-side, Teleport is a single binary which enables convenient secure access to behind-NAT resources such as:
24a40f
* SSH nodes - SSH works in browsers too!
24a40f
* Kubernetes clusters
24a40f
* PostgreSQL, MongoDB, CockroachDB and MySQL databases
24a40f
* Internal Web apps
24a40f
* Windows Hosts
24a40f
* Networked servers
24a40f
24a40f
%package -n teleport-tctl
24a40f
Summary:        CLI tool for managing a teleport server
24a40f
License:        Apache-2.0
24a40f
24a40f
%description -n teleport-tctl
24a40f
An administrative tool that can configure Teleport Auth Service.
24a40f
24a40f
%package -n teleport-tsh
24a40f
Summary:        CLI tool for logging into nodes via Teleport SSH
24a40f
License:        Apache-2.0
24a40f
24a40f
%description -n teleport-tsh
24a40f
A tool that lets end users interact with Teleport nodes. This replaces ssh.
24a40f
0e2c12
%package -n teleport-tbot
0e2c12
Summary:        CLI tool for Machine ID
0e2c12
License:        Apache-2.0
0e2c12
0e2c12
%description -n teleport-tbot
0e2c12
Machine ID is a service that programmatically issues and renews short-lived certificates to any service account (e.g., a CI/CD server) by retrieving credentials from the Teleport Auth Service. This enables fine-grained role-based access controls and audit.
0e2c12
tbot is the executable belonging to the Machine ID service.
0e2c12
24a40f
%prep
b57363
%setup -q
24a40f
%setup -q -T -D -a 1
a906eb
%setup -q -T -D -a 2
24a40f
24a40f
%build
a906eb
a906eb
mkdir -p lib/web/build/webassets
a906eb
cp -r webassets/teleport/* lib/web/build/webassets
a906eb
24a40f
go build \
a906eb
   -tags "pam webassets_embed" \
24a40f
   -mod=vendor \
24a40f
   -buildmode=pie \
a906eb
   -ldflags="-w -s -X main.VERSION=%{version}" \
a906eb
   -o teleport ./tool/teleport
24a40f
go build \
a906eb
   -tags "pam" \
24a40f
   -mod=vendor \
24a40f
   -buildmode=pie \
a906eb
   -ldflags="-w -s -X main.VERSION=%{version}" \
a906eb
   -o tsh ./tool/tsh
24a40f
go build \
a906eb
   -tags "pam" \
24a40f
   -mod=vendor \
24a40f
   -buildmode=pie \
a906eb
   -ldflags="-w -s -X main.VERSION=%{version}" \
0e2c12
   -o tbot ./tool/tbot
0e2c12
0e2c12
go build \
0e2c12
   -tags "pam" \
0e2c12
   -mod=vendor \
0e2c12
   -buildmode=pie \
0e2c12
   -ldflags="-w -s -X main.VERSION=%{version}" \
a906eb
   -o tctl ./tool/tctl
24a40f
24a40f
%install
24a40f
# Install the binary.
a906eb
install -D -m 0755 tsh "%{buildroot}/%{_bindir}/tsh"
a906eb
install -D -m 0755 tctl "%{buildroot}/%{_bindir}/tctl"
0e2c12
install -D -m 0755 tbot "%{buildroot}/%{_bindir}/tbot"
a906eb
install -D -m 0755 teleport "%{buildroot}/%{_sbindir}/teleport"
a906eb
install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/teleport.service
a906eb
install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/teleport.yaml
0e2c12
install -D -m 644 examples/systemd/machine-id/machine-id.service %{buildroot}%{_unitdir}/
0e2c12
install -D -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/tbot.yaml
0e2c12
0e2c12
# teleport service
24a40f
24a40f
%pre -n teleport
24a40f
%service_add_pre teleport.service
24a40f
24a40f
%post -n teleport
24a40f
%service_add_post teleport.service
24a40f
24a40f
%preun -n teleport
24a40f
%service_del_preun teleport.service
24a40f
24a40f
%postun -n teleport
24a40f
%service_del_postun teleport.service
24a40f
0e2c12
# machine-id service
0e2c12
0e2c12
%pre -n teleport-tbot
0e2c12
%service_add_pre machine-id.service
0e2c12
0e2c12
%post -n teleport-tbot
0e2c12
%service_add_post machine-id.service
0e2c12
0e2c12
%preun -n teleport-tbot
0e2c12
%service_del_preun machine-id.service
0e2c12
0e2c12
%postun -n teleport-tbot
0e2c12
%service_del_postun machine-id.service
0e2c12
24a40f
%files -n teleport
24a40f
%doc README.md
24a40f
%license LICENSE
24a40f
%{_sbindir}/teleport
24a40f
%{_unitdir}/teleport.service
24a40f
%config(noreplace) %{_sysconfdir}/teleport.yaml
24a40f
24a40f
%files -n teleport-tsh
24a40f
%doc README.md
24a40f
%license LICENSE
24a40f
%{_bindir}/tsh
24a40f
24a40f
%files -n teleport-tctl
24a40f
%doc README.md
24a40f
%license LICENSE
24a40f
%{_bindir}/tctl
24a40f
0e2c12
%files -n teleport-tbot
0e2c12
%doc README.md
0e2c12
%license LICENSE
0e2c12
%{_bindir}/tbot
0e2c12
%{_unitdir}/machine-id.service
0e2c12
%config(noreplace) %{_sysconfdir}/tbot.yaml
0e2c12
24a40f
%changelog