Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
88823ef727 | |||
fcecdaee88 | |||
714db9fb25 | |||
002f1fa11a | |||
f0fae9fd82 | |||
f09fa33ef8 | |||
016fe149b9 | |||
6e20d6675a |
105
.drone.yml
Normal file
105
.drone.yml
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: build-amd64
|
||||||
|
platform:
|
||||||
|
arch: amd64
|
||||||
|
node_selector:
|
||||||
|
kubernetes.io/arch: amd64
|
||||||
|
federationhq.de/location: Blumendorf
|
||||||
|
federationhq.de/compute: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: fedhq-ca-crt
|
||||||
|
config_map:
|
||||||
|
name: fedhq-ca-crt
|
||||||
|
default_mode: 420 # same as 644 in octal, or u+w,a+r
|
||||||
|
optional: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: generate control
|
||||||
|
image: debian:bookworm
|
||||||
|
pull: always
|
||||||
|
commands:
|
||||||
|
- apt-get -qy update && apt-get -qy install git
|
||||||
|
- scripts/generate_control.sh
|
||||||
|
|
||||||
|
- name: build amd64
|
||||||
|
image: quay.io/buildah/stable
|
||||||
|
pull: always
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- name: fedhq-ca-crt
|
||||||
|
path: /etc/ssl/certs2/
|
||||||
|
commands:
|
||||||
|
- scripts/setupEnvironment.sh
|
||||||
|
- buildah bud -t "registry.cloud.federationhq.de/nginx-fhem-ntfy:latest-amd64" --arch amd64 .
|
||||||
|
- buildah push --all registry.cloud.federationhq.de/nginx-fhem-ntfy:latest-amd64
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: build-arm64
|
||||||
|
platform:
|
||||||
|
arch: arm64
|
||||||
|
node_selector:
|
||||||
|
kubernetes.io/arch: arm64
|
||||||
|
federationhq.de/location: Blumendorf
|
||||||
|
federationhq.de/compute: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: fedhq-ca-crt
|
||||||
|
config_map:
|
||||||
|
name: fedhq-ca-crt
|
||||||
|
default_mode: 420 # same as 644 in octal, or u+w,a+r
|
||||||
|
optional: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: generate control
|
||||||
|
image: debian:bookworm
|
||||||
|
pull: always
|
||||||
|
commands:
|
||||||
|
- apt-get -qy update && apt-get -qy install git
|
||||||
|
- scripts/generate_control.sh
|
||||||
|
|
||||||
|
- name: build arm64
|
||||||
|
image: quay.io/buildah/stable
|
||||||
|
pull: always
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- name: fedhq-ca-crt
|
||||||
|
path: /etc/ssl/certs2/
|
||||||
|
commands:
|
||||||
|
- scripts/setupEnvironment.sh
|
||||||
|
- buildah bud -t "registry.cloud.federationhq.de/nginx-fhem-ntfy:latest-arm64" --arch arm64 .
|
||||||
|
- buildah push --all registry.cloud.federationhq.de/nginx-fhem-ntfy:latest-arm64
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: push
|
||||||
|
node_selector:
|
||||||
|
kubernetes.io/arch: amd64
|
||||||
|
federationhq.de/location: Blumendorf
|
||||||
|
federationhq.de/compute: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: fedhq-ca-crt
|
||||||
|
config_map:
|
||||||
|
name: fedhq-ca-crt
|
||||||
|
default_mode: 420 # same as 644 in octal, or u+w,a+r
|
||||||
|
optional: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: push
|
||||||
|
image: quay.io/buildah/stable
|
||||||
|
pull: always
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- name: fedhq-ca-crt
|
||||||
|
path: /etc/ssl/certs2/
|
||||||
|
commands:
|
||||||
|
- scripts/setupEnvironment.sh
|
||||||
|
- buildah manifest create nginx-fhem-ntfy:latest registry.cloud.federationhq.de/nginx-fhem-ntfy:latest-arm64 registry.cloud.federationhq.de/nginx-fhem-ntfy:latest-amd64
|
||||||
|
- buildah manifest push --all nginx-fhem-ntfy:latest docker://registry.cloud.federationhq.de/nginx-fhem-ntfy:latest
|
||||||
|
- buildah manifest rm nginx-fhem-ntfy:latest
|
||||||
|
depends_on:
|
||||||
|
- build-amd64
|
||||||
|
- build-arm64
|
5
Containerfile
Normal file
5
Containerfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM docker.io/nginx:latest
|
||||||
|
|
||||||
|
COPY FHEM /usr/share/nginx/html/FHEM/
|
||||||
|
COPY controls_byterazor-fhem-ntfy.txt /usr/share/nginx/html/
|
||||||
|
COPY CHANGED /usr/share/nginx/html/
|
@ -140,6 +140,7 @@ sub NTFY_Define
|
|||||||
|
|
||||||
$hash->{NAME} = $name;
|
$hash->{NAME} = $name;
|
||||||
$hash->{SERVER} = $params->[2];
|
$hash->{SERVER} = $params->[2];
|
||||||
|
$hash->{VERSION} = $VERSION;
|
||||||
$hash->{USERNAME} = $h->{user} || "";
|
$hash->{USERNAME} = $h->{user} || "";
|
||||||
$hash->{helper}{PASSWORD} = $h->{password};
|
$hash->{helper}{PASSWORD} = $h->{password};
|
||||||
$modules{NTFY_CLIENT}{defptr}{$hash->{SERVER}} = $hash;
|
$modules{NTFY_CLIENT}{defptr}{$hash->{SERVER}} = $hash;
|
||||||
@ -149,16 +150,24 @@ sub NTFY_Define
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub NTFY_Get_Subscriptions
|
||||||
|
{
|
||||||
|
my $hash = shift;
|
||||||
|
my @subscriptions;
|
||||||
|
|
||||||
|
for my $k (keys %{$modules{NTFY_TOPIC}{defptr}})
|
||||||
|
{
|
||||||
|
$k=~/^(.*)_(.*)$/;
|
||||||
|
push(@subscriptions,$2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return @subscriptions;
|
||||||
|
}
|
||||||
|
|
||||||
sub NTFY_Update_Subscriptions_Readings
|
sub NTFY_Update_Subscriptions_Readings
|
||||||
{
|
{
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
my @topics;
|
my @topics = NTFY_Get_Subscriptions($hash);
|
||||||
|
|
||||||
for my $k (keys %{$modules{NTFY_TOPIC}{defptr}})
|
|
||||||
{
|
|
||||||
$k=~/^(.*)_(.*)$/;
|
|
||||||
push(@topics,$2);
|
|
||||||
}
|
|
||||||
|
|
||||||
readingsSingleUpdate($hash,"subscriptions", join(",", @topics),1);
|
readingsSingleUpdate($hash,"subscriptions", join(",", @topics),1);
|
||||||
|
|
||||||
@ -221,7 +230,7 @@ sub NTFY_Publish_Msg
|
|||||||
|
|
||||||
if ($msg->{priority})
|
if ($msg->{priority})
|
||||||
{
|
{
|
||||||
$message->{priority} = $msg->{priority};
|
$message->{priority} = int($msg->{priority});
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($msg->{keywords})
|
if ($msg->{keywords})
|
||||||
|
13
README.md
13
README.md
@ -20,6 +20,19 @@ that this is a sparetime project of someone with a family.
|
|||||||
|
|
||||||
You will find the issue tracker at https://rm.byterazor.de/projects/fhem-ntfy.
|
You will find the issue tracker at https://rm.byterazor.de/projects/fhem-ntfy.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
|
||||||
|
just copy the files within the FHEM directory to you FHEM installations FHEM directory and restart the server
|
||||||
|
|
||||||
|
### FHEM Updates
|
||||||
|
|
||||||
|
On the FHEM command line run
|
||||||
|
|
||||||
|
update add https://rm.byterazor.de/upd-fhem-ntfy/controls_byterazor-fhem-ntfy.txt
|
||||||
|
update
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
||||||
- Dominik Meyer <dmeyer@federationhq.de>
|
- Dominik Meyer <dmeyer@federationhq.de>
|
||||||
|
30
scripts/generate_control.sh
Executable file
30
scripts/generate_control.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
CONTROL_FILE="controls_byterazor-fhem-ntfy.txt"
|
||||||
|
|
||||||
|
if [ -e $CONTROL_FILE ]; then
|
||||||
|
rm $CONTROL_FILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
find ./FHEM -type f \( ! -iname "0.*" \) -print0 | while IFS= read -r -d '' f;
|
||||||
|
do
|
||||||
|
out="UPD $(stat --format "%z %s" $f | sed -e "s#\([0-9-]*\)\ \([0-9:]*\)\.[0-9]*\ [+0-9]*#\1_\2#") $f"
|
||||||
|
echo "${out//.\//}" >> $CONTROL_FILE
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#generate CHANGELOG
|
||||||
|
rm CHANGED
|
||||||
|
DATE=
|
||||||
|
git log --no-merges --pretty=format:'%ci|%s' | while read -r line; do
|
||||||
|
CDATE=$(echo "${line}" | awk '{print $1}')
|
||||||
|
MSG=$(echo "${line}" | awk -F '|' '{print $2}')
|
||||||
|
|
||||||
|
if [ "$DATE" != "$CDATE" ]; then
|
||||||
|
DATE=$CDATE
|
||||||
|
echo "$DATE" >> CHANGED
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " ${MSG}" >> CHANGED
|
||||||
|
|
||||||
|
done
|
3
scripts/setupEnvironment.sh
Executable file
3
scripts/setupEnvironment.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cp /etc/ssl/certs2/federationHQ-CA.pem /etc/pki/ca-trust/source/anchors/
|
||||||
|
update-ca-trust
|
Loading…
Reference in New Issue
Block a user