add: core and controller for prod

This commit is contained in:
Tobias Reisinger 2020-07-01 23:28:49 +02:00
parent e8596a8e70
commit 0d54ce7c6e
10 changed files with 211 additions and 0 deletions

47
controller/PKGBUILD Normal file
View file

@ -0,0 +1,47 @@
# Maintainer: Tobias Reisinger <tobias@msrg.cc>
pkgname=emgauwa-controller
pkgver=0.2.2
pkgrel=1
epoch=
pkgdesc=""
arch=('any')
url="https://git.serguzim.me/emgauwa/controller"
license=('unknown')
groups=()
depends=('glibc' 'lmdb')
makedepends=('make' 'cmake' 'gcc')
conflicts=('emgauwa-controller')
backup=('etc/emgauwa/controller.ini')
source=("https://git.serguzim.me/emgauwa/controller/archive/v$pkgver.tar.gz"
"controller.ini"
"emgauwa-controller-testing.service"
"emgauwa-controller-testing.sysusers"
"emgauwa-controller-testing.tmpfiles")
sha256sums=('8c1195f9d23edb195bf88363e066bf25dfa8b31c1f05f9be51e800ccf763ea4e'
'e467db2a2b382f34c125d01c735eb4ea83b971eb0928ac2863d19b7c151301c0'
'0bbc44d680be2011800c553ae863663148be0820f08349993578c88e9a23b143'
'b9cde58b9e9b0605ca4a1eddd78067c55aa3c8d40f80cde0a25c4da9f6f95798'
'5a4ce46c1302546509c0024d4614b5b0d47dde02467b7bf52b28ef6c4ead91e7')
prepare() {
cd "$pkgname"
mkdir -p "build"
}
build() {
cd "$pkgname/build" || exit 1
cmake -DWIRING_PI_DEBUG=ON ..
make
}
package() {
install -Dm755 "${pkgname}/build/controller" "${pkgdir}/usr/bin/emgauwa-controller"
install -Dm660 "controller.ini" "${pkgdir}/etc/emgauwa/controller.ini"
install -Dm644 "${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -Dm644 "${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
install -Dm644 "${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
install -Ddm750 "${pkgdir}/var/lib/emgauwa"
install -Ddm750 "${pkgdir}/var/lib/emgauwa/controller"
}

63
controller/controller.ini Normal file
View file

@ -0,0 +1,63 @@
[controller]
name = new emgauwa device
: 4422 for testing; 4421 for dev-env; 4420 for testing-env; 4419 for prod-env
discovery-port = 4420
: 1886 for testing; 1885 for dev-env; 1884 for testing-env; 1883 for prod-env
mqtt-port = 1884
relay-count = 10
database = /var/lib/emgauwa/controller/db.lmdb
log-level = debug
[relay-0]
driver = piface
pin = 0
inverted = 0
[relay-1]
driver = piface
pin = 1
inverted = 0
[relay-2]
driver = gpio
pin = 5
inverted = 1
[relay-3]
driver = gpio
pin = 4
inverted = 1
[relay-4]
driver = gpio
pin = 3
inverted = 1
[relay-5]
driver = gpio
pin = 2
inverted = 1
[relay-6]
driver = gpio
pin = 1
inverted = 1
pulse-duration = 3
[relay-7]
driver = gpio
pin = 0
inverted = 1
pulse-duration = 3
[relay-8]
driver = gpio
pin = 16
inverted = 1
[relay-9]
driver = gpio
pin = 15
inverted = 1

View file

@ -0,0 +1,12 @@
[Unit]
Description=Emgauwa Controller Launcher
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/lib/emgauwa/controller/
ExecStart=emgauwa-controller start -c /etc/emgauwa/controller.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1 @@
u emgauwa - "Emgauwa daemon user" /var/lib/emgauwa /bin/bash

View file

@ -0,0 +1,5 @@
d /var/lib/emgauwa 0750
d /var/lib/emgauwa/controller 0750
Z /var/lib/emgauwa - emgauwa emgauwa
z /etc/emgauwa 0755 root emgauwa
z /etc/emgauwa/controller.ini 0660 root emgauwa

47
core/PKGBUILD Normal file
View file

@ -0,0 +1,47 @@
# Maintainer: Tobias Reisinger <tobias@msrg.cc>
pkgname=emgauwa-core
pkgver=0.2.1
pkgrel=1
epoch=
pkgdesc=""
arch=('any')
url="https://git.serguzim.me/emgauwa/core"
license=('unknown')
groups=()
depends=('glibc' 'sqlite')
makedepends=('make' 'cmake' 'gcc')
conflicts=('emgauwa-core')
backup=('etc/emgauwa/core.ini')
source=("https://git.serguzim.me/emgauwa/core/archive/v$pkgver.tar.gz"
"core.ini"
"emgauwa-core-testing.service"
"emgauwa-core-testing.sysusers"
"emgauwa-core-testing.tmpfiles")
sha256sums=('f1869e952835308ca921b96c9d2160c74ed511fcd3da6c5bd47a4e87302da67a'
'6f113aa1c6ddbf982674ee192db2462758f83dfff12ab85ed4e221c0fdcf7de8'
'c781f4d50da8e158551a47a8549981dad05faaf2d632c4fde8b36b48474ab0ec'
'b9cde58b9e9b0605ca4a1eddd78067c55aa3c8d40f80cde0a25c4da9f6f95798'
'0531f10303410afd7e53099e66b124ef2fd14afec9d33c4a0146793375acb6c2')
prepare() {
cd "$pkgname"
mkdir -p "build"
}
build() {
cd "$pkgname/build" || exit 1
cmake ..
make
}
package() {
install -Dm755 "${pkgname}/build/core" "${pkgdir}/usr/bin/emgauwa-core"
install -Dm600 "core.ini" "${pkgdir}/etc/emgauwa/core.ini"
install -Dm644 "${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -Dm644 "${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
install -Dm644 "${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
install -Ddm750 "${pkgdir}/var/lib/emgauwa"
install -Ddm750 "${pkgdir}/var/lib/emgauwa/core"
}

18
core/core.ini Normal file
View file

@ -0,0 +1,18 @@
[core]
server-port = 80
user = emgauwa
group = emgauwa
database = /var/lib/emgauwa/core/db.sqlite
not-found-file = 404.html
not-found-file-mime = text/html
not-found-content = 404 - NOT FOUND
not-found-content-type = text/plain
: 4421 for dev-env; 4420 for testing-env; 4419 for prod-env; 4422 for testing
discovery-port = 4419
: 1886 for testing; 1885 for dev-env; 1884 for testing-env; 1883 for prod-env
mqtt-port = 1883
log-level = info

View file

@ -0,0 +1,12 @@
[Unit]
Description=Emgauwa Core Launcher
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/lib/emgauwa/core/
ExecStart=emgauwa-core start -c /etc/emgauwa/core.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1 @@
u emgauwa - "Emgauwa daemon user" /var/lib/emgauwa /bin/bash

View file

@ -0,0 +1,5 @@
d /var/lib/emgauwa 0750
d /var/lib/emgauwa/core 0750
Z /var/lib/emgauwa - emgauwa emgauwa
z /etc/emgauwa 0755 root emgauwa
z /etc/emgauwa/core.ini 0660 root emgauwa