diff options
author | pappy | 2018-07-02 13:38:33 +0300 |
---|---|---|
committer | pappy | 2018-07-02 13:38:33 +0300 |
commit | 197fe465d817cf56f1a1fbe6d4feddcc7acfabf7 (patch) | |
tree | f3f8e3df3f77dd9c26d00821fc0fd7b3972f57fe | |
download | aur-197fe465d817cf56f1a1fbe6d4feddcc7acfabf7.tar.gz |
initial import
-rw-r--r-- | .SRCINFO | 39 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | 0010-dirs.patch | 30 | ||||
-rw-r--r-- | 0010-paths.patch | 62 | ||||
-rw-r--r-- | PKGBUILD | 90 | ||||
-rw-r--r-- | lxdui.conf | 47 | ||||
-rwxr-xr-x | lxdui.install | 21 | ||||
-rw-r--r-- | lxdui.service | 16 | ||||
-rw-r--r-- | lxdui.sysusers | 2 | ||||
-rw-r--r-- | lxdui.tmpfiles | 2 |
10 files changed, 315 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..50c866d46c6e --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,39 @@ +pkgbase = lxdui-git + pkgdesc = Web UI for the native Linux container technology LXD/LXC + pkgver = 2.1.1.0.636.c477657 + pkgrel = 1 + url = https://github.com/AdaptiveScale/lxdui + install = lxdui.install + arch = x86_64 + license = AGPL3 + makedepends = python-virtualenv + depends = lxd + depends = python-click + depends = python-flask-jwt + depends = python-flask-login + depends = python-jsonschema + depends = python-netaddr + depends = python-psutil + depends = python-ptyprocess + depends = python-requests + depends = python-terminado + depends = python-tornado + provides = lxdui + backup = etc/lxdui/lxdui.conf + backup = etc/lxdui/log.conf + backup = etc/lxdui/auth.conf + source = lxdui-git::git+https://github.com/AdaptiveScale/lxdui + source = lxdui.conf + source = lxdui.sysusers + source = lxdui.tmpfiles + source = lxdui.service + source = 0010-paths.patch + sha256sums = SKIP + sha256sums = e419e1ecb8bec84fd676e7a729d91b48065a3a7616956bc5356e64e6d8286eac + sha256sums = b149cf164d32659b95802d0e4e455e98736de0d0ece519c48eae2eb846c35f3c + sha256sums = ba3e1a27e38e63e283ea595480be375a70d5f24879ba4c2c4f3fe4dc28fbdee4 + sha256sums = 7487a9b77522a23b1be4c02961f46917d48b9c617d669843bbf26c4fd285d75d + sha256sums = bf8ecd2b10b70d90b8b7b9dd2d5b35a69cb2ed6fa6d7a7c310cc0648fa19e723 + +pkgname = lxdui-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..0a558ca035ff --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +src/ +pkg/ +lxdui-git/ +*.tar.gz +*.tar.xz +*.log diff --git a/0010-dirs.patch b/0010-dirs.patch new file mode 100644 index 000000000000..23543f1b46df --- /dev/null +++ b/0010-dirs.patch @@ -0,0 +1,30 @@ +diff -rNc lxdui-2.1.1-orig/app/__metadata__.py lxdui-2.1.1/app/__metadata__.py +*** lxdui-2.1.1-orig/app/__metadata__.py 2018-06-18 22:36:37.000000000 +0300 +--- lxdui-2.1.1/app/__metadata__.py 2018-06-29 17:03:39.961224760 +0300 +*************** +*** 26,37 **** + lxdui.jwt.secret.key = AC8d83&21Almnis710sds + lxdui.jwt.auth.url.rule = /api/user/login + lxdui.admin.user = admin +! lxdui.conf.dir = {{app_root}}/conf + lxdui.conf.file = ${lxdui.conf.dir}/lxdui.conf + lxdui.auth.conf = ${lxdui.conf.dir}/auth.conf + lxdui.ssl.cert = ${lxdui.conf.dir}/client.crt + lxdui.ssl.key = ${lxdui.conf.dir}/client.key +! lxdui.log.dir = {{app_root}}/logs + lxdui.log.file = ${lxdui.log.dir}/lxdui.log + lxdui.log.conf = ${lxdui.conf.dir}/log.conf + #lxdui.log.rotate = true +--- 26,37 ---- + lxdui.jwt.secret.key = AC8d83&21Almnis710sds + lxdui.jwt.auth.url.rule = /api/user/login + lxdui.admin.user = admin +! lxdui.conf.dir = /etc/lxdui + lxdui.conf.file = ${lxdui.conf.dir}/lxdui.conf + lxdui.auth.conf = ${lxdui.conf.dir}/auth.conf + lxdui.ssl.cert = ${lxdui.conf.dir}/client.crt + lxdui.ssl.key = ${lxdui.conf.dir}/client.key +! lxdui.log.dir = /var/log/lxdui + lxdui.log.file = ${lxdui.log.dir}/lxdui.log + lxdui.log.conf = ${lxdui.conf.dir}/log.conf + #lxdui.log.rotate = true diff --git a/0010-paths.patch b/0010-paths.patch new file mode 100644 index 000000000000..3e9ca0350161 --- /dev/null +++ b/0010-paths.patch @@ -0,0 +1,62 @@ +diff -rNc lxdui-2.1.1-orig/app/api/core.py lxdui-2.1.1/app/api/core.py +*** lxdui-2.1.1-orig/app/api/core.py 2018-06-18 22:36:37.000000000 +0300 +--- lxdui-2.1.1/app/api/core.py 2018-06-29 17:26:55.789621966 +0300 +*************** +*** 14,20 **** + Log(__name__) + app = Flask(__name__) + HAS_UI = False +! PID = os.path.join(tempfile.gettempdir(), '{}.pid'.format(meta.APP_NAME).lower()) + + # Authentication section + initAuth(app) +--- 14,20 ---- + Log(__name__) + app = Flask(__name__) + HAS_UI = False +! PID = '/run/{}/{}.pid'.format(meta.APP_NAME, meta.APP_NAME).lower() + + # Authentication section + initAuth(app) +*************** +*** 133,136 **** + print("LXDUI started. Running on http://0.0.0.0:{}".format(port)) + print("PID={}, Press CTRL+C to quit".format(pid)) + terminal(app, port, debug) +! # app.run(debug=debug, host='0.0.0.0', port=port) +\ No newline at end of file +--- 133,136 ---- + print("LXDUI started. Running on http://0.0.0.0:{}".format(port)) + print("PID={}, Press CTRL+C to quit".format(pid)) + terminal(app, port, debug) +! # app.run(debug=debug, host='0.0.0.0', port=port) +diff -rNc lxdui-2.1.1-orig/app/__metadata__.py lxdui-2.1.1/app/__metadata__.py +*** lxdui-2.1.1-orig/app/__metadata__.py 2018-06-18 22:36:37.000000000 +0300 +--- lxdui-2.1.1/app/__metadata__.py 2018-06-29 17:25:26.097793995 +0300 +*************** +*** 26,37 **** + lxdui.jwt.secret.key = AC8d83&21Almnis710sds + lxdui.jwt.auth.url.rule = /api/user/login + lxdui.admin.user = admin +! lxdui.conf.dir = {{app_root}}/conf + lxdui.conf.file = ${lxdui.conf.dir}/lxdui.conf + lxdui.auth.conf = ${lxdui.conf.dir}/auth.conf + lxdui.ssl.cert = ${lxdui.conf.dir}/client.crt + lxdui.ssl.key = ${lxdui.conf.dir}/client.key +! lxdui.log.dir = {{app_root}}/logs + lxdui.log.file = ${lxdui.log.dir}/lxdui.log + lxdui.log.conf = ${lxdui.conf.dir}/log.conf + #lxdui.log.rotate = true +--- 26,37 ---- + lxdui.jwt.secret.key = AC8d83&21Almnis710sds + lxdui.jwt.auth.url.rule = /api/user/login + lxdui.admin.user = admin +! lxdui.conf.dir = /etc/lxdui + lxdui.conf.file = ${lxdui.conf.dir}/lxdui.conf + lxdui.auth.conf = ${lxdui.conf.dir}/auth.conf + lxdui.ssl.cert = ${lxdui.conf.dir}/client.crt + lxdui.ssl.key = ${lxdui.conf.dir}/client.key +! lxdui.log.dir = /var/log/lxdui + lxdui.log.file = ${lxdui.log.dir}/lxdui.log + lxdui.log.conf = ${lxdui.conf.dir}/log.conf + #lxdui.log.rotate = true diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..802f14dcd9bc --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,90 @@ +# Maintainer: pappy <pappy _AT_ a s c e l i o n _DOT_ com> + +_pkgname=lxdui +pkgname=$_pkgname-git +pkgver=2.1.1.0.636.c477657 +pkgrel=1 + +srcver() { + cd "${srcdir}/${pkgname}" + eval $(cat app/__metadata__.py | grep -w VERSION | sed 's/ //g') + echo -n $VERSION +} + +pkgver() { + cd "${srcdir}/${pkgname}" + + echo -n $(srcver).0.$(git rev-list --count HEAD).$(git rev-parse --short HEAD) +} + +pkgdesc="Web UI for the native Linux container technology LXD/LXC" +arch=(x86_64) +url="https://github.com/AdaptiveScale/lxdui" +license=('AGPL3') +depends=(lxd + python-click + python-flask-jwt + python-flask-login + python-jsonschema + python-netaddr + python-psutil + python-ptyprocess + python-requests + python-terminado + python-tornado +) +makedepends=('python-virtualenv') +provides=(lxdui) +install=lxdui.install +backup=(etc/lxdui/lxdui.conf + etc/lxdui/log.conf + etc/lxdui/auth.conf) +source=($pkgname::git+https://github.com/AdaptiveScale/$_pkgname + + $_pkgname.conf + $_pkgname.sysusers + $_pkgname.tmpfiles + $_pkgname.service + + 0010-paths.patch + ) +sha256sums=('SKIP' + 'e419e1ecb8bec84fd676e7a729d91b48065a3a7616956bc5356e64e6d8286eac' + 'b149cf164d32659b95802d0e4e455e98736de0d0ece519c48eae2eb846c35f3c' + 'ba3e1a27e38e63e283ea595480be375a70d5f24879ba4c2c4f3fe4dc28fbdee4' + '7487a9b77522a23b1be4c02961f46917d48b9c617d669843bbf26c4fd285d75d' + 'bf8ecd2b10b70d90b8b7b9dd2d5b35a69cb2ed6fa6d7a7c310cc0648fa19e723') + +prepare() +{ + cd $pkgname + for s in ${source[@]}; do + case $s in + *.patch) + echo -n Applying patch $s... + patch -s -p1 -i ${srcdir}/$s + echo ' done' + ;; + esac + done +} + +package() { + virtualenv --system-site-packages $pkgdir/usr/lib/$_pkgname + + pushd $pkgname + $pkgdir/usr/lib/$_pkgname/bin/python setup.py install --optimize=1 + $pkgdir/usr/lib/$_pkgname/bin/pip uninstall -y pip setuptools wheel + popd + + find $pkgdir/usr/lib/$_pkgname/bin -type f -exec grep -q $pkgdir {} \; -exec sed -i "s:$pkgdir::g" {} \; + find $pkgdir/usr/lib/$_pkgname/lib -type d \( -name testsuite -o -name tests \) -exec rm -rf {} \; 2>/dev/null || true + + install -Dm644 $_pkgname.conf $pkgdir/etc/$_pkgname/$_pkgname.conf + install -Dm644 $_pkgname.sysusers $pkgdir/usr/lib/sysusers.d/$_pkgname.conf + install -Dm644 $_pkgname.service $pkgdir/usr/lib/systemd/system/$_pkgname.service + install -Dm644 $_pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf + + mv $pkgdir/usr/lib/$_pkgname/lib/python3.6/site-packages/LXDUI-$(srcver)-py3.6.egg/conf/* $pkgdir/etc/$_pkgname +} + diff --git a/lxdui.conf b/lxdui.conf new file mode 100644 index 000000000000..6cc881d6458a --- /dev/null +++ b/lxdui.conf @@ -0,0 +1,47 @@ +[LXDUI] +lxdui.port = 15151 +lxdui.images.remote = https://images.linuxcontainers.org +lxdui.jwt.token.expiration = 1200 +lxdui.jwt.secret.key = AC8d83&21Almnis710sds +lxdui.jwt.auth.url.rule = /api/user/login +lxdui.admin.user = admin +lxdui.conf.dir = /etc/lxdui +lxdui.conf.file = ${lxdui.conf.dir}/lxdui.conf +lxdui.auth.conf = ${lxdui.conf.dir}/auth.conf +lxdui.ssl.cert = ${lxdui.conf.dir}/client.crt +lxdui.ssl.key = ${lxdui.conf.dir}/client.key +lxdui.log.dir = /var/log/lxdui +lxdui.log.file = ${lxdui.log.dir}/lxdui.log +lxdui.log.conf = ${lxdui.conf.dir}/log.conf +#lxdui.log.rotate = true +#lxdui.log.max = 10M +#lxdui.log.keep.generations = 5 +lxdui.profiles = ${lxdui.conf.dir}/profiles +lxdui.zfs.pool.name = lxdpool +lxdui.app.alias = LXDUI +lxdui.cli = cli + +[LXDUI_CERT] +lxdui.cert.country = US +lxdui.cert.state = Texas +lxdui.cert.locale = Dallas +lxdui.cert.org = AdaptiveScale, Inc. +lxdui.cert.ou = OU=AdaptiveScale, DN=com + +[LXD] +lxd.bridge.enabled = true +lxd.bridge.name = lxdbr0 +lxd.dns.conf.file = +lxd.dns.domain = lxd +lxd.ipv4.addr = 10.5.5.1 +lxd.ipv4.netmask = 255.255.255.0 +lxd.ipv4.network = 10.5.5.0/24 +lxd.ipv4.dhcp.range = 253 +lxd.ipv4.dhcp.max = 10.5.5.2,10.5.5.254 +lxd.ipv4.nat = true +lxd.ipv6.addr = 2001:470:b368:4242::1 +lxd.ipv6.mask = 255.255.255.0 +lxd.ipv6.network = 2001:470:b368:4242::/64 +lxd.ipv6.nat = false +lxd.ipv6.proxy = false + diff --git a/lxdui.install b/lxdui.install new file mode 100755 index 000000000000..b10e6c8dd288 --- /dev/null +++ b/lxdui.install @@ -0,0 +1,21 @@ +post_install() +{ + systemd-sysusers + + echo "" + echo "To start LXDUI, run: systemctl start lxdui" + echo "To enable LXDUI at boot, run: systemctl enable lxdui" + echo "" +} + +post_upgrade() +{ + systemctl daemon-reload +} + +pre_remove() +{ + systemctl stop lxdui + systemctl disable lxdui +} + diff --git a/lxdui.service b/lxdui.service new file mode 100644 index 000000000000..00e9dc752270 --- /dev/null +++ b/lxdui.service @@ -0,0 +1,16 @@ +[Unit] +Description=Web UI for the native Linux container technology LXD/LXC +After=network.target lxd.service +Requires=lxd.service + +[Service] +Type=simple +User=lxdui +Group=lxdui +PIDFile=/run/lxdui/lxdui.pid +ExecStart=/usr/lib/lxdui/bin/lxdui start +ExecStop=/usr/lib/lxdui/bin/lxdui stop + +[Install] +WantedBy=multi-user.target + diff --git a/lxdui.sysusers b/lxdui.sysusers new file mode 100644 index 000000000000..c7a1de2c9ca1 --- /dev/null +++ b/lxdui.sysusers @@ -0,0 +1,2 @@ +u lxdui - "LXDUI User" /var/log/lxdui +m lxdui lxd diff --git a/lxdui.tmpfiles b/lxdui.tmpfiles new file mode 100644 index 000000000000..c634e654dc14 --- /dev/null +++ b/lxdui.tmpfiles @@ -0,0 +1,2 @@ +d /var/log/lxdui 0755 lxdui lxdui - +d /run/lxdui 0755 lxdui lxdui - |