mirror of
https://abf.rosa.ru/djam/kubernetes.git
synced 2025-02-23 13:42:55 +00:00
140 lines
3.7 KiB
RPMSpec
140 lines
3.7 KiB
RPMSpec
%define debug %nil
|
|
%define debug_package %nil
|
|
|
|
Name: kubernetes
|
|
Version: 1.13.11
|
|
Release: 1
|
|
Summary: Production-Grade Container Scheduling and Management
|
|
License: ASL 2.0
|
|
URL: https://kubernetes.io
|
|
Source0: %{name}-%{version}.tar.gz
|
|
Source1000: %{name}.rpmlintrc
|
|
Group: Development/Other
|
|
BuildRequires: golang >= 1.12.1
|
|
BuildRequires: git
|
|
BuildRequires: upx
|
|
|
|
%description
|
|
Kubernetes is an open source system for managing containerized
|
|
applications across multiple hosts; providing basic mechanisms
|
|
for deployment, maintenance, and scaling of applications.
|
|
|
|
%package -n kubectl
|
|
Summary: Container Cluster Manager - Kubernetes client tools
|
|
|
|
%description -n kubectl
|
|
Command-line utility for interacting with a Kubernetes cluster
|
|
|
|
%files -n kubectl
|
|
%{_bindir}/kubectl
|
|
|
|
%package -n kubeadm
|
|
Summary: Container Cluster Manager - Kubernetes Cluster Bootstrapping Tool
|
|
Requires: kubelet >= 1.8.0
|
|
Requires: kubectl >= 1.8.0
|
|
Requires: cni-plugins >= 0.7.5
|
|
Requires: cri-tools >= 1.11.0
|
|
|
|
%description -n kubeadm
|
|
Command-line utility for deploying a Kubernetes cluster
|
|
|
|
%files -n kubeadm
|
|
%{_bindir}/kubeadm
|
|
%{_sysconfdir}/systemd/kubelet.service.d/10-kubeadm.conf
|
|
%{_sysconfdir}/sysconfig/kubelet
|
|
%dir %{_libexecdir}/modules-load.d
|
|
%{_libexecdir}/modules-load.d/kubeadm.conf
|
|
%{_prefix}/lib/sysctl.d/50-kubeadm.conf
|
|
|
|
%package -n kubelet
|
|
Summary: Container Cluster Manager - Kubernetes Node Agent
|
|
Requires: conntrack
|
|
Requires: ebtables
|
|
Requires: ethtool
|
|
Requires: iproute
|
|
Requires: iptables >= 1.4.21
|
|
Requires: cni-plugins >= 0.7.5
|
|
Requires: socat
|
|
Requires: util-linux
|
|
Requires: systemd
|
|
|
|
%description -n kubelet
|
|
The node agent of Kubernetes, the container cluster manager
|
|
|
|
%files -n kubelet
|
|
%{_bindir}/kubelet
|
|
%attr(644,-,-) %{_unitdir}/kubelet.service
|
|
%{_sysconfdir}/kubernetes/manifests/
|
|
|
|
%package client
|
|
Summary: Kubernetes client tools
|
|
BuildRequires: golang >= 1.12.0
|
|
Requires: kubectl == %{version}
|
|
|
|
%description client
|
|
Kubernetes client tools like kubectl
|
|
|
|
%files client
|
|
%doc *.md LICENSE
|
|
%{_bindir}/hyperkube
|
|
|
|
%package docs
|
|
Summary: Kubernetes documentations
|
|
|
|
%description docs
|
|
Kubernetes documentations
|
|
|
|
%files docs
|
|
%doc docs/admin/*.md docs/user-guide/kubectl/*.md docs/yaml/kubectl/*.yaml docs/api-reference LICENSE
|
|
%{_mandir}/man1/*
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
%define GOPATH $RPM_BUILD_DIR/go
|
|
GOPATH=%{GOPATH} make
|
|
|
|
hack/generate-docs.sh
|
|
|
|
upx _output/bin/kubeadm
|
|
upx _output/bin/kubelet
|
|
upx _output/bin/kubectl
|
|
upx _output/bin/hyperkube
|
|
|
|
%install
|
|
install -dm0755 %{buildroot}%{_bindir}
|
|
install -dm0755 %{buildroot}%{_sysconfdir}/systemd/kubelet.service.d
|
|
install -dm0755 %{buildroot}%{_sysconfdir}/sysconfig
|
|
install -dm0755 %{buildroot}%{_sysconfdir}/kubernetes/manifests
|
|
install -dm0755 %{buildroot}%{_libexecdir}/modules-load.d
|
|
install -dm0755 %{buildroot}/usr/lib/sysctl.d
|
|
install -dm0755 %{buildroot}%{_mandir}/man1
|
|
install -dm0755 %{buildroot}%{_unitdir}
|
|
|
|
# kubeadm
|
|
install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubeadm
|
|
install -p -m 0644 -t %{buildroot}%{_sysconfdir}/systemd/kubelet.service.d/ build/rpms/10-kubeadm.conf
|
|
|
|
install -p -m 0644 -T build/rpms/kubelet.env %{buildroot}%{_sysconfdir}/sysconfig/kubelet
|
|
install -p -m 0644 -t %{buildroot}%{_libexecdir}/modules-load.d/ build/rpms/kubeadm.conf
|
|
install -p -m 0644 -t %{buildroot}/usr/lib/sysctl.d/ build/rpms/50-kubeadm.conf
|
|
|
|
# kubelet
|
|
install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubelet
|
|
install -p -m 0644 build/rpms/kubelet.service %{buildroot}%{_unitdir}
|
|
|
|
# kubectl
|
|
install -p -m 0755 -t %{buildroot}%{_bindir} _output/bin/kubectl
|
|
|
|
# docs
|
|
install -p -m 0644 docs/man/man1/* %{buildroot}%{_mandir}/man1/
|
|
|
|
# client
|
|
install -p -m 0755 _output/bin/hyperkube %{buildroot}%{_bindir}
|
|
|
|
# fix perm docs
|
|
find docs/ -type f -exec chmod 0644 {} \;
|
|
|
|
%files
|
|
%doc README.md LICENSE CHANGELOG-*.md
|