Compare commits

..

No commits in common. "c8-beta" and "c9-beta" have entirely different histories.

4 changed files with 123 additions and 72 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/1.1.0.tar.gz SOURCES/1.12.2.tar.gz
SOURCES/netavark-v1.1.0-vendor.tar.gz SOURCES/netavark-v1.12.2-vendor.tar.gz

View File

@ -1,2 +1,2 @@
5f22fd74fc25d71335f8ca5cd5aa74c383d30576 SOURCES/1.1.0.tar.gz 022b27681576f7a3eee9ecc018acc5e23bc9434b SOURCES/1.12.2.tar.gz
63dcfdcb2b5917a213f89469aa4e643f92230410 SOURCES/netavark-v1.1.0-vendor.tar.gz 47405a1b6a10461803d4bf40c3330538981ebc58 SOURCES/netavark-v1.12.2-vendor.tar.gz

View File

@ -1,51 +0,0 @@
.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]

View File

@ -3,21 +3,29 @@
Epoch: 2 Epoch: 2
Name: netavark Name: netavark
Version: 1.1.0 Version: 1.12.2
Release: 6%{?dist} Release: 1%{?dist}
License: ASL 2.0 and BSD and MIT License: ASL 2.0 and BSD and MIT
ExclusiveArch: %{rust_arches} ExclusiveArch: %{rust_arches}
# this is needed for go-md2man
# https://fedoraproject.org/wiki/PackagingDrafts/Go#Go_Language_Architectures
ExclusiveArch: %{go_arches}
ExcludeArch: i686
Summary: OCI network stack Summary: OCI network stack
URL: https://github.com/containers/%{name} URL: https://github.com/containers/%{name}
Source0: %{url}/archive/v%{version}/%{version}.tar.gz Source0: %{url}/archive/v%{version}/%{version}.tar.gz
Source1: %{url}/releases/download/v%{version}/%{name}-v%{version}-vendor.tar.gz Source1: %{url}/releases/download/v%{version}/%{name}-v%{version}-vendor.tar.gz
Source2: netavark.1
BuildRequires: cargo BuildRequires: cargo
BuildRequires: /usr/bin/go-md2man
Recommends: aardvark-dns >= 1.0.3 Recommends: aardvark-dns >= 1.0.3
Provides: container-network-stack = 2 Provides: container-network-stack = 2
BuildRequires: make BuildRequires: make
BuildRequires: rust-srpm-macros BuildRequires: rust-srpm-macros
BuildRequires: systemd-rpm-macros
BuildRequires: git-core BuildRequires: git-core
BuildRequires: protobuf-compiler
BuildRequires: protobuf-c
BuildRequires: gcc
%description %description
%{summary} %{summary}
@ -45,9 +53,21 @@ tar fx %{SOURCE1}
mkdir -p .cargo mkdir -p .cargo
cat >.cargo/config << EOF 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] [source.crates-io]
replace-with = "vendored-sources" 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] [source.vendored-sources]
directory = "vendor" directory = "vendor"
EOF EOF
@ -56,7 +76,7 @@ EOF
%{__make} build %{__make} build
cd docs cd docs
cp %{SOURCE2} . go-md2man -in %{name}.1.md -out %{name}.1
%install %install
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install %{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install
@ -65,28 +85,110 @@ cp %{SOURCE2} .
%license LICENSE %license LICENSE
%dir %{_libexecdir}/podman %dir %{_libexecdir}/podman
%{_libexecdir}/podman/%{name} %{_libexecdir}/podman/%{name}
%{_unitdir}/*
%{_mandir}/man1/%{name}.1* %{_mandir}/man1/%{name}.1*
%changelog %changelog
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-6 * Tue Aug 20 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.12.2-1
- bump Epoch to preserve upgrade path - update to https://github.com/containers/netavark/releases/tag/v1.12.2
- Related: #2061390 - Related: RHEL-27608
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-5 * Mon Aug 05 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.12.1-1
- remove dependency on md2man - update to https://github.com/containers/netavark/releases/tag/v1.12.1
- Related: #2061390 - Related: RHEL-27608
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-4 * Mon Jun 03 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.11.0-1
- fix arches - update to https://github.com/containers/netavark/releases/tag/v1.11.0
- Related: #2061390 - Related: RHEL-27608
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-3 * Mon Feb 12 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.10.3-1
- update to https://github.com/containers/netavark/releases/tag/v1.10.3
- Related: RHEL-2112
* Thu Feb 01 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.10.2-1
- update to https://github.com/containers/netavark/releases/tag/v1.10.2
- Related: RHEL-2112
* Thu Jan 25 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.10.1-1
- update to https://github.com/containers/netavark/releases/tag/v1.10.1
- Related: RHEL-2112
* Thu Jan 25 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.10.0-2
- Fix build of 1.10.0 - thanks to Lokesh Mandvekar
- Related: Jira:RHEL-2112
* Wed Jan 24 2024 Jindrich Novy <jnovy@redhat.com> - 2:1.10.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.10.0
- Related: RHEL-2112
* Tue Dec 05 2023 Lokesh Mandvekar <lsm5@redhat.com> - 2:1.9.0-1
- require systemd srpm macros
- Related: Jira:RHEL-16291
* Fri Oct 06 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.8.0-3
- require systemd srpm macros
- Related: Jira:RHEL-2112
* Mon Oct 02 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.8.0-2
- fix directory for systemd units
- Related: Jira:RHEL-2112
* Fri Sep 29 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.8.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.8.0
- Related: Jira:RHEL-2112
* Mon Jul 03 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.7.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.7.0
- Related: #2176063
* Mon Jun 12 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.6.0-2
- rebuild
- Resolves: #2188340
* Wed Apr 12 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.6.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.6.0
- Related: #2176063
* Fri Feb 03 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.5.0-2
- fix build - thank to Paul Holzinger
- Related: #2124478
* Fri Feb 03 2023 Jindrich Novy <jnovy@redhat.com> - 2:1.5.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.5.0
- Related: #2124478
* Thu Dec 08 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.4.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.4.0
- Related: #2124478
* Wed Nov 16 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.3.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.3.0
- Related: #2124478
* Tue Oct 18 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.2.0-1
- update to https://github.com/containers/netavark/releases/tag/v1.2.0
- Related: #2124478
* Fri Aug 05 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-6
- add gating.yaml - add gating.yaml
- Related: #2061390 - Related: #2061316
* Fri Aug 05 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-5
- properly disable i686
- Related: #2061316
* Thu Aug 04 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-4
- manually exclude i686 as build still fails
- Related: #2061316
* Thu Aug 04 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-3
- set Epoch to preserve update path and build for go arches only
- Related: #2061316
* Thu Aug 04 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-2 * Thu Aug 04 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-2
- require /usr/bin/go-md2man directly - fix deps to go-md2man
- Related: #2061316
* Wed Aug 03 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-1 * Wed Aug 03 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-1
- initial import - initial import
- Related: #2061390 - Related: #2061316