diff --git a/.devcontainer.json b/.devcontainer.json index b818177..bd3b462 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -8,18 +8,22 @@ "containerEnv": { "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" }, - "extensions": ["timonwong.shellcheck", "esbenp.prettier-vscode"], "mounts": ["type=volume,target=/var/lib/docker"], - "settings": { - "terminal.integrated.profiles.linux": { - "zsh": { - "path": "/usr/bin/zsh" - } - }, - "terminal.integrated.defaultProfile.linux": "zsh", - "editor.formatOnPaste": false, - "editor.formatOnSave": true, - "editor.formatOnType": true, - "files.trimTrailingWhitespace": true + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.profiles.linux": { + "zsh": { + "path": "/usr/bin/zsh" + } + }, + "terminal.integrated.defaultProfile.linux": "zsh", + "editor.formatOnPaste": false, + "editor.formatOnSave": true, + "editor.formatOnType": true, + "files.trimTrailingWhitespace": true + }, + "extensions": ["timonwong.shellcheck", "esbenp.prettier-vscode"] + } } } diff --git a/.github/workflows/builder.yaml b/.github/workflows/builder.yaml index ce9670b..4407e45 100644 --- a/.github/workflows/builder.yaml +++ b/.github/workflows/builder.yaml @@ -2,7 +2,7 @@ name: Builder env: BUILD_ARGS: "--test" - MONITORED_FILES: "build.yaml config.yaml Dockerfile rootfs" + MONITORED_FILES: "build.yaml config.yaml Dockerfile app" on: push: diff --git a/README.md b/README.md index 69e0367..4fbc4fa 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,12 @@ -# Example Home Assistant add-on repository +# Home Assistant Ecowitt Proxy add-on repository -This repository can be used as a "blueprint" for add-on development to help you get started. - -Add-on documentation: - -[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Fhome-assistant%2Faddons-example) +[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Fchrisromp%2Faddon-ecowitt-proxy) ## Add-ons This repository contains the following add-ons -### [Example add-on](./example) +### [Ecowitt Proxy](./ecowitt-proxy) ![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] @@ -18,7 +14,7 @@ This repository contains the following add-ons ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield] -_Example add-on to use as a blueprint for new add-ons._ +_An HTTP proxy for Ecowitt weather stations to foward to the Home Assistant Ecowitt integration since Ecowitt does not support HTTPS._ - -## 1.2.0 - -- Add an apparmor profile -- Update to 3.15 base image with s6 v3 -- Add a sample script to run as service and constrain in aa profile - -## 1.1.0 - -- Updates - -## 1.0.0 - -- Initial release diff --git a/example/DOCS.md b/example/DOCS.md deleted file mode 100644 index b8432c3..0000000 --- a/example/DOCS.md +++ /dev/null @@ -1,10 +0,0 @@ -# Home Assistant Add-on: Example add-on - -## How to use - -This add-on really does nothing. It is just an example. - -When started it will print the configured message or "Hello world" in the log. - -It will also print "All done!" in `/share/example_addon_output.txt` to show -simple example of the usage of `map` in addon config. diff --git a/example/Dockerfile b/example/Dockerfile deleted file mode 100644 index 9d1a983..0000000 --- a/example/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-dockerfile -ARG BUILD_FROM -FROM $BUILD_FROM - -# Execute during the build of the image -ARG TEMPIO_VERSION BUILD_ARCH -RUN \ - curl -sSLf -o /usr/bin/tempio \ - "https://github.com/home-assistant/tempio/releases/download/${TEMPIO_VERSION}/tempio_${BUILD_ARCH}" - -# Copy root filesystem -COPY rootfs / diff --git a/example/README.md b/example/README.md deleted file mode 100644 index a0de77f..0000000 --- a/example/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Home Assistant Add-on: Example add-on - -_Example add-on to use as a blueprint for new add-ons._ - -![Supports aarch64 Architecture][aarch64-shield] -![Supports amd64 Architecture][amd64-shield] -![Supports armhf Architecture][armhf-shield] -![Supports armv7 Architecture][armv7-shield] -![Supports i386 Architecture][i386-shield] - -[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 -[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg diff --git a/example/apparmor.txt b/example/apparmor.txt deleted file mode 100644 index e788a6c..0000000 --- a/example/apparmor.txt +++ /dev/null @@ -1,57 +0,0 @@ -#include - -profile example flags=(attach_disconnected,mediate_deleted) { - #include - - # Capabilities - file, - signal (send) set=(kill,term,int,hup,cont), - - # S6-Overlay - /init ix, - /bin/** ix, - /usr/bin/** ix, - /run/{s6,s6-rc*,service}/** ix, - /package/** ix, - /command/** ix, - /etc/services.d/** rwix, - /etc/cont-init.d/** rwix, - /etc/cont-finish.d/** rwix, - /run/{,**} rwk, - /dev/tty rw, - - # Bashio - /usr/lib/bashio/** ix, - /tmp/** rwk, - - # Access to options.json and other files within your addon - /data/** rw, - - # Start new profile for service - /usr/bin/my_program cx -> my_program, - - profile my_program flags=(attach_disconnected,mediate_deleted) { - #include - - # Receive signals from S6-Overlay - signal (receive) peer=*_example, - - # Access to options.json and other files within your addon - /data/** rw, - - # Access to mapped volumes specified in config.json - /share/** rw, - - # Access required for service functionality - # Note: List was built by doing the following: - # 1. Add what is obviously needed based on what is in the script - # 2. Add `complain` as a flag to this profile temporarily and run the addon - # 3. Review the audit log with `journalctl _TRANSPORT="audit" -g 'apparmor="ALLOWED"'` and add other access as needed - # Remember to remove the `complain` flag when you are done - /usr/bin/my_program r, - /bin/bash rix, - /bin/echo ix, - /etc/passwd r, - /dev/tty rw, - } -} \ No newline at end of file diff --git a/example/build.yaml b/example/build.yaml deleted file mode 100644 index cdca316..0000000 --- a/example/build.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-dockerfile -build_from: - aarch64: "ghcr.io/home-assistant/aarch64-base:3.15" - amd64: "ghcr.io/home-assistant/amd64-base:3.15" - armhf: "ghcr.io/home-assistant/armhf-base:3.15" - armv7: "ghcr.io/home-assistant/armv7-base:3.15" - i386: "ghcr.io/home-assistant/i386-base:3.15" -labels: - org.opencontainers.image.title: "Home Assistant Add-on: Example add-on" - org.opencontainers.image.description: "Example add-on to use as a blueprint for new add-ons." - org.opencontainers.image.source: "https://github.com/home-assistant/addons-example" - org.opencontainers.image.licenses: "Apache License 2.0" -args: - TEMPIO_VERSION: "2021.09.0" diff --git a/example/config.yaml b/example/config.yaml deleted file mode 100644 index b034b08..0000000 --- a/example/config.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config -name: Example add-on -version: "1.2.0" -slug: example -description: Example add-on -url: "https://github.com/home-assistant/addons-example/tree/main/example" -arch: - - armhf - - armv7 - - aarch64 - - amd64 - - i386 -init: false -map: - - share:rw -options: - message: "Hello world..." -schema: - message: "str?" -image: "ghcr.io/home-assistant/{arch}-addon-example" diff --git a/example/icon.png b/example/icon.png deleted file mode 100644 index d4415c1..0000000 Binary files a/example/icon.png and /dev/null differ diff --git a/example/logo.png b/example/logo.png deleted file mode 100644 index 106e5c2..0000000 Binary files a/example/logo.png and /dev/null differ diff --git a/example/rootfs/etc/services.d/example/finish b/example/rootfs/etc/services.d/example/finish deleted file mode 100755 index 230d179..0000000 --- a/example/rootfs/etc/services.d/example/finish +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bashio -# ============================================================================== -# Take down the S6 supervision tree when example fails -# s6-overlay docs: https://github.com/just-containers/s6-overlay -# ============================================================================== - -declare APP_EXIT_CODE=${1} - -if [[ "${APP_EXIT_CODE}" -ne 0 ]] && [[ "${APP_EXIT_CODE}" -ne 256 ]]; then - bashio::log.warning "Halt add-on with exit code ${APP_EXIT_CODE}" - echo "${APP_EXIT_CODE}" > /run/s6-linux-init-container-results/exitcode - exec /run/s6/basedir/bin/halt -fi - -bashio::log.info "Service restart after closing" diff --git a/example/rootfs/etc/services.d/example/run b/example/rootfs/etc/services.d/example/run deleted file mode 100755 index 6c329bd..0000000 --- a/example/rootfs/etc/services.d/example/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== -# Start the example service -# s6-overlay docs: https://github.com/just-containers/s6-overlay -# ============================================================================== - -# Add your code here - -# Declare variables -declare message - -## Get the 'message' key from the user config options. -message=$(bashio::config 'message') - -## Print the message the user supplied, defaults to "Hello World..." -bashio::log.info "${message:="Hello World..."}" - -## Run your program -exec /usr/bin/my_program diff --git a/example/rootfs/usr/bin/my_program b/example/rootfs/usr/bin/my_program deleted file mode 100755 index a287b13..0000000 --- a/example/rootfs/usr/bin/my_program +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -echo "All done!" > /share/example_addon_output.txt diff --git a/example/translations/en.yaml b/example/translations/en.yaml deleted file mode 100644 index 70de024..0000000 --- a/example/translations/en.yaml +++ /dev/null @@ -1,4 +0,0 @@ -configuration: - message: - name: Message - description: The message that will be printed to the log when starting this example add-on. diff --git a/repository.yaml b/repository.yaml index e92d4da..f4e4fe6 100644 --- a/repository.yaml +++ b/repository.yaml @@ -1,4 +1,4 @@ # https://developers.home-assistant.io/docs/add-ons/repository#repository-configuration -name: Example Home Assistant add-on repository -url: 'https://github.com/home-assistant/addons-example' -maintainer: Awesome Maintainer \ No newline at end of file +name: Ecowitt Proxy add-on repository +url: "https://github.com/ChrisRomp/addons-example" +maintainer: Chris Romp