From 3b435e53f062c19661f6687677b34ac25d32c815 Mon Sep 17 00:00:00 2001 From: sinav Date: Thu, 24 Apr 2025 16:09:33 +0300 Subject: [PATCH] feat: add vector addon --- vector/Dockerfile | 27 +++++++++++ vector/build.yaml | 5 ++ vector/config.yaml | 17 +++++++ vector/icon.png | Bin 0 -> 5152 bytes vector/logo.png | Bin 0 -> 10608 bytes .../s6-rc.d/init-vector/dependencies.d/base | 0 .../etc/s6-overlay/s6-rc.d/init-vector/run | 23 +++++++++ .../etc/s6-overlay/s6-rc.d/init-vector/type | 1 + .../etc/s6-overlay/s6-rc.d/init-vector/up | 1 + .../s6-overlay/s6-rc.d/user/contents.d/vector | 0 .../s6-rc.d/vector/dependencies.d/base | 0 .../etc/s6-overlay/s6-rc.d/vector/finish | 45 ++++++++++++++++++ .../rootfs/etc/s6-overlay/s6-rc.d/vector/run | 10 ++++ .../rootfs/etc/s6-overlay/s6-rc.d/vector/type | 1 + vector/rootfs/vector.yaml | 12 +++++ 15 files changed, 142 insertions(+) create mode 100644 vector/Dockerfile create mode 100644 vector/build.yaml create mode 100644 vector/config.yaml create mode 100644 vector/icon.png create mode 100644 vector/logo.png create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/dependencies.d/base create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/run create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/type create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/up create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/vector create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/vector/dependencies.d/base create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/vector/finish create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/vector/run create mode 100644 vector/rootfs/etc/s6-overlay/s6-rc.d/vector/type create mode 100644 vector/rootfs/vector.yaml diff --git a/vector/Dockerfile b/vector/Dockerfile new file mode 100644 index 0000000..d29bac5 --- /dev/null +++ b/vector/Dockerfile @@ -0,0 +1,27 @@ +ARG BUILD_FROM=ghcr.io/hassio-addons/debian-base:7.8.2 +# hadolint ignore=DL3006 +FROM ${BUILD_FROM} + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +ARG VECTOR_VERSION=0.46.1 + +WORKDIR /vector + +RUN apt-get update \ + && apt-get install -y --no-install-recommends systemd \ + && apt-get clean \ + && mkdir -p /var/lib/vector \ + && curl -sSL -o vector.tar.gz \ + https://github.com/vectordotdev/vector/releases/download/v${VECTOR_VERSION}/vector-${VECTOR_VERSION}-x86_64-unknown-linux-musl.tar.gz \ + && tar -xvf vector.tar.gz --strip-components=2 \ + && cp /vector/bin/* /usr/local/bin/ + +LABEL \ + org.opencontainers.image.title="Vector Add-on" \ + org.opencontainers.image.description="Vector log processor for Home Assistant" \ + org.opencontainers.image.url="https://vector.dev" \ + org.opencontainers.image.source="https://github.com/vectordotdev/vector" \ + org.opencontainers.image.documentation="https://vector.dev/docs" + +COPY rootfs / diff --git a/vector/build.yaml b/vector/build.yaml new file mode 100644 index 0000000..c4143af --- /dev/null +++ b/vector/build.yaml @@ -0,0 +1,5 @@ +--- +build_from: + amd64: ghcr.io/hassio-addons/debian-base/amd64:7.8.2 +codenotary: + base_image: codenotary@frenck.dev diff --git a/vector/config.yaml b/vector/config.yaml new file mode 100644 index 0000000..88cb4c8 --- /dev/null +++ b/vector/config.yaml @@ -0,0 +1,17 @@ +name: "Vector" +version: "0.46.1" +slug: "vector" +description: "Vector log processor" +url: "https://vector.dev" +arch: + - amd64 +boot: auto +init: false +journald: true +startup: services +advanced: true +docker_api: true +map: + - addon_config:rw +options: {} +schema: {} diff --git a/vector/icon.png b/vector/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..61a11456effb50025e90bea8d0a88eb1568fd208 GIT binary patch literal 5152 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 literal 0 HcmV?d00001 diff --git a/vector/logo.png b/vector/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e7612e97ead51c91e60f1e1877c3791d00bf87c7 GIT binary patch literal 10608 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 KMNUMnLSTX%mV$c# literal 0 HcmV?d00001 diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/dependencies.d/base b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/run b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/run new file mode 100644 index 0000000..afc5d92 --- /dev/null +++ b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/run @@ -0,0 +1,23 @@ +#!/command/with-contenv bashio +# shellcheck shell=bash +# shellcheck disable=SC2207 +# ============================================================================== +# Home Assistant Add-on: Vector +# Copy default config +# ============================================================================== + +CONFIG_PATH="/config/vector.yaml" +DEFAULT_CONFIG="/vector.yaml" + +if ! bashio::fs.file_exists "$CONFIG_PATH"; then + bashio::log.info "Copying default configuration from $DEFAULT_CONFIG" + + if cp "$DEFAULT_CONFIG" "$CONFIG_PATH"; then + bashio::log.info "Default configuration copied successfully" + else + bashio::log.error "Failed to copy default configuration!" + exit 1 + fi +else + bashio::log.info "Using existing configuration at $CONFIG_PATH" +fi diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/type b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/up b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/up new file mode 100644 index 0000000..536d82a --- /dev/null +++ b/vector/rootfs/etc/s6-overlay/s6-rc.d/init-vector/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-vector/run \ No newline at end of file diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/vector b/vector/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/vector new file mode 100644 index 0000000..e69de29 diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/dependencies.d/base b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/finish b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/finish new file mode 100644 index 0000000..9efd9a2 --- /dev/null +++ b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/finish @@ -0,0 +1,45 @@ +#!/command/with-contenv bashio +# shellcheck shell=bash +# ============================================================================== +# Home Assistant Add-on: Vector +# ============================================================================== +declare exit_code +readonly exit_code_container=$( /run/s6-linux-init-container-results/exitcode + fi + + # If the signal is SIGTERM, we should halt the container and take down + # the whole process tree. + [[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt + +# The service exited with a non-zero exit code, which means it crashed. +elif [[ "${exit_code_service}" -ne 0 ]]; then + + # The service might be a result of another service crashing. Only + # overwrite the container exit code if it is not already set. + if [[ "${exit_code_container}" -eq 0 ]]; then + echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode + fi + + # We should halt the container and take down the whole process tree. + exec /run/s6/basedir/bin/halt + +# The service exited with a zero exit code, which means it exited, let +# S6 supervision restart it. +else + bashio::log.info "Service ${service} restarting..." +fi diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/run b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/run new file mode 100644 index 0000000..d31de16 --- /dev/null +++ b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/run @@ -0,0 +1,10 @@ +#!/command/with-contenv bashio +# shellcheck shell=bash +# ============================================================================== +# Home Assistant Add-on: Vector +# Start Vector +# ============================================================================== + +bashio::log.info "Starting Vector..." + +exec /usr/local/bin/vector --config /config/vector.yaml diff --git a/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/type b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/type new file mode 100644 index 0000000..1780f9f --- /dev/null +++ b/vector/rootfs/etc/s6-overlay/s6-rc.d/vector/type @@ -0,0 +1 @@ +longrun \ No newline at end of file diff --git a/vector/rootfs/vector.yaml b/vector/rootfs/vector.yaml new file mode 100644 index 0000000..6cbe3ac --- /dev/null +++ b/vector/rootfs/vector.yaml @@ -0,0 +1,12 @@ +data_dir: /var/lib/vector + +sources: + demo: + type: internal_metrics + +sinks: + stdout: + type: console + inputs: [demo] + encoding: + codec: json