mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 13:57:14 +02:00
testing/netbox: new aport
IP address management (IPAM) and data center infrastructure management (DCIM) tool
This commit is contained in:
parent
86152549db
commit
cd5dd02c13
77
testing/netbox/APKBUILD
Normal file
77
testing/netbox/APKBUILD
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
|
||||||
|
# Maintainer:
|
||||||
|
pkgname=netbox
|
||||||
|
pkgver=2.2.8
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="IP address management and data center infrastructure management tool"
|
||||||
|
url="https://netbox.io"
|
||||||
|
arch="noarch"
|
||||||
|
license="Apache-2.0"
|
||||||
|
depends="py3-django py3-django-cors-headers py3-django-debug-toolbar
|
||||||
|
py3-django-filter py3-django-mptt py3-django-rest-swagger py3-django-tables2
|
||||||
|
py3-django-rest-framework py3-napalm py3-graphviz py3-markdown py3-natsort
|
||||||
|
py3-ncclient py3-netaddr py3-paramiko py3-pillow py3-psycopg2 py3-pygfm
|
||||||
|
py3-pycryptodome py3-xmltodict py3-gunicorn"
|
||||||
|
install="$pkgname.pre-install $pkgname.post-upgrade"
|
||||||
|
subpackages="$pkgname-doc"
|
||||||
|
options="!check" # no testsuite
|
||||||
|
pkgusers="netbox"
|
||||||
|
pkggroups="netbox"
|
||||||
|
source="$pkgname-$pkgver.tar.gz::https://github.com/digitalocean/netbox/archive/v$pkgver.tar.gz
|
||||||
|
gunicorn_config.py
|
||||||
|
netbox.nginx-sample
|
||||||
|
$pkgname.initd
|
||||||
|
$pkgname.logrotated
|
||||||
|
set-config-defaults.patch
|
||||||
|
"
|
||||||
|
builddir="$srcdir"/$pkgname-$pkgver
|
||||||
|
|
||||||
|
build() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$builddir"
|
||||||
|
local destdir=usr/share/webapps
|
||||||
|
local conffile=etc/$pkgname/configuration.py
|
||||||
|
mkdir -p "$pkgdir"/$destdir \
|
||||||
|
"$pkgdir"/usr/share/doc \
|
||||||
|
"$pkgdir"/etc/$pkgname
|
||||||
|
mv $pkgname "$pkgdir"/$destdir
|
||||||
|
mkdir -p "$pkgdir"/$destdir/$pkgname/static
|
||||||
|
mv docs "$pkgdir"/usr/share/doc/$pkgname
|
||||||
|
mv "$pkgdir"/$destdir/$pkgname/$pkgname/configuration.example.py \
|
||||||
|
"$pkgdir"/$conffile
|
||||||
|
|
||||||
|
# in order to install the static files we need a working config file
|
||||||
|
# and temporarily set minimum settings in config file
|
||||||
|
ln -s "$pkgdir"/$conffile \
|
||||||
|
"$pkgdir"/$destdir/$pkgname/$pkgname/configuration.py
|
||||||
|
sed -i "s/SECRET_KEY.*/SECRET_KEY = \'abcdefghk123456789\'/" \
|
||||||
|
"$pkgdir"/$conffile
|
||||||
|
|
||||||
|
# install static files
|
||||||
|
python3 "$pkgdir"/$destdir/$pkgname/manage.py collectstatic --noinput --clear --link
|
||||||
|
# let's move instead of linking static files originating from netbox
|
||||||
|
local dir; for dir in "$pkgdir"/$destdir/$pkgname/project-static/*; do
|
||||||
|
rm -rf "$pkgdir"/$destdir/$pkgname/static/$(basename $dir)
|
||||||
|
mv $dir "$pkgdir"/$destdir/$pkgname/static
|
||||||
|
done
|
||||||
|
|
||||||
|
install -m644 "$srcdir"/gunicorn_config.py "$pkgdir"/$destdir/$pkgname
|
||||||
|
install -D -m644 "$srcdir"/netbox.nginx-sample "$pkgdir"/etc/nginx/netbox.sample
|
||||||
|
install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
|
||||||
|
install -D -m644 "$srcdir"/$pkgname.logrotated "$pkgdir"/etc/logrotate.d/$pkgname
|
||||||
|
install -d -m755 -o netbox -g netbox "$pkgdir"/var/lib/$pkgname/media
|
||||||
|
|
||||||
|
# undo temp stuff
|
||||||
|
ln -sf /$conffile "$pkgdir"/$destdir/$pkgname/$pkgname/configuration.py
|
||||||
|
sed -i "s/SECRET_KEY.*/SECRET_KEY = \'\'/" "$pkgdir"/$conffile
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="3e5014ff240404e33ac50a700f3c31dc86ff3693c1f26caa681db7b5d14e8d7237f6b2d918c519e47818efc2384ef279196943f86c256a9a8bf7aa7f8084d1a2 netbox-2.2.8.tar.gz
|
||||||
|
09d8e40d98d113458ee602de85306ac1a24fbb0015fbc4bb77812dae05096cb7b9c50770f650fd2ac78a388f35d7752ce8021790e952234a39c8b3e73a4ea3db gunicorn_config.py
|
||||||
|
b5c3dc0ad2ebaacf43dfa41880dc7d677a763a3fadf1ccd0a6a9ec744d1648ca72f6a55893d09fd843b399559e2411a98b0ded597669f18a34f305f5ccb57c06 netbox.nginx-sample
|
||||||
|
d4467109d803f42f8d9b088951d6123b9088f0069a4db280c2ca5e5a57bf746d1faa70d0f542154149e60f21891876f7c15da360e07eec8c8a36f5aac65509d3 netbox.initd
|
||||||
|
a87dd52264f5ea00dbb774e54332480615850aa0056e60e13963481e8390bee73ceb519873fa11d357a29911c4e34a30c4623f4c206f765af6e64f379314e5a8 netbox.logrotated
|
||||||
|
6b9eb0dcf8d5a267c3c88b81468d1fd7a7971cc084370a44f1ea5b61b08a30e9339f838e97947a0c65f385ed69fc5122592eca0ee5ff6e00cf5ec0f2dbe4c59f set-config-defaults.patch"
|
5
testing/netbox/gunicorn_config.py
Normal file
5
testing/netbox/gunicorn_config.py
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
command = '/usr/bin/gunicorn'
|
||||||
|
pythonpath = '/usr/share/webapps/netbox'
|
||||||
|
bind = '127.0.0.1:8001'
|
||||||
|
workers = 3
|
||||||
|
user = 'netbox'
|
21
testing/netbox/netbox.initd
Normal file
21
testing/netbox/netbox.initd
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
_port=8080
|
||||||
|
_bind=0.0.0.0
|
||||||
|
_basedir=/usr/share/webapps/netbox
|
||||||
|
_logfile="/var/log/${RC_SVCNAME}"
|
||||||
|
pidfile="/run/netbox/${RC_SVCNAME}.pid"
|
||||||
|
command=/usr/bin/gunicorn
|
||||||
|
command_args="--daemon \
|
||||||
|
--pid $pidfile \
|
||||||
|
--log-file $_logfile \
|
||||||
|
--log-level info \
|
||||||
|
-c $_basedir/gunicorn_config.py netbox.wsgi"
|
||||||
|
command_user="netbox"
|
||||||
|
command_group="netbox"
|
||||||
|
|
||||||
|
start_pre() {
|
||||||
|
checkpath --directory /run/${RC_SVCNAME} /var/log/${RC_SVCNAME} \
|
||||||
|
--owner $command_user:$command_group --mode 755
|
||||||
|
}
|
||||||
|
|
8
testing/netbox/netbox.logrotated
Normal file
8
testing/netbox/netbox.logrotated
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/var/log/netbox/*.log {
|
||||||
|
weekly
|
||||||
|
rotate 4
|
||||||
|
missingok
|
||||||
|
notifempty
|
||||||
|
sharedscripts
|
||||||
|
copytruncate
|
||||||
|
}
|
20
testing/netbox/netbox.nginx-sample
Normal file
20
testing/netbox/netbox.nginx-sample
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
|
||||||
|
server_name netbox.mydomain;
|
||||||
|
|
||||||
|
client_max_body_size 25m;
|
||||||
|
|
||||||
|
location /static/ {
|
||||||
|
alias /usr/share/webapps/netbox/static/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8001;
|
||||||
|
proxy_set_header X-Forwarded-Host $server_name;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
8
testing/netbox/netbox.post-upgrade
Executable file
8
testing/netbox/netbox.post-upgrade
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
echo
|
||||||
|
echo "* Please run:"
|
||||||
|
echo "*"
|
||||||
|
echo "* 'python3 /usr/share/webapps/netbox/manage.py migrate'"
|
||||||
|
echo "*"
|
||||||
|
echo "* in order to complete the upgrade."
|
||||||
|
echo
|
4
testing/netbox/netbox.pre-install
Executable file
4
testing/netbox/netbox.pre-install
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
addgroup -S netbox 2>/dev/null
|
||||||
|
adduser -S -h /var/log/netbox -s /sbin/nologin -G netbox -D netbox 2>/dev/null
|
||||||
|
exit 0
|
11
testing/netbox/set-config-defaults.patch
Normal file
11
testing/netbox/set-config-defaults.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- a/netbox/netbox/configuration.example.py
|
||||||
|
+++ b/netbox/netbox/configuration.example.py
|
||||||
|
@@ -98,7 +98,7 @@
|
||||||
|
|
||||||
|
# The file path where uploaded media such as image attachments are stored. A trailing slash is not needed. Note that
|
||||||
|
# the default value of this setting is derived from the installed location.
|
||||||
|
-# MEDIA_ROOT = '/opt/netbox/netbox/media'
|
||||||
|
+MEDIA_ROOT = '/var/lib/netbox/media'
|
||||||
|
|
||||||
|
# Credentials that NetBox will uses to authenticate to devices when connecting via NAPALM.
|
||||||
|
NAPALM_USERNAME = ''
|
Loading…
Reference in New Issue
Block a user