From b1c536357354cd5f85c1defb294b460c2b6c594d Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Wed, 3 Apr 2024 15:32:48 +0300 Subject: [PATCH] import netavark-1.10.3-1.module+el8.10.0+21306+6be40ce7 --- .gitignore | 2 + .netavark.metadata | 2 + SOURCES/netavark.1 | 51 +++++++++++++ SPECS/netavark.spec | 179 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 234 insertions(+) create mode 100644 .gitignore create mode 100644 .netavark.metadata create mode 100644 SOURCES/netavark.1 create mode 100644 SPECS/netavark.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cf8bf1d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/1.10.3.tar.gz +SOURCES/netavark-v1.10.3-vendor.tar.gz diff --git a/.netavark.metadata b/.netavark.metadata new file mode 100644 index 0000000..4115302 --- /dev/null +++ b/.netavark.metadata @@ -0,0 +1,2 @@ +0a8321154fd778a53384f47d184f971addcb1c94 SOURCES/1.10.3.tar.gz +3dd79aa693538e80cb386e6db250f3a04be65f25 SOURCES/netavark-v1.10.3-vendor.tar.gz diff --git a/SOURCES/netavark.1 b/SOURCES/netavark.1 new file mode 100644 index 0000000..0c505ea --- /dev/null +++ b/SOURCES/netavark.1 @@ -0,0 +1,51 @@ +.nh +.TH netavark(1) +.SH NAME +.PP +netavark - Configure a given network namespace for use by a container + +.SH SYNOPSIS +.PP +\fBnetavark\fP [\fIoptions\fP] \fIcommand\fP \fInetwork namespace path\fP + +.SH DESCRIPTION +.PP +Netavark configures a network namespace according to a configuration read from STDIN. The configuration is JSON formatted. + +.SH GLOBAL OPTIONS +.SS \fB--file\fP, \fB-f\fP +.PP +Instead of reading from STDIN, read the configuration to be applied from the given file. \fB-f -\fP may also be used to flag reading from STDIN. + +.SH COMMANDS +.SS netavark setup +.PP +The setup command configures the given network namespace with the given configuration, creating any interfaces and firewall rules necessary. + +.SS netavark teardown +.PP +The teardown command is the inverse of the setup command, undoing any configuration applied. Some interfaces may not be deleted (bridge interfaces, for example, will not be removed). + +.SS CONFIGURATION FORMAT +.PP +The configuration accepted is the same for both setup and teardown. It is JSON formatted. + +.PP +Format is https://github.com/containers/podman/blob/cd7b48198c38c5028540e85dc72dd3406f4318f0/libpod/network/types/network.go#L164-L173 but we will also send a Networks array including all the network definitions (https://github.com/containers/podman/blob/cd7b48198c38c5028540e85dc72dd3406f4318f0/libpod/network/types/network.go#L32-L62) +TODO: Transcribe configuration into here in a nice tabular format + +.SH EXAMPLE +.PP +netavark setup /run/user/1000/podman/netns/d11d1f9c499d + +.PP +netavark -f /run/podman/828b0508ae64.conf teardown /run/podman/netns/828b0508ae64 + +.SH SEE ALSO +.PP +podman(1) + +.SH HISTORY +.PP +September 2021, Originally compiled by Matt Heon mheon@redhat.com +\[la]mailto:mheon@redhat.com\[ra] diff --git a/SPECS/netavark.spec b/SPECS/netavark.spec new file mode 100644 index 0000000..025818b --- /dev/null +++ b/SPECS/netavark.spec @@ -0,0 +1,179 @@ +# debuginfo doesn't work yet +%global debug_package %{nil} + +Epoch: 2 +Name: netavark +Version: 1.10.3 +Release: 1%{?dist} +License: ASL 2.0 and BSD and MIT +ExclusiveArch: %{rust_arches} +Summary: OCI network stack +URL: https://github.com/containers/%{name} +Source0: %{url}/archive/v%{version}/%{version}.tar.gz +Source1: %{url}/releases/download/v%{version}/%{name}-v%{version}-vendor.tar.gz +Source2: netavark.1 +BuildRequires: cargo +Recommends: aardvark-dns >= 1.0.3 +Provides: container-network-stack = 2 +BuildRequires: make +BuildRequires: rust-srpm-macros +BuildRequires: systemd-rpm-macros +BuildRequires: git-core +BuildRequires: protobuf-compiler +BuildRequires: protobuf-c +BuildRequires: gcc +# https://github.com/containers/netavark/issues/578 +ExcludeArch: i686 + +%description +%{summary} + +Netavark is a rust based network stack for containers. It is being +designed to work with Podman but is also applicable for other OCI +container management applications. + +Netavark is a tool for configuring networking for Linux containers. +Its features include: +* Configuration of container networks via JSON configuration file +* Creation and management of required network interfaces, + including MACVLAN networks +* All required firewall configuration to perform NAT and port + forwarding as required for containers +* Support for iptables and firewalld at present, with support + for nftables planned in a future release +* Support for rootless containers +* Support for IPv4 and IPv6 +* Support for container DNS resolution via aardvark-dns. + +%prep +%autosetup -Sgit +tar fx %{SOURCE1} +mkdir -p .cargo + +cat >.cargo/config << EOF +[source."git+https://github.com/namib-project/nftables-rs.git?rev=1b0c60b"] +git = "https://github.com/namib-project/nftables-rs.git" +rev = "1b0c60b" +replace-with = "vendored-sources" + +[source.crates-io] +replace-with = "vendored-sources" + +[net] +offline = true + +[source."https://github.com/containers/netavark-dhcp-proxy"] +git = "https://github.com/containers/netavark-dhcp-proxy" +replace-with = "vendored-sources" + +[source.vendored-sources] +directory = "vendor" +EOF + +%build +%{__make} build + +cd docs +cp %{SOURCE2} . + +%install +%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install + +%files +%license LICENSE +%dir %{_libexecdir}/podman +%{_libexecdir}/podman/%{name} +%{_unitdir}/* +%{_mandir}/man1/%{name}.1* + +%changelog +* Mon Feb 12 2024 Jindrich Novy - 2:1.10.3-1 +- update to https://github.com/containers/netavark/releases/tag/v1.10.3 +- Related: Jira:RHEL-2110 + +* Thu Feb 01 2024 Jindrich Novy - 2:1.10.2-1 +- update to https://github.com/containers/netavark/releases/tag/v1.10.2 +- Related: Jira:RHEL-2110 + +* Fri Jan 26 2024 Jindrich Novy - 2:1.10.1-1 +- update to https://github.com/containers/netavark/releases/tag/v1.10.1 +- Related: Jira:RHEL-2110 + +* Thu Jan 25 2024 Jindrich Novy - 2:1.10.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.10.0 +- Related: Jira:RHEL-2110 + +* Thu Dec 07 2023 Lokesh Mandvekar - 2:1.9.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.9.0 +- Related: Jira:RHEL-2110 + +* Fri Oct 06 2023 Jindrich Novy - 2:1.8.0-2 +- fix directory for systemd units +- Related: Jira:RHEL-2110 + +* Fri Sep 29 2023 Jindrich Novy - 2:1.8.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.8.0 +- Related: Jira:RHEL-2110 + +* Mon Jul 03 2023 Jindrich Novy - 2:1.7.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.7.0 +- Related: #2176055 + +* Mon May 22 2023 Jindrich Novy - 2:1.6.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.6.0 +- Related: #2176055 + +* Thu Apr 20 2023 Jindrich Novy - 2:1.5.0-5 +- fix --dns-add command is not functioning +- Resolves: #2182897 + +* Fri Feb 03 2023 Jindrich Novy - 2:1.5.0-4 +- exclude i686 +- Related: #2123641 + +* Fri Feb 03 2023 Jindrich Novy - 2:1.5.0-3 +- update build parameters +- Related: #2123641 + +* Fri Feb 03 2023 Jindrich Novy - 2:1.5.0-2 +- always stay offline during build +- Related: #2123641 + +* Fri Feb 03 2023 Jindrich Novy - 2:1.5.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.5.0 +- Related: #2123641 + +* Thu Dec 08 2022 Jindrich Novy - 2:1.4.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.4.0 +- Related: #2123641 + +* Mon Nov 14 2022 Jindrich Novy - 2:1.3.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.3.0 +- Related: #2123641 + +* Wed Sep 28 2022 Jindrich Novy - 2:1.2.0-1 +- update to https://github.com/containers/netavark/releases/tag/v1.2.0 +- Resolves: #2116481 + +* Tue Aug 09 2022 Jindrich Novy - 2:1.1.0-6 +- bump Epoch to preserve upgrade path +- Related: #2061390 + +* Tue Aug 09 2022 Jindrich Novy - 1.1.0-5 +- remove dependency on md2man +- Related: #2061390 + +* Tue Aug 09 2022 Jindrich Novy - 1.1.0-4 +- fix arches +- Related: #2061390 + +* Tue Aug 09 2022 Jindrich Novy - 1.1.0-3 +- add gating.yaml +- Related: #2061390 + +* Thu Aug 04 2022 Jindrich Novy - 1.1.0-2 +- require /usr/bin/go-md2man directly + +* Wed Aug 03 2022 Jindrich Novy - 1.1.0-1 +- initial import +- Related: #2061390