add shell completion subpackages

OBS-URL: https://build.opensuse.org/package/show/devel:kubic/teleport?expand=0&rev=249
This commit is contained in:
Johannes Kastl 2024-11-15 19:44:20 +00:00 committed by Git OBS Bridge
commit ba35ab0fb4
20 changed files with 11681 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

39
_service Normal file
View File

@ -0,0 +1,39 @@
<services>
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/gravitational/teleport</param>
<param name="scm">git</param>
<param name="submodules">disable</param>
<param name="exclude">.git</param>
<param name="revision">v16.4.7</param>
<param name="match-tag">v*</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">disable</param>
</service>
<service name="tar_scm" mode="manual">
<param name="url">https://github.com/gravitational/webassets</param>
<param name="scm">git</param>
<param name="submodules">disable</param>
<param name="exclude">.git</param>
<param name="filename">webassets</param>
<param name="without-version">yes</param>
</service>
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="manual">
<param name="basename">teleport</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="go_modules" mode="manual">
</service>
<service name="cargo_vendor" mode="manual">
<param name="update">true</param>
<param name="srcdir">teleport/tool/fdpass-teleport</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/gravitational/teleport</param>
<param name="changesrevision">f1ce28f6f67aa2e9f14400785f7a43ec247da995</param></service></servicedata>

15
tbot.yaml Normal file
View File

@ -0,0 +1,15 @@
#
# Example tbot.yaml
# please see https://github.com/gravitational/teleport/tree/master/examples/systemd/machine-id
# for details
# auth_server: "auth.example.com:3025"
# onboarding:
# join_method: "token"
# token: "00000000000000000000000000000000"
# ca_pins:
# - "sha256:1111111111111111111111111111111111111111111111111111111111111111"
# storage:
# directory: /var/lib/teleport/bot
# destinations:
# - directory: /opt/machine-id

3
teleport-16.1.0.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f140a7a074cabce5ab56da2b74df4f9712d9528ed5b0aa8b622810eddded6c1
size 255606798

3
teleport-16.1.3.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce83e5f3632d9e9300f46746fa13753488b8039ff8ef53f80c28e3245f4a49ae
size 258359822

3
teleport-16.1.4.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:00f52316a4b8478d61543d74ea98d4124393b6fe86dc032d9edbb04d19eff339
size 258401294

3
teleport-16.3.0.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e3b34d55a0ac7f480c09c6d96d89238ce79bd3bd82b6807ba3beec113a8fe01
size 264692238

3
teleport-16.4.0.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d31ab9a3045b9121527bda25658704b7f41a0e03c84d7ab9313217d7f0364578
size 270617614

3
teleport-16.4.3.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f9003dbd95143e457e013439e5c4b3d0ca95dff2b210fe3e9ba5bf60e2fb93f7
size 280437262

3
teleport-16.4.7.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:611284ef1cfaf5f8184f3585fb94b8022e2f95600fc3b06e7a81e1bf08c55b43
size 279968782

11167
teleport.changes Normal file

File diff suppressed because it is too large Load Diff

4
teleport.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: teleport
version: 16.4.7
mtime: 1731375738
commit: 15dfef10fe2175e458e54e81e94dcae0b5f59757

15
teleport.service Normal file
View File

@ -0,0 +1,15 @@
[Unit]
Description=Teleport SSH Service
After=network.target
[Service]
Type=simple
Restart=on-failure
EnvironmentFile=-/etc/default/teleport
ExecStart=/usr/sbin/teleport start --pid-file=/run/teleport.pid
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/run/teleport.pid
LimitNOFILE=8192
[Install]
WantedBy=multi-user.target

348
teleport.spec Normal file
View File

@ -0,0 +1,348 @@
#
# spec file for package teleport
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: teleport
Version: 16.4.7
Release: 0
Summary: Identity-aware, multi-protocol access proxy
License: AGPL-3.0-only
URL: https://github.com/gravitational/teleport
Source: %{name}-%{version}.tar.gz
# go vendoring
Source1: vendor.tar.gz
Source2: webassets.tar.gz
Source3: teleport.service
Source4: teleport.yaml
Source5: tbot.yaml
# Rust vendoring
Source6: vendor.tar.zst
BuildRequires: bash-completion
BuildRequires: cargo >= 1.69
BuildRequires: cargo-packaging
BuildRequires: git-core
BuildRequires: go1.22 >= 1.22.9
BuildRequires: pam-devel
BuildRequires: systemd-rpm-macros
BuildRequires: zsh
Requires: teleport-tctl
%description
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.
On the server-side, Teleport is a single binary which enables convenient secure
access to behind-NAT resources such as:
* SSH nodes - SSH works in browsers too!
* Kubernetes clusters
* PostgreSQL, MongoDB, CockroachDB and MySQL databases
* Internal Web apps
* Windows Hosts
* Networked servers
%package -n %{name}-bash-completion
Summary: Bash Completion for %{name}
Group: System/Shells
Requires: %{name} = %{version}
Requires: bash-completion
Supplements: (%{name} and bash-completion)
BuildArch: noarch
%description -n %{name}-bash-completion
Bash command line completion support for %{name}.
%package -n %{name}-zsh-completion
Summary: Zsh Completion for %{name}
Group: System/Shells
Requires: %{name} = %{version}
Supplements: (%{name} and zsh)
BuildArch: noarch
%description -n %{name}-zsh-completion
zsh command line completion support for %{name}.
%package -n %{name}-tctl
Summary: CLI tool for managing a teleport server
License: Apache-2.0
%package -n %{name}-tctl-bash-completion
Summary: Bash Completion for %{name}-tctl
Group: System/Shells
Requires: %{name}-tctl = %{version}
Requires: bash-completion
Supplements: (%{name}-tctl and bash-completion)
BuildArch: noarch
%description -n %{name}-tctl-bash-completion
Bash command line completion support for %{name}-tctl.
%package -n %{name}-tctl-zsh-completion
Summary: Zsh Completion for %{name}-tctl
Group: System/Shells
Requires: %{name}-tctl = %{version}
Supplements: (%{name}-tctl and zsh)
BuildArch: noarch
%description -n %{name}-tctl-zsh-completion
zsh command line completion support for %{name}-tctl.
%description -n %{name}-tctl
An administrative tool that can configure Teleport Auth Service.
%package -n %{name}-tsh
Summary: CLI tool for logging into nodes via Teleport SSH
License: Apache-2.0
%description -n %{name}-tsh
A tool that lets end users interact with Teleport nodes. This replaces ssh.
%package -n %{name}-tsh-bash-completion
Summary: Bash Completion for %{name}-tsh
Group: System/Shells
Requires: %{name}-tsh = %{version}
Requires: bash-completion
Supplements: (%{name}-tsh and bash-completion)
BuildArch: noarch
%description -n %{name}-tsh-bash-completion
Bash command line completion support for %{name}-tsh.
%package -n %{name}-tsh-zsh-completion
Summary: Zsh Completion for %{name}-tsh
Group: System/Shells
Requires: %{name}-tsh = %{version}
Supplements: (%{name}-tsh and zsh)
BuildArch: noarch
%description -n %{name}-tsh-zsh-completion
zsh command line completion support for %{name}-tsh.
%package -n teleport-tbot
Summary: CLI tool for Machine ID
License: Apache-2.0
%description -n teleport-tbot
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.
tbot is the executable belonging to the Machine ID service.
%package -n %{name}-tbot-bash-completion
Summary: Bash Completion for %{name}-tbot
Group: System/Shells
Requires: %{name}-tbot = %{version}
Requires: bash-completion
Supplements: (%{name}-tbot and bash-completion)
BuildArch: noarch
%description -n %{name}-tbot-bash-completion
Bash command line completion support for %{name}-tbot.
%package -n %{name}-tbot-zsh-completion
Summary: Zsh Completion for %{name}-tbot
Group: System/Shells
Requires: %{name}-tbot = %{version}
Supplements: (%{name}-tbot and zsh)
BuildArch: noarch
%description -n %{name}-tbot-zsh-completion
zsh command line completion support for %{name}-tbot.
%package -n teleport-fdpass-teleport
Summary: Significantly reduce resource consumption by large numbers of SSH connections
License: Apache-2.0
%description -n teleport-fdpass-teleport
fdpass-teleport can be optionally used by Machine ID to significantly reduce
resource consumption in use-cases that create large numbers of SSH connections
(e.g. Ansible).
%prep
%setup -q
%setup -q -T -D -a 1
%setup -q -T -D -a 2
tar xvf %{SOURCE6} -C tool/fdpass-teleport
%build
mkdir -p lib/web/build/webassets
cp -r webassets/teleport/* lib/web/build/webassets
go build \
-tags "pam webassets_embed" \
-mod=vendor \
-buildmode=pie \
-ldflags="-w -s -X main.VERSION=%{version}" \
-o teleport ./tool/teleport
go build \
-tags "pam" \
-mod=vendor \
-buildmode=pie \
-ldflags="-w -s -X main.VERSION=%{version}" \
-o tsh ./tool/tsh
go build \
-tags "pam" \
-mod=vendor \
-buildmode=pie \
-ldflags="-w -s -X main.VERSION=%{version}" \
-o tbot ./tool/tbot
go build \
-tags "pam" \
-mod=vendor \
-buildmode=pie \
-ldflags="-w -s -X main.VERSION=%{version}" \
-o tctl ./tool/tctl
cd tool/fdpass-teleport
%{cargo_build}
%install
# Install the binary.
install -D -m 0755 tsh "%{buildroot}/%{_bindir}/tsh"
install -D -m 0755 tctl "%{buildroot}/%{_bindir}/tctl"
install -D -m 0755 tbot "%{buildroot}/%{_bindir}/tbot"
install -D -m 0755 tool/fdpass-teleport/target/release/fdpass-teleport "%{buildroot}/%{_bindir}/fdpass-teleport"
install -D -m 0755 teleport "%{buildroot}/%{_sbindir}/teleport"
install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/teleport.service
install -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/teleport.yaml
install -D -m 644 examples/systemd/machine-id/machine-id.service %{buildroot}%{_unitdir}/
install -D -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/tbot.yaml
# teleport completions
# create the bash completion file
mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/
%{buildroot}/%{_sbindir}/teleport --completion-script-bash > %{buildroot}%{_datarootdir}/bash-completion/completions/teleport
# create the zsh completion file
mkdir -p %{buildroot}%{_datarootdir}/zsh/site-functions/
%{buildroot}/%{_sbindir}/teleport --completion-script-zsh > %{buildroot}%{_datarootdir}/zsh/site-functions/_teleport
# tctl completions
# create the bash completion file
mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/
%{buildroot}/%{_bindir}/tctl --completion-script-bash > %{buildroot}%{_datarootdir}/bash-completion/completions/tctl
# create the zsh completion file
mkdir -p %{buildroot}%{_datarootdir}/zsh/site-functions/
%{buildroot}/%{_bindir}/tctl --completion-script-zsh > %{buildroot}%{_datarootdir}/zsh/site-functions/_tctl
# tsh completions
# create the bash completion file
mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/
%{buildroot}/%{_bindir}/tsh --completion-script-bash > %{buildroot}%{_datarootdir}/bash-completion/completions/tsh
# create the zsh completion file
mkdir -p %{buildroot}%{_datarootdir}/zsh/site-functions/
%{buildroot}/%{_bindir}/tsh --completion-script-zsh > %{buildroot}%{_datarootdir}/zsh/site-functions/_tsh
# tbot completions
# create the bash completion file
mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/
%{buildroot}/%{_bindir}/tbot --completion-script-bash > %{buildroot}%{_datarootdir}/bash-completion/completions/tbot
# create the zsh completion file
mkdir -p %{buildroot}%{_datarootdir}/zsh/site-functions/
%{buildroot}/%{_bindir}/tbot --completion-script-zsh > %{buildroot}%{_datarootdir}/zsh/site-functions/_tbot
# teleport service
%pre -n teleport
%service_add_pre teleport.service
%post -n teleport
%service_add_post teleport.service
%preun -n teleport
%service_del_preun teleport.service
%postun -n teleport
%service_del_postun teleport.service
# machine-id service
%pre -n teleport-tbot
%service_add_pre machine-id.service
%post -n teleport-tbot
%service_add_post machine-id.service
%preun -n teleport-tbot
%service_del_preun machine-id.service
%postun -n teleport-tbot
%service_del_postun machine-id.service
%files -n teleport
%doc README.md
%license LICENSE
%{_sbindir}/teleport
%{_unitdir}/teleport.service
%config(noreplace) %{_sysconfdir}/teleport.yaml
%files -n %{name}-bash-completion
%{_datarootdir}/bash-completion/completions/teleport
%files -n %{name}-zsh-completion
%{_datarootdir}/zsh/site-functions/_teleport
%files -n teleport-tsh
%doc README.md
%license LICENSE
%{_bindir}/tsh
%files -n %{name}-tsh-bash-completion
%{_datarootdir}/bash-completion/completions/tsh
%files -n %{name}-tsh-zsh-completion
%{_datarootdir}/zsh/site-functions/_tsh
%files -n teleport-tctl
%doc README.md
%license LICENSE
%{_bindir}/tctl
%files -n %{name}-tctl-bash-completion
%{_datarootdir}/bash-completion/completions/tctl
%files -n %{name}-tctl-zsh-completion
%{_datarootdir}/zsh/site-functions/_tctl
%files -n teleport-tbot
%doc README.md
%license LICENSE
%{_bindir}/tbot
%{_unitdir}/machine-id.service
%config(noreplace) %{_sysconfdir}/tbot.yaml
%files -n %{name}-tbot-bash-completion
%{_datarootdir}/bash-completion/completions/tbot
%files -n %{name}-tbot-zsh-completion
%{_datarootdir}/zsh/site-functions/_tbot
%files -n teleport-fdpass-teleport
%doc README.md
%license LICENSE
%{_bindir}/fdpass-teleport
%changelog

35
teleport.yaml Normal file
View File

@ -0,0 +1,35 @@
# Please check the documentation at
# https://goteleport.com/docs/setup/reference/config/
# Sample Teleport configuration file.
# Creates a single proxy, auth and node server.
#
# Things to update:
# 1. license.pem: You only need a license from https://dashboard.goteleport.com
# if you are an Enterprise customer.
#
teleport:
nodename: your-hostname-goes-here
data_dir: /var/lib/teleport
log:
output: stderr
severity: INFO
format:
output: text
ca_pin: ""
auth_service:
enabled: "yes"
listen_addr: 0.0.0.0:3025
ssh_service:
enabled: "yes"
labels:
env: example
commands:
- name: hostname
command: [hostname]
period: 1m0s
proxy_service:
enabled: "yes"
listen_addr: 0.0.0.0:3023
https_keypairs: []
acme: {}

3
vendor.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c77a1db3984a74b6c2a7f4c7e6fa3f9f475e1ad49bc8d1123d2d149e5e63939d
size 46781164

3
vendor.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:76257b2718534c1704e89d1f423d6c384c810517a913abbc26d3a98fbcec5c5b
size 728970

3
webassets.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82995946fa24dec4df96b0ca17a295f420d78a442272a59251de2af1dae4633f
size 4314856