File kubelet.spec of Package kubelet

%global debug_package %{nil}

Name: kubelet
Version: 1.32.9
Release: 0
Summary: Node agent for Kubernetes clusters

%if "%{_vendor}" == "debbuild"
Group: net
%endif

Packager: Kubernetes Authors <dev@kubernetes.io>
License: Apache-2.0
URL: https://kubernetes.io
Source0: %{name}_%{version}.orig.tar.gz
Source1: %{name}.rpmlintrc

BuildRequires: systemd
Requires: iptables >= 1.4.21

Requires: kubernetes-cni >= 1.2.0

%if "%{_vendor}" == "debbuild"
Requires: iproute2
Requires: mount
Requires: conntrack
%else
Requires: iproute
Requires: conntrack-tools
%endif
Requires: util-linux
Requires: ethtool

%if "%{_vendor}" == "debbuild"
BuildRequires: systemd-deb-macros
%else
BuildRequires: systemd-rpm-macros
%endif

%description
%{summary}.

%prep
%setup -q -c

%build
# Nothing to build

%install
# Detect host arch
KUBE_ARCH="$(uname -m)"

# Install files
mkdir -p %{buildroot}%{_unitdir}/
mkdir -p %{buildroot}%{_bindir}/
mkdir -p %{buildroot}%{_sharedstatedir}/kubelet/
mkdir -p %{buildroot}%{_sysconfdir}/kubernetes/manifests/

install -p -m 755 ${KUBE_ARCH}/kubelet %{buildroot}%{_bindir}/kubelet
install -p -m 644 kubelet.service %{buildroot}%{_unitdir}/kubelet.service

# Required because dpkg-deb doesn't keep empty directories
%if "%{_vendor}" == "debbuild"
touch %{buildroot}%{_sharedstatedir}/kubelet/.kubelet-keep
touch %{buildroot}%{_sysconfdir}/kubernetes/manifests/.kubelet-keep
%endif

%if "%{_vendor}" == "debbuild"
mkdir -p %{buildroot}%{_sysconfdir}/default/
install -p -m 644 -T kubelet.env %{buildroot}%{_sysconfdir}/default/kubelet
%else
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/
install -p -m 644 -T kubelet.env %{buildroot}%{_sysconfdir}/sysconfig/kubelet
%endif

%files
%{_bindir}/kubelet
%{_unitdir}/kubelet.service
%dir %{_sharedstatedir}/kubelet
%dir %{_sysconfdir}/kubernetes
%dir %{_sysconfdir}/kubernetes/manifests
%if "%{_vendor}" == "debbuild"
%{_sharedstatedir}/kubelet/.kubelet-keep
%{_sysconfdir}/kubernetes/manifests/.kubelet-keep
%config(noreplace) %{_sysconfdir}/default/kubelet
%else
%config(noreplace) %{_sysconfdir}/sysconfig/kubelet
%endif
%license LICENSE
%doc README.md

%preun
%systemd_preun kubelet.service

%post
%systemd_post kubelet.service

%postun
%systemd_postun kubelet.service

%changelog
openSUSE Build Service is sponsored by