From 51b9136e9f9afb43398963044c45ac29292b1d58 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Wed, 31 Jan 2024 18:41:38 +0000 Subject: [PATCH 1/2] Rebase to Alpine 3.19 --- .github/workflows/external_trigger.yml | 4 ++-- Dockerfile | 8 ++++---- Dockerfile.aarch64 | 8 ++++---- Jenkinsfile | 4 ++-- README.md | 7 ++++--- jenkins-vars.yml | 4 ++-- readme-vars.yml | 10 ++++------ 7 files changed, 22 insertions(+), 23 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 413a517..be4dec8 100644 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -20,7 +20,7 @@ jobs: echo "**** External trigger running off of main branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_SYSLOG_NG_MAIN\". ****" echo "External trigger running off of main branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_SYSLOG_NG_MAIN\`" >> $GITHUB_STEP_SUMMARY echo "**** Retrieving external version ****" - EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:'"syslog-ng"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "**** Can't retrieve external version, exiting ****" @@ -74,7 +74,7 @@ jobs: echo "**** Version ${EXT_RELEASE} already pushed, exiting ****" echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY exit 0 - elif [[ $(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.18/main/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp && awk '/^P:'"syslog-ng"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') != "${EXT_RELEASE}" ]]; then + elif [[ $(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp && awk '/^P:'"syslog-ng"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') != "${EXT_RELEASE}" ]]; then echo "**** New version ${EXT_RELEASE} found; but not all arch repos updated yet; exiting ****" echo "New version ${EXT_RELEASE} found; but not all arch repos updated yet; exiting" >> $GITHUB_STEP_SUMMARY FAILURE_REASON="New version ${EXT_RELEASE} for syslog-ng tag latest is detected, however not all arch repos are updated yet. Will try again later." diff --git a/Dockerfile b/Dockerfile index 63dbdf7..7b7c9f9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,17 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:3.18 +FROM ghcr.io/linuxserver/baseimage-alpine:3.19 ARG BUILD_DATE ARG VERSION ARG SYSLOG_NG_VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="TheSpad" +LABEL maintainer="thespad" RUN \ echo "**** install packages ****" && \ if [ -z ${SYSLOG_NG_VERSION+x} ]; then \ - SYSLOG_NG_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + SYSLOG_NG_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:syslog-ng$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \ fi && \ apk add -U --upgrade --no-cache \ @@ -23,7 +23,7 @@ RUN \ syslog-ng-add-contextual-data \ syslog-ng-amqp \ syslog-ng-graphite \ - syslog-ng-http \ + syslog-ng-http \ syslog-ng-json \ syslog-ng-map-value-pairs \ syslog-ng-redis \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 3d9dd9d..3db0453 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,17 +1,17 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.18 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19 ARG BUILD_DATE ARG VERSION ARG SYSLOG_NG_VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="TheSpad" +LABEL maintainer="thespad" RUN \ echo "**** install packages ****" && \ if [ -z ${SYSLOG_NG_VERSION+x} ]; then \ - SYSLOG_NG_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.18/main/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + SYSLOG_NG_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.19/main/aarch64/APKINDEX.tar.gz" | tar -xz -C /tmp \ && awk '/^P:syslog-ng$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \ fi && \ apk add -U --upgrade --no-cache \ @@ -23,7 +23,7 @@ RUN \ syslog-ng-add-contextual-data \ syslog-ng-amqp \ syslog-ng-graphite \ - syslog-ng-http \ + syslog-ng-http \ syslog-ng-json \ syslog-ng-map-value-pairs \ syslog-ng-redis \ diff --git a/Jenkinsfile b/Jenkinsfile index 7459f41..17949c8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -25,8 +25,8 @@ pipeline { DEV_DOCKERHUB_IMAGE = 'lsiodev/syslog-ng' PR_DOCKERHUB_IMAGE = 'lspipepr/syslog-ng' DIST_IMAGE = 'alpine' - DIST_TAG = '3.18' - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.18/main/' + DIST_TAG = '3.19' + DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.19/main/' DIST_REPO_PACKAGES = 'syslog-ng' MULTIARCH = 'true' CI='true' diff --git a/README.md b/README.md index ac81a3f..e9ab169 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ The architectures supported by this image are: ## Application Setup -Edit `/config/syslog-ng.conf` to configure your logging sources and destinations. Note: As the application does not run as root you cannot listen on ports < 1024. +Edit `/config/syslog-ng.conf` to configure your logging sources and destinations. The application pid, control file, etc. are all kept in /config so when using tools such as `syslog-ng-ctl` you need to specify the path e.g. `syslog-ng-ctl reload -c /config/syslog-ng.ctl` @@ -82,7 +82,7 @@ services: - PGID=1000 - TZ=Etc/UTC volumes: - - /path/to/config:/config + - /path/to/syslog-ng/config:/config - /path/to/log:/var/log #optional ports: - 514:5514/udp @@ -102,7 +102,7 @@ docker run -d \ -p 514:5514/udp \ -p 601:6601/tcp \ -p 6514:6514/tcp \ - -v /path/to/config:/config \ + -v /path/to/syslog-ng/config:/config \ -v /path/to/log:/var/log `#optional` \ --restart unless-stopped \ lscr.io/linuxserver/syslog-ng:latest @@ -284,6 +284,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **31.01.24:** - Rebase to Alpine 3.19. * **11.06.23:** - Rebase to Alpine 3.18, deprecate armhf. * **10.01.23:** - Add paho-mqtt-c library as required by the syslog-ng documentation * **30.12.22:** - Rebase to Alpine 3.17, add libdbi-drivers for SQL support. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 009c656..7f5d0eb 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -16,8 +16,8 @@ repo_vars: - DEV_DOCKERHUB_IMAGE = 'lsiodev/syslog-ng' - PR_DOCKERHUB_IMAGE = 'lspipepr/syslog-ng' - DIST_IMAGE = 'alpine' - - DIST_TAG = '3.18' - - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.18/main/' + - DIST_TAG = '3.19' + - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.19/main/' - DIST_REPO_PACKAGES = 'syslog-ng' - MULTIARCH = 'true' - CI='true' diff --git a/readme-vars.yml b/readme-vars.yml index 9370658..680175a 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -19,14 +19,11 @@ development_versions: false # container parameters common_param_env_vars_enabled: true param_container_name: "{{ project_name }}" -param_usage_include_env: true -param_env_vars: - - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." } param_usage_include_vols: true param_volumes: - - { vol_path: "/config", vol_host_path: "/path/to/config", desc: "Stores config and application files" } + - { vol_path: "/config", vol_host_path: "/path/to/syslog-ng/config", desc: "Stores config and application files" } opt_param_usage_include_vols: true -opt_param_volumes: +opt_param_volumes: - { vol_path: "/var/log", vol_host_path: "/path/to/log", desc: "Stores logs collected by the syslog-ng service" } param_usage_include_ports: true param_ports: @@ -37,7 +34,7 @@ param_ports: # application setup block app_setup_block_enabled: true app_setup_block: | - Edit `/config/syslog-ng.conf` to configure your logging sources and destinations. Note: As the application does not run as root you cannot listen on ports < 1024. + Edit `/config/syslog-ng.conf` to configure your logging sources and destinations. The application pid, control file, etc. are all kept in /config so when using tools such as `syslog-ng-ctl` you need to specify the path e.g. `syslog-ng-ctl reload -c /config/syslog-ng.ctl` @@ -46,6 +43,7 @@ app_setup_block: | # changelog changelogs: + - { date: "31.01.24:", desc: "Rebase to Alpine 3.19." } - { date: "11.06.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." } - { date: "10.01.23:", desc: "Add paho-mqtt-c library as required by the syslog-ng documentation" } - { date: "30.12.22:", desc: "Rebase to Alpine 3.17, add libdbi-drivers for SQL support." } From 1df8bc1568d83f16a0eb344e2fdd71225caa69de Mon Sep 17 00:00:00 2001 From: TheSpad Date: Wed, 31 Jan 2024 18:45:36 +0000 Subject: [PATCH 2/2] Update package names --- Dockerfile | 2 +- Dockerfile.aarch64 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7b7c9f9..8eb2cd2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,6 @@ RUN \ grep \ libdbi-drivers \ paho-mqtt-c \ - py3-syslog-ng \ syslog-ng==${SYSLOG_NG_VERSION} \ syslog-ng-add-contextual-data \ syslog-ng-amqp \ @@ -26,6 +25,7 @@ RUN \ syslog-ng-http \ syslog-ng-json \ syslog-ng-map-value-pairs \ + syslog-ng-python \ syslog-ng-redis \ syslog-ng-scl \ syslog-ng-sql \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 3db0453..7af008f 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -18,7 +18,6 @@ RUN \ grep \ libdbi-drivers \ paho-mqtt-c \ - py3-syslog-ng \ syslog-ng==${SYSLOG_NG_VERSION} \ syslog-ng-add-contextual-data \ syslog-ng-amqp \ @@ -26,6 +25,7 @@ RUN \ syslog-ng-http \ syslog-ng-json \ syslog-ng-map-value-pairs \ + syslog-ng-python \ syslog-ng-redis \ syslog-ng-scl \ syslog-ng-sql \