https://github.com/vmware/cloud-network-setup
cloud-network configures network in cloud environment.
Change-Id: I72fbf50c102232c45d62ebe3fb6ee3b45c4528bb
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/13823
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Susant Sahani <ssahani@vmware.com>
| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,99 @@ |
| 0 |
+%ifarch aarch64 |
|
| 1 |
+%global gohostarch arm64 |
|
| 2 |
+%else |
|
| 3 |
+%global gohostarch amd64 |
|
| 4 |
+%endif |
|
| 5 |
+ |
|
| 6 |
+Summary: Configures network interfaces in cloud enviroment |
|
| 7 |
+Name: cloud-network-setup |
|
| 8 |
+Version: 0.1 |
|
| 9 |
+Release: 1%{?dist}
|
|
| 10 |
+License: Apache-2.0 |
|
| 11 |
+URL: https://github.com/vmware/%{name}/archive/refs/tags/v%{version}.tar.gz
|
|
| 12 |
+Source0: cloud-network-setup-%{version}.tar.gz
|
|
| 13 |
+%define sha1 %{name}=e7c39df9c0b389c0c1b2a53516ce3ec738018008
|
|
| 14 |
+Group: Networking |
|
| 15 |
+Vendor: VMware, Inc. |
|
| 16 |
+Distribution: Photon |
|
| 17 |
+ |
|
| 18 |
+BuildRequires: go |
|
| 19 |
+BuildRequires: systemd-rpm-macros |
|
| 20 |
+ |
|
| 21 |
+Requires: systemd |
|
| 22 |
+ |
|
| 23 |
+%global debug_package %{nil}
|
|
| 24 |
+ |
|
| 25 |
+%description |
|
| 26 |
+cloud-network configures network in cloud environment. In cloud environment |
|
| 27 |
+instances are set public IPs and private IPs. If more than one private IP is |
|
| 28 |
+configured then except the IP which is provided by DHCP others can't be fetched |
|
| 29 |
+and configured. This project is adopting towards cloud network environment such |
|
| 30 |
+as Azure, GCP and Amazon EC2. |
|
| 31 |
+%prep -p exit |
|
| 32 |
+%autosetup -p1 -n %{name}-%{version}
|
|
| 33 |
+ |
|
| 34 |
+%build |
|
| 35 |
+export ARCH=%{gohostarch}
|
|
| 36 |
+export VERSION=%{version}
|
|
| 37 |
+export PKG=github.com/%{name}/%{name}
|
|
| 38 |
+export GOARCH=${ARCH}
|
|
| 39 |
+export GOHOSTARCH=${ARCH}
|
|
| 40 |
+export GOOS=linux |
|
| 41 |
+export GOHOSTOS=linux |
|
| 42 |
+export GOROOT=/usr/lib/golang |
|
| 43 |
+export GOPATH=/usr/share/gocode |
|
| 44 |
+export GOBIN=/usr/share/gocode/bin |
|
| 45 |
+export PATH=$PATH:$GOBIN |
|
| 46 |
+ |
|
| 47 |
+mkdir -p ${GOPATH}/src/${PKG}
|
|
| 48 |
+cp -rf . ${GOPATH}/src/${PKG}
|
|
| 49 |
+pushd ${GOPATH}/src/${PKG}
|
|
| 50 |
+ |
|
| 51 |
+go build -o bin/cloud-network ./cmd/cloud-network |
|
| 52 |
+go build -o bin/cnctl ./cmd/cnctl |
|
| 53 |
+ |
|
| 54 |
+popd |
|
| 55 |
+ |
|
| 56 |
+%install |
|
| 57 |
+install -m 755 -d %{buildroot}%{_bindir}
|
|
| 58 |
+install -m 755 -d %{buildroot}%{_sysconfdir}/cloud-network
|
|
| 59 |
+install -m 755 -d %{buildroot}%{_unitdir}
|
|
| 60 |
+ |
|
| 61 |
+install -pm 755 -t %{buildroot}%{_bindir} ${GOPATH}/src/github.com/%{name}/%{name}/bin/cloud-network
|
|
| 62 |
+install -pm 755 -t %{buildroot}%{_bindir} ${GOPATH}/src/github.com/%{name}/%{name}/bin/cnctl
|
|
| 63 |
+ |
|
| 64 |
+install -pm 755 -t %{buildroot}%{_sysconfdir}/cloud-network ${GOPATH}/src/github.com/%{name}/%{name}/distribution/cloud-network.toml
|
|
| 65 |
+install -pm 755 -t %{buildroot}%{_unitdir}/ ${GOPATH}/src/github.com/%{name}/%{name}/distribution/cloud-network.service
|
|
| 66 |
+ |
|
| 67 |
+%clean |
|
| 68 |
+rm -rf %{buildroot}/*
|
|
| 69 |
+ |
|
| 70 |
+%files |
|
| 71 |
+%defattr(-,root,root) |
|
| 72 |
+%{_bindir}/cloud-network
|
|
| 73 |
+%{_bindir}/cnctl
|
|
| 74 |
+ |
|
| 75 |
+%{_sysconfdir}/cloud-network/cloud-network.toml
|
|
| 76 |
+%{_unitdir}/cloud-network.service
|
|
| 77 |
+ |
|
| 78 |
+%pre |
|
| 79 |
+if ! getent group cloud-network >/dev/null 2>&1; then |
|
| 80 |
+ /usr/sbin/groupadd -g 89 cloud-network |
|
| 81 |
+fi |
|
| 82 |
+ |
|
| 83 |
+if ! getent passwd cloud-network >/dev/null 2>&1 ; then |
|
| 84 |
+ /usr/sbin/useradd -g 89 -u 89 -r -s /sbin/nologin cloud-network >/dev/null 2>&1 || exit 1 |
|
| 85 |
+fi |
|
| 86 |
+ |
|
| 87 |
+%post |
|
| 88 |
+%systemd_post cloud-network.service |
|
| 89 |
+ |
|
| 90 |
+%preun |
|
| 91 |
+%systemd_preun cloud-network.service |
|
| 92 |
+ |
|
| 93 |
+%postun |
|
| 94 |
+%systemd_postun_with_restart cloud-network.service |
|
| 95 |
+ |
|
| 96 |
+%changelog |
|
| 97 |
+* Wed Jun 30 2021 Susant Sahani <ssahani@vmware.com> 0.1-1 |
|
| 98 |
+- Initial rpm release. |