From e0e9c97bc0f16e828556fd38734cd06b93d76d0f Mon Sep 17 00:00:00 2001 From: Alexandre Date: Tue, 16 Nov 2021 17:40:09 +0100 Subject: [PATCH] dev addon --- enedisgateway2mqtt_test/CHANGELOG.md | 2 + enedisgateway2mqtt_test/Dockerfile | 63 ++++++++++++++++++ enedisgateway2mqtt_test/README.md | 47 +++++++++++++ enedisgateway2mqtt_test/apparmor.txt | 38 +++++++++++ enedisgateway2mqtt_test/config.json | 16 +++++ enedisgateway2mqtt_test/icon.png | Bin 0 -> 6490 bytes enedisgateway2mqtt_test/logo.png | Bin 0 -> 6490 bytes enedisgateway2mqtt_test/rootfs/entrypoint.sh | 13 ++++ .../rootfs/scripts/00-aaa.sh | 27 ++++++++ .../rootfs/scripts/00-banner.sh | 39 +++++++++++ .../rootfs/scripts/99-run.sh | 43 ++++++++++++ .../rootfs/templates/config.yaml | 11 +++ 12 files changed, 299 insertions(+) create mode 100644 enedisgateway2mqtt_test/CHANGELOG.md create mode 100644 enedisgateway2mqtt_test/Dockerfile create mode 100644 enedisgateway2mqtt_test/README.md create mode 100644 enedisgateway2mqtt_test/apparmor.txt create mode 100644 enedisgateway2mqtt_test/config.json create mode 100644 enedisgateway2mqtt_test/icon.png create mode 100644 enedisgateway2mqtt_test/logo.png create mode 100644 enedisgateway2mqtt_test/rootfs/entrypoint.sh create mode 100644 enedisgateway2mqtt_test/rootfs/scripts/00-aaa.sh create mode 100644 enedisgateway2mqtt_test/rootfs/scripts/00-banner.sh create mode 100644 enedisgateway2mqtt_test/rootfs/scripts/99-run.sh create mode 100644 enedisgateway2mqtt_test/rootfs/templates/config.yaml diff --git a/enedisgateway2mqtt_test/CHANGELOG.md b/enedisgateway2mqtt_test/CHANGELOG.md new file mode 100644 index 000000000..5a9573c05 --- /dev/null +++ b/enedisgateway2mqtt_test/CHANGELOG.md @@ -0,0 +1,2 @@ +- Allows setting options through 3 ways, see addon readme +- Data validation diff --git a/enedisgateway2mqtt_test/Dockerfile b/enedisgateway2mqtt_test/Dockerfile new file mode 100644 index 000000000..91911a775 --- /dev/null +++ b/enedisgateway2mqtt_test/Dockerfile @@ -0,0 +1,63 @@ +ARG BUILD_UPSTREAM="0.7.1-dev" +FROM m4dm4rtig4n/enedisgateway2mqtt:$BUILD_UPSTREAM + +# Base system +ARG BASHIO_VERSION=0.13.1 + +# Copy root filesystem +COPY rootfs / +VOLUME [ "/config" ] + +RUN \ + ################ + # Install apps # + ################ + apt-get clean \ + && apt-get update \ + && apt-get install -y \ + jq \ + curl \ + yamllint \ + && apt-get clean \ + \ + ################## + # Install bashio # + ################## + && mkdir -p /tmp/bashio \ + && curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \ + | tar -xzf - --strip 1 -C /tmp/bashio \ + && mv /tmp/bashio/lib /usr/lib/bashio \ + && ln -s /usr/lib/bashio/bashio /usr/bin/bashio \ + && rm -rf /tmp/bashio || true + +RUN chmod 777 /entrypoint.sh +ENTRYPOINT [ "/usr/bin/env" ] +CMD ["/entrypoint.sh"] +VOLUME [ "/data" ] + +### LABELS +ARG BUILD_ARCH +ARG BUILD_DATE +ARG BUILD_DESCRIPTION +ARG BUILD_NAME +ARG BUILD_REF +ARG BUILD_REPOSITORY +ARG BUILD_VERSION +LABEL \ + io.hass.name="${BUILD_NAME}" \ + io.hass.description="${BUILD_DESCRIPTION}" \ + io.hass.arch="${BUILD_ARCH}" \ + io.hass.type="addon" \ + io.hass.version=${BUILD_VERSION} \ + maintainer="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.title="${BUILD_NAME}" \ + org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ + org.opencontainers.image.vendor="Home Assistant Add-ons" \ + org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.licenses="MIT" \ + org.opencontainers.image.url="https://github.com/alexbelgium" \ + org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ + org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ + org.opencontainers.image.created=${BUILD_DATE} \ + org.opencontainers.image.revision=${BUILD_REF} \ + org.opencontainers.image.version=${BUILD_VERSION} diff --git a/enedisgateway2mqtt_test/README.md b/enedisgateway2mqtt_test/README.md new file mode 100644 index 000000000..8840ddbbc --- /dev/null +++ b/enedisgateway2mqtt_test/README.md @@ -0,0 +1,47 @@ +# Home assistant add-on: Enedisgateway2mqtt + +[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) + +[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white + +![Supports + Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] + +_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_ + +[![Stargazers repo roster for @alexbelgium/hassio-addons](https://reporoster.com/stars/alexbelgium/hassio-addons)](https://github.com/alexbelgium/hassio-addons/stargazers) + +## About + +Enedisgateway2mqtt use Enedis Gateway API to send data in your MQTT Broker. +See its github for all informations : https://github.com/m4dm4rtig4n/enedisgateway2mqtt/blob/master/README.md + +## Configuration + +There are 3 ways to configure this addon : +- Using the addon options +- Using the custom_var field, where variables not already defined in the addon options can be described using the format : var1=text1,var2=text2 +- Manually editing the file /config/enedisgateway2mqtt/enedisgateway2mqtt.conf and adding options with the format var1=text1 + +All variables defined the in the addon options and custom_var fields are automatically copied in the /config/enedisgateway2mqtt/enedisgateway2mqtt.conf file. + +The complete list of options can be seen here : https://github.com/m4dm4rtig4n/enedisgateway2mqtt#environment-variable + +## Installation + +The installation of this add-on is pretty straightforward and not different in +comparison to installing any other Hass.io add-on. + +1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance. +1. Install this add-on. +1. Click the `Save` button to store your configuration. +1. Start the add-on. +1. Check the logs of the add-on to see if everything went well. +1. Carefully configure the add-on to your preferences, see the official documentation for for that. + +[smb-shield]: https://img.shields.io/badge/SMB--green?style=plastic.svg +[repository]: https://github.com/alexbelgium/hassio-addons +[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg diff --git a/enedisgateway2mqtt_test/apparmor.txt b/enedisgateway2mqtt_test/apparmor.txt new file mode 100644 index 000000000..4b9ced9e4 --- /dev/null +++ b/enedisgateway2mqtt_test/apparmor.txt @@ -0,0 +1,38 @@ +#include + +profile inadyn_addon flags=(attach_disconnected,mediate_deleted) { + #include + + capability, + file, + mount, + umount, + remount, + capability setgid, + capability setuid, + + +# S6-Overlay + /bin/** ix, + /usr/bin/** ix, + /usr/lib/bashio/** ix, + /etc/s6/** rix, + /run/s6/** rix, + /etc/services.d/** rwix, + /etc/cont-init.d/** rwix, + /etc/cont-finish.d/** rwix, + /init rix, + /var/run/** mrwkl, + /var/run/ mrwkl, + /dev/i2c-1 mrwkl, + + # Data access + /data/** rw, + + # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container + ptrace (trace,read) peer=docker-default, + + # docker daemon confinement requires explict allow rule for signal + signal (receive) set=(kill,term) peer=/usr/bin/docker, + +} diff --git a/enedisgateway2mqtt_test/config.json b/enedisgateway2mqtt_test/config.json new file mode 100644 index 000000000..9fafbbeb1 --- /dev/null +++ b/enedisgateway2mqtt_test/config.json @@ -0,0 +1,16 @@ +{ + "arch": ["aarch64", "amd64", "armv7", "armhf"], + "description": "use Enedis Gateway API to send data in your MQTT Broker", + "map": ["config:rw"], + "name": "Enedisgateway2mqtt_test", + "options": { + "CONFIG_LOCATION": "/config/enedisgateway2mqtt/config.yaml" + }, + "schema": { + "CONFIG_LOCATION": "str" + }, + "slug": "enedisgateway2mqtt_test", + "upstream": "0.7.1", + "url": "https://github.com/alexbelgium/hassio-addons", + "version": "0.7.1" +} diff --git a/enedisgateway2mqtt_test/icon.png b/enedisgateway2mqtt_test/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..80e452aaaf44fd6ba29795d12287930d3f7d4e92 GIT binary patch literal 6490 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 +if [ $? = 0 ]; then + echo "Config file is a valid yaml" +else + bashio::log.fatal "Config file has an invalid yaml format. Please check the file in $CONFIGSOURCE. Errors list :" + cat ERROR +fi + +# Create symlink +[ -f /data/config.yaml ] && rm /data/config.yaml +ln -s $CONFIGSOURCE /data +echo "Symlink created" + +############## +# Launch App # +############## +echo " " +bashio::log.info "Starting the app" +echo " " + +python -u /app/main.py || bashio::log.fatal "The app has crashed. Are you sure you entered the correct config options?" diff --git a/enedisgateway2mqtt_test/rootfs/templates/config.yaml b/enedisgateway2mqtt_test/rootfs/templates/config.yaml new file mode 100644 index 000000000..0421882f3 --- /dev/null +++ b/enedisgateway2mqtt_test/rootfs/templates/config.yaml @@ -0,0 +1,11 @@ +--- + doe: "a deer, a female deer" + ray: "a drop of golden sun" + pi: 3.14159 + xmas: true + french-hens: 3 + calling-birds: + - huey + - dewey + - louie + - fred