From 150d59c6409ff74759cae08df18f3d7b7c5f8529 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Wed, 26 Apr 2023 09:43:37 +0100 Subject: [PATCH 001/117] Move Ubuntu build to legacy branch --- .github/CONTRIBUTING.md | 4 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/workflows/call_issue_pr_tracker.yml | 6 +- .github/workflows/external_trigger.yml | 30 +-- .../workflows/external_trigger_scheduler.yml | 18 +- .github/workflows/greetings.yml | 2 +- .github/workflows/package_trigger.yml | 18 +- .../workflows/package_trigger_scheduler.yml | 8 +- Jenkinsfile | 187 +++++++++++++----- README.md | 21 +- jenkins-vars.yml | 8 +- readme-vars.yml | 5 +- 12 files changed, 203 insertions(+), 106 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d5ae6896..2c4a465f 100755 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,7 +24,7 @@ ## Readme If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit. -Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-wireguard/edit/master/readme-vars.yml). +Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-wireguard/edit/legacy/readme-vars.yml). These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play. Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-wireguard) @@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Update the changelog -If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-wireguard/tree/master/root), add an entry to the changelog +If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-wireguard/tree/legacy/root), add an entry to the changelog ```yml changelogs: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ce5860d1..d9688a84 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -21,7 +21,7 @@ ------------------------------ - - [ ] I have read the [contributing](https://github.com/linuxserver/docker-wireguard/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications + - [ ] I have read the [contributing](https://github.com/linuxserver/docker-wireguard/blob/legacy/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications ------------------------------ diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml index 87243e2c..2c307843 100755 --- a/.github/workflows/call_issue_pr_tracker.yml +++ b/.github/workflows/call_issue_pr_tracker.yml @@ -2,9 +2,11 @@ name: Issue & PR Tracker on: issues: - types: [opened,reopened,labeled,unlabeled] + types: [opened,reopened,labeled,unlabeled,closed] pull_request_target: - types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled] + types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed] + pull_request_review: + types: [submitted,edited,dismissed] jobs: manage-project: diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index c5eb5ca2..d08f3407 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -4,24 +4,26 @@ on: workflow_dispatch: jobs: - external-trigger-master: + external-trigger-legacy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.1.0 - name: External Trigger - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/legacy' run: | - if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_WIREGUARD_MASTER }}" ]; then - echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_WIREGUARD_MASTER is set; skipping trigger. ****" + if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY }}" ]; then + echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY is set; skipping trigger. ****" + echo "Github secret \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 fi - echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_WIREGUARD_MASTER\". ****" + echo "**** External trigger running off of legacy branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\". ****" + echo "External trigger running off of legacy branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY echo "**** Retrieving external version ****" EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/WireGuard/wireguard-tools/tags | jq -r .[0].name) if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "**** Can't retrieve external version, exiting ****" - FAILURE_REASON="Can't retrieve external version for wireguard branch master" + FAILURE_REASON="Can't retrieve external version for wireguard branch legacy" GHA_TRIGGER_URL="https://github.com/linuxserver/docker-wireguard/actions/runs/${{ github.run_id }}" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}], @@ -30,9 +32,10 @@ jobs: fi EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g') echo "**** External version: ${EXT_RELEASE} ****" + echo "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY echo "**** Retrieving last pushed version ****" image="linuxserver/wireguard" - tag="latest" + tag="legacy" token=$(curl -sX GET \ "https://ghcr.io/token?scope=repository%3Alinuxserver%2Fwireguard%3Apull" \ | jq -r '.token') @@ -58,23 +61,27 @@ jobs: IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}') if [ -z "${IMAGE_VERSION}" ]; then echo "**** Can't retrieve last pushed version, exiting ****" - FAILURE_REASON="Can't retrieve last pushed version for wireguard tag latest" + FAILURE_REASON="Can't retrieve last pushed version for wireguard tag legacy" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} exit 1 fi echo "**** Last pushed version: ${IMAGE_VERSION} ****" + echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then echo "**** Version ${EXT_RELEASE} already pushed, exiting ****" + echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY exit 0 - elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then + elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/lastBuild/api/json | jq -r '.building') == "true" ]; then echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****" + echo "New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY exit 0 else echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****" + echo "New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build" >> $GITHUB_STEP_SUMMARY response=$(curl -iX POST \ - https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/master/buildWithParameters?PACKAGE_CHECK=false \ + https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=false \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") echo "**** Jenkins job queue url: ${response%$'\r'} ****" echo "**** Sleeping 10 seconds until job starts ****" @@ -82,6 +89,7 @@ jobs: buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl="${buildurl%$'\r'}" echo "**** Jenkins job build url: ${buildurl} ****" + echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY echo "**** Attempting to change the Jenkins job description ****" curl -iX POST \ "${buildurl}submitDescription" \ @@ -89,7 +97,7 @@ jobs: --data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ --data-urlencode "Submit=Submit" echo "**** Notifying Discord ****" - TRIGGER_REASON="A version change was detected for wireguard tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}" + TRIGGER_REASON="A version change was detected for wireguard tag legacy. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, "description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}], "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml index b677c14b..61c03c71 100755 --- a/.github/workflows/external_trigger_scheduler.yml +++ b/.github/workflows/external_trigger_scheduler.yml @@ -2,7 +2,7 @@ name: External Trigger Scheduler on: schedule: - - cron: '25 * * * *' + - cron: '51 * * * *' workflow_dispatch: jobs: @@ -17,18 +17,18 @@ jobs: run: | echo "**** Branches found: ****" git for-each-ref --format='%(refname:short)' refs/remotes - echo "**** Pulling the yq docker image ****" - docker pull ghcr.io/linuxserver/yq for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) do br=$(echo "$br" | sed 's|origin/||g') echo "**** Evaluating branch ${br} ****" - ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml \ - | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch) - if [ "$br" == "$ls_branch" ]; then - echo "**** Branch ${br} appears to be live; checking workflow. ****" + ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml) + ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch') + ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type') + if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then + echo "**** Branch ${br} appears to be live and trigger is not os; checking workflow. ****" if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****." + echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY curl -iX POST \ -H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Accept: application/vnd.github.v3+json" \ @@ -36,8 +36,10 @@ jobs: https://api.github.com/repos/linuxserver/docker-wireguard/actions/workflows/external_trigger.yml/dispatches else echo "**** Workflow doesn't exist; skipping trigger. ****" + echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY fi else - echo "**** ${br} appears to be a dev branch; skipping trigger. ****" + echo "**** ${br} is either a dev branch, or has no external version; skipping trigger. ****" + echo "Skipping branch ${br} due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY fi done diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index f3cc4efe..e7bed958 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -9,5 +9,5 @@ jobs: - uses: actions/first-interaction@v1 with: issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.' - pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-wireguard/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' + pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-wireguard/blob/legacy/.github/PULL_REQUEST_TEMPLATE.md)!' repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml index 410a286d..45d8197e 100755 --- a/.github/workflows/package_trigger.yml +++ b/.github/workflows/package_trigger.yml @@ -4,25 +4,28 @@ on: workflow_dispatch: jobs: - package-trigger-master: + package-trigger-legacy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.1.0 - name: Package Trigger - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/legacy' run: | - if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_WIREGUARD_MASTER }}" ]; then - echo "**** Github secret PAUSE_PACKAGE_TRIGGER_WIREGUARD_MASTER is set; skipping trigger. ****" + if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY }}" ]; then + echo "**** Github secret PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY is set; skipping trigger. ****" + echo "Github secret \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 fi - if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then + if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/lastBuild/api/json | jq -r '.building') == "true" ]; then echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****" + echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY exit 0 fi - echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_WIREGUARD_MASTER\". ****" + echo "**** Package trigger running off of legacy branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\". ****" + echo "Package trigger running off of legacy branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY response=$(curl -iX POST \ - https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/master/buildWithParameters?PACKAGE_CHECK=true \ + https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=true \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") echo "**** Jenkins job queue url: ${response%$'\r'} ****" echo "**** Sleeping 10 seconds until job starts ****" @@ -30,6 +33,7 @@ jobs: buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl="${buildurl%$'\r'}" echo "**** Jenkins job build url: ${buildurl} ****" + echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY echo "**** Attempting to change the Jenkins job description ****" curl -iX POST \ "${buildurl}submitDescription" \ diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index e9c4f2e0..bb2efa7c 100755 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -17,18 +17,16 @@ jobs: run: | echo "**** Branches found: ****" git for-each-ref --format='%(refname:short)' refs/remotes - echo "**** Pulling the yq docker image ****" - docker pull ghcr.io/linuxserver/yq for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) do br=$(echo "$br" | sed 's|origin/||g') echo "**** Evaluating branch ${br} ****" - ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml \ - | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch) + ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml | yq -r '.ls_branch') if [ "${br}" == "${ls_branch}" ]; then echo "**** Branch ${br} appears to be live; checking workflow. ****" if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****" + echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY triggered_branches="${triggered_branches}${br} " curl -iX POST \ -H "Authorization: token ${{ secrets.CR_PAT }}" \ @@ -38,9 +36,11 @@ jobs: sleep 30 else echo "**** Workflow doesn't exist; skipping trigger. ****" + echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY fi else echo "**** ${br} appears to be a dev branch; skipping trigger. ****" + echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY fi done echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" diff --git a/Jenkinsfile b/Jenkinsfile index 2f0deb4d..1c90a20c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,10 +39,11 @@ pipeline { // Setup all the basic environment variables needed for the build stage("Set ENV Variables base"){ steps{ + sh '''docker pull quay.io/skopeo/stable:v1 || : ''' script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( - script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', + script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:legacy 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', returnStdout: true).trim() env.LS_RELEASE_NOTES = sh( script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''', @@ -66,7 +67,7 @@ pipeline { script{ env.LS_TAG_NUMBER = sh( script: '''#! /bin/bash - tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null) + tagsha=$(git rev-list -n 1 legacy-${LS_RELEASE} 2>/dev/null) if [ "${tagsha}" == "${COMMIT_SHA}" ]; then echo ${LS_RELEASE_NUMBER} elif [ -z "${GIT_COMMIT}" ]; then @@ -144,10 +145,10 @@ pipeline { } } } - // If this is a master build use live docker endpoints + // If this is a legacy build use live docker endpoints stage("Set ENV live build"){ when { - branch "master" + branch "legacy" environment name: 'CHANGE_ID', value: '' } steps { @@ -157,20 +158,20 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { - env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN } } } // If this is a dev build use dev docker endpoints stage("Set ENV dev build"){ when { - not {branch "master"} + not {branch "legacy"} environment name: 'CHANGE_ID', value: '' } steps { @@ -180,13 +181,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { - env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' } } @@ -203,13 +204,13 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } else { - env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN + env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' } @@ -228,7 +229,7 @@ pipeline { script{ env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml' } - sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash''' + sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-jenkins-builder/master/checkrun.sh | /bin/bash''' sh '''#! /bin/bash docker run --rm \ -v ${WORKSPACE}:/mnt \ @@ -244,7 +245,7 @@ pipeline { // Use helper containers to render templated files stage('Update-Templates') { when { - branch "master" + branch "legacy" environment name: 'CHANGE_ID', value: '' expression { env.CONTAINER_NAME != null @@ -255,13 +256,13 @@ pipeline { set -e TEMPDIR=$(mktemp -d) docker pull ghcr.io/linuxserver/jenkins-builder:latest - docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest + docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=legacy -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest # Stage 1 - Jenkinsfile update if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then mkdir -p ${TEMPDIR}/repo git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f master + git checkout -f legacy cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ git add Jenkinsfile git commit -m 'Bot Updating Templated Files' @@ -284,7 +285,7 @@ pipeline { mkdir -p ${TEMPDIR}/repo git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f master + git checkout -f legacy for i in ${TEMPLATES_TO_DELETE}; do git rm "${i}" done @@ -305,7 +306,7 @@ pipeline { mkdir -p ${TEMPDIR}/repo git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f master + git checkout -f legacy cd ${TEMPDIR}/docker-${CONTAINER_NAME} mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE @@ -363,7 +364,7 @@ pipeline { // Exit the build if the Templated files were just updated stage('Template-exit') { when { - branch "master" + branch "legacy" environment name: 'CHANGE_ID', value: '' environment name: 'FILES_UPDATED', value: 'true' expression { @@ -376,6 +377,26 @@ pipeline { } } } + // If this is a legacy build check the S6 service file perms + stage("Check S6 Service file Permissions"){ + when { + branch "legacy" + environment name: 'CHANGE_ID', value: '' + environment name: 'EXIT_STATUS', value: '' + } + steps { + script{ + sh '''#! /bin/bash + WRONG_PERM=$(find ./ -path "./.git" -prune -o \\( -name "run" -o -name "finish" -o -name "check" \\) -not -perm -u=x,g=x,o=x -print) + if [[ -n "${WRONG_PERM}" ]]; then + echo "The following S6 service files are missing the executable bit; canceling the faulty build: ${WRONG_PERM}" + exit 1 + else + echo "S6 service file perms look good." + fi ''' + } + } + } /* ####################### GitLab Mirroring ####################### */ @@ -402,7 +423,7 @@ pipeline { // Add package to Scarf.sh and set permissions stage("Scarf.sh package registry"){ when { - branch "master" + branch "legacy" environment name: 'EXIT_STATUS', value: '' } steps{ @@ -563,7 +584,7 @@ pipeline { // Take the image we just built and dump package versions for comparison stage('Update-packages') { when { - branch "master" + branch "legacy" environment name: 'CHANGE_ID', value: '' environment name: 'EXIT_STATUS', value: '' } @@ -586,7 +607,7 @@ pipeline { echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github" if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO} - git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master + git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f legacy cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/ cd ${TEMPDIR}/${LS_REPO}/ wait @@ -610,7 +631,7 @@ pipeline { // Exit the build if the package file was just updated stage('PACKAGE-exit') { when { - branch "master" + branch "legacy" environment name: 'CHANGE_ID', value: '' environment name: 'PACKAGE_UPDATED', value: 'true' environment name: 'EXIT_STATUS', value: '' @@ -631,7 +652,7 @@ pipeline { // Exit the build if this is just a package check and there are no changes to push stage('PACKAGECHECK-exit') { when { - branch "master" + branch "legacy" environment name: 'CHANGE_ID', value: '' environment name: 'PACKAGE_UPDATED', value: 'false' environment name: 'EXIT_STATUS', value: '' @@ -668,6 +689,7 @@ pipeline { ]) { script{ env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html' + env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json' } sh '''#! /bin/bash set -e @@ -694,8 +716,6 @@ pipeline { -e WEB_SCREENSHOT=\"${CI_WEB}\" \ -e WEB_AUTH=\"${CI_AUTH}\" \ -e WEB_PATH=\"${CI_WEBPATH}\" \ - -e DO_REGION="ams3" \ - -e DO_BUCKET="lsio-ci" \ -t ghcr.io/linuxserver/ci:latest \ python3 test_build.py''' } @@ -734,12 +754,12 @@ pipeline { echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG} - docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest + docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:legacy docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER} fi - docker push ${PUSHIMAGE}:latest + docker push ${PUSHIMAGE}:legacy docker push ${PUSHIMAGE}:${META_TAG} docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then @@ -753,7 +773,7 @@ pipeline { docker rmi \ ${DELETEIMAGE}:${META_TAG} \ ${DELETEIMAGE}:${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:latest || : + ${DELETEIMAGE}:legacy || : if [ -n "${SEMVER}" ]; then docker rmi ${DELETEIMAGE}:${SEMVER} || : fi @@ -798,13 +818,13 @@ pipeline { fi for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} - docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest + docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-legacy docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest + docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-legacy docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest + docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-legacy docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} @@ -813,22 +833,22 @@ pipeline { fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker push ${MANIFESTIMAGE}:amd64-latest + docker push ${MANIFESTIMAGE}:amd64-legacy docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-latest + docker push ${MANIFESTIMAGE}:arm32v7-legacy docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker push ${MANIFESTIMAGE}:arm64v8-latest + docker push ${MANIFESTIMAGE}:arm64v8-legacy docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi - docker manifest push --purge ${MANIFESTIMAGE}:latest || : - docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest - docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm - docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 + docker manifest push --purge ${MANIFESTIMAGE}:legacy || : + docker manifest create ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm32v7-legacy ${MANIFESTIMAGE}:arm64v8-legacy + docker manifest annotate ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:arm32v7-legacy --os linux --arch arm + docker manifest annotate ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:arm64v8-legacy --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm @@ -843,7 +863,7 @@ pipeline { docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi - docker manifest push --purge ${MANIFESTIMAGE}:latest + docker manifest push --purge ${MANIFESTIMAGE}:legacy docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then @@ -856,13 +876,13 @@ pipeline { for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do docker rmi \ ${DELETEIMAGE}:amd64-${META_TAG} \ - ${DELETEIMAGE}:amd64-latest \ + ${DELETEIMAGE}:amd64-legacy \ ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-latest \ + ${DELETEIMAGE}:arm32v7-legacy \ ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:arm64v8-${META_TAG} \ - ${DELETEIMAGE}:arm64v8-latest \ + ${DELETEIMAGE}:arm64v8-legacy \ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : if [ -n "${SEMVER}" ]; then docker rmi \ @@ -881,7 +901,7 @@ pipeline { // If this is a public release tag it in the LS Github stage('Github-Tag-Push-Release') { when { - branch "master" + branch "legacy" expression { env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } @@ -893,17 +913,17 @@ pipeline { sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ -d '{"tag":"'${META_TAG}'",\ "object": "'${COMMIT_SHA}'",\ - "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\ + "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to legacy",\ "type": "commit",\ "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' echo "Pushing New release for Tag" sh '''#! /bin/bash echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json echo '{"tag_name":"'${META_TAG}'",\ - "target_commitish": "master",\ + "target_commitish": "legacy",\ "name": "'${META_TAG}'",\ "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start - printf '","draft": false,"prerelease": false}' >> releasebody.json + printf '","draft": false,"prerelease": true}' >> releasebody.json paste -d'\\0' start releasebody.json > releasebody.json.done curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' } @@ -949,8 +969,67 @@ pipeline { environment name: 'EXIT_STATUS', value: '' } steps { - sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \ - -d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' ''' + sh '''#! /bin/bash + # Function to retrieve JSON data from URL + get_json() { + local url="$1" + local response=$(curl -s "$url") + if [ $? -ne 0 ]; then + echo "Failed to retrieve JSON data from $url" + return 1 + fi + local json=$(echo "$response" | jq .) + if [ $? -ne 0 ]; then + echo "Failed to parse JSON data from $url" + return 1 + fi + echo "$json" + } + + build_table() { + local data="$1" + + # Get the keys in the JSON data + local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]') + + # Check if keys are empty + if [ -z "$keys" ]; then + echo "JSON report data does not contain any keys or the report does not exist." + return 1 + fi + + # Build table header + local header="| Tag | Passed |\\n| --- | --- |\\n" + + # Loop through the JSON data to build the table rows + local rows="" + for build in $keys; do + local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success") + if [ "$status" = "true" ]; then + status="✅" + else + status="❌" + fi + local row="| "$build" | "$status" |\\n" + rows="${rows}${row}" + done + + local table="${header}${rows}" + local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g') + echo "$escaped_table" + } + + # Retrieve JSON data from URL + data=$(get_json "$CI_JSON_URL") + # Create table from JSON data + table=$(build_table "$data") + echo -e "$table" + + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"''' + } } } diff --git a/README.md b/README.md index 8b8f39e7..7e5625e9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - + [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) @@ -37,7 +37,7 @@ Find us at: [![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/wireguard) [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/wireguard.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/wireguard) [![Docker Stars](https://img.shields.io/docker/stars/linuxserver/wireguard.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/wireguard) -[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-wireguard%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/master/) +[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-wireguard%2Fjob%2Flegacy%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/) [WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry. @@ -47,7 +47,7 @@ Find us at: We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/). -Simply pulling `lscr.io/linuxserver/wireguard:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags. +Simply pulling `lscr.io/linuxserver/wireguard:legacy` should retrieve the correct image for your arch, but you can also pull specific arch images via tags. The architectures supported by this image are: @@ -63,8 +63,8 @@ This image provides various versions that are available via tags. Please read th | Tag | Available | Description | | :----: | :----: |--- | -| latest | ✅ | Stable releases with support for compiling Wireguard modules | -| alpine | ✅ | Stable releases based on Alpine *without* support for compiling Wireguard modules | +| latest | ✅ | Stable releases based on Alpine *without* support for compiling Wireguard modules. | +| legacy | ✅ | Stable releases with support for compiling Wireguard modules. | ## Application Setup During container start, it will first check if the wireguard module is already installed and loaded. Kernels newer than 5.6 generally have the wireguard module built-in (along with some older custom kernels). However, the module may not be enabled. Make sure it is enabled prior to starting the container. @@ -143,7 +143,7 @@ Here are some example snippets to help you get started creating a container. version: "2.1" services: wireguard: - image: lscr.io/linuxserver/wireguard:latest + image: lscr.io/linuxserver/wireguard:legacy container_name: wireguard cap_add: - NET_ADMIN @@ -193,7 +193,7 @@ docker run -d \ -v /lib/modules:/lib/modules `#optional` \ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ --restart unless-stopped \ - lscr.io/linuxserver/wireguard:latest + lscr.io/linuxserver/wireguard:legacy ``` @@ -266,7 +266,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to * container version number * `docker inspect -f '{{ index .Config.Labels "build_version" }}' wireguard` * image version number - * `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/wireguard:latest` + * `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/wireguard:legacy` ## Updating Info @@ -284,7 +284,7 @@ Below are the instructions for updating containers: ### Via Docker Run -* Update the image: `docker pull lscr.io/linuxserver/wireguard:latest` +* Update the image: `docker pull lscr.io/linuxserver/wireguard:legacy` * Stop the running container: `docker stop wireguard` * Delete the container: `docker rm wireguard` * Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved) @@ -319,7 +319,7 @@ cd docker-wireguard docker build \ --no-cache \ --pull \ - -t lscr.io/linuxserver/wireguard:latest . + -t lscr.io/linuxserver/wireguard:legacy . ``` The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static` @@ -332,6 +332,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **26.04.23:** - Rework branches, swap alpine & ubuntu builds. * **28.01.23:** - Patch wg-quick to suppress false positive sysctl warning. * **10.01.23:** - Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used. * **26.10.22:** - Better handle unsupported peer names. Improve logging. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 1b241b7f..555659cd 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -4,9 +4,9 @@ project_name: docker-wireguard external_type: na custom_version_command: "curl -sX GET https://api.github.com/repos/WireGuard/wireguard-tools/tags | jq -r .[0].name" -release_type: stable -release_tag: latest -ls_branch: master +release_type: prerelease +release_tag: legacy +ls_branch: legacy repo_vars: - CONTAINER_NAME = 'wireguard' - BUILD_VERSION_ARG = 'WIREGUARD_VERSION' @@ -26,4 +26,4 @@ repo_vars: - CI_AUTH='user:password' - CI_WEBPATH='' sponsor_links: - - { name: "WireGuard", url: "https://www.wireguard.com/donations/" } \ No newline at end of file + - { name: "WireGuard", url: "https://www.wireguard.com/donations/" } diff --git a/readme-vars.yml b/readme-vars.yml index ccfe2ba6..4f48dbb3 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -16,8 +16,8 @@ available_architectures: # development version development_versions: true development_versions_items: - - { tag: "latest", desc: "Stable releases with support for compiling Wireguard modules" } - - { tag: "alpine", desc: "Stable releases based on Alpine *without* support for compiling Wireguard modules" } + - { tag: "latest", desc: "Stable releases based on Alpine *without* support for compiling Wireguard modules." } + - { tag: "legacy", desc: "Stable releases with support for compiling Wireguard modules." } # container parameters common_param_env_vars_enabled: true @@ -127,6 +127,7 @@ app_setup_block: | # changelog changelogs: + - { date: "26.04.23:", desc: "Rework branches, swap alpine & ubuntu builds." } - { date: "28.01.23:", desc: "Patch wg-quick to suppress false positive sysctl warning." } - { date: "10.01.23:", desc: "Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used." } - { date: "26.10.22:", desc: "Better handle unsupported peer names. Improve logging." } From 8646000e7b92ea5f651bc9332e46b4f8705c27ac Mon Sep 17 00:00:00 2001 From: TheSpad Date: Wed, 26 Apr 2023 09:52:02 +0100 Subject: [PATCH 002/117] Tweak wording --- readme-vars.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme-vars.yml b/readme-vars.yml index 4f48dbb3..c8495818 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -17,7 +17,7 @@ available_architectures: development_versions: true development_versions_items: - { tag: "latest", desc: "Stable releases based on Alpine *without* support for compiling Wireguard modules." } - - { tag: "legacy", desc: "Stable releases with support for compiling Wireguard modules." } + - { tag: "legacy", desc: "Stable releases with support for compiling Wireguard modules for older kernels." } # container parameters common_param_env_vars_enabled: true From db6efe7ec324e59a4eaf597374cc72b4bbcf52ae Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 26 Apr 2023 09:54:51 +0000 Subject: [PATCH 003/117] Bot Updating Templated Files --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7e5625e9..b71d8d61 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ This image provides various versions that are available via tags. Please read th | Tag | Available | Description | | :----: | :----: |--- | | latest | ✅ | Stable releases based on Alpine *without* support for compiling Wireguard modules. | -| legacy | ✅ | Stable releases with support for compiling Wireguard modules. | +| legacy | ✅ | Stable releases with support for compiling Wireguard modules for older kernels. | ## Application Setup During container start, it will first check if the wireguard module is already installed and loaded. Kernels newer than 5.6 generally have the wireguard module built-in (along with some older custom kernels). However, the module may not be enabled. Make sure it is enabled prior to starting the container. From c9845cce25ee03d460803cbeaa0461bddbdda3d7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 26 Apr 2023 05:08:29 -0500 Subject: [PATCH 004/117] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 70c29fad..0feaadde 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,7 +1,7 @@ NAME VERSION TYPE adduser 3.118ubuntu5 deb -apt 2.4.8 deb -apt-utils 2.4.8 deb +apt 2.4.9 deb +apt-utils 2.4.9 deb base-files 12ubuntu4.3 deb base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1 deb @@ -165,7 +165,7 @@ k8s.io/kube-openapi v0.0.0-20221012153701-1 k8s.io/utils v0.0.0-20221107191617-1a15be271d1d go-module kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.8 deb +libapt-pkg6.0 2.4.9 deb libasan6 11.3.0-1ubuntu1~22.04 deb libasan8 12.1.0-2ubuntu1~22.04 deb libassuan0 2.5.5-1build1 deb @@ -298,7 +298,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-70.77 deb +linux-libc-dev 5.15.0-71.78 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb @@ -316,7 +316,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.8 deb +openssl 3.0.2-0ubuntu1.9 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.1 deb From fdd8d3c58c768baba10fd865327ffd1a0253ea94 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 4 May 2023 11:20:17 +0000 Subject: [PATCH 005/117] Bot Updating Package Versions --- package_versions.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 0feaadde..ca581986 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -25,7 +25,7 @@ debconf 1.5.79ubuntu1 debianutils 5.5-1ubuntu2 deb diffutils 1:3.8-0ubuntu2 deb dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.3 deb +distro-info-data 0.52ubuntu0.4 deb dkms 2.8.7-2ubuntu2.1 deb dpkg 1.21.1ubuntu2.1 deb dpkg-dev 1.21.1ubuntu2.1 deb @@ -38,8 +38,8 @@ gcc-11 11.3.0-1ubuntu1~22.04 gcc-11-base 11.3.0-1ubuntu1~22.04 deb gcc-12 12.1.0-2ubuntu1~22.04 deb gcc-12-base 12.1.0-2ubuntu1~22.04 deb -git 1:2.34.1-1ubuntu1.8 deb -git-man 1:2.34.1-1ubuntu1.8 deb +git 1:2.34.1-1ubuntu1.9 deb +git-man 1:2.34.1-1ubuntu1.9 deb github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module github.com/Azure/go-autorest/autorest v0.11.28 go-module github.com/Azure/go-autorest/autorest/adal v0.9.18 go-module @@ -209,7 +209,7 @@ libgcc-s1 12.1.0-2ubuntu1~22.04 libgcrypt20 1.9.4-3ubuntu3 deb libgdbm-compat4 1.23-1 deb libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu1 deb +libglib2.0-0 2.72.4-0ubuntu2 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb libgnutls30 3.7.3-4ubuntu1.2 deb libgomp1 12.1.0-2ubuntu1~22.04 deb @@ -280,7 +280,7 @@ libsmartcols1 2.37.2-4ubuntu3 libsqlite3-0 3.37.2-2ubuntu0.1 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2build1 deb -libssl3 3.0.2-0ubuntu1.8 deb +libssl3 3.0.2-0ubuntu1.9 deb libstdc++-11-dev 11.3.0-1ubuntu1~22.04 deb libstdc++6 12.1.0-2ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.9 deb @@ -341,7 +341,7 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.3 sigs.k8s.io/yaml v1.3.0 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb -tzdata 2023c-0ubuntu0.22.04.0 deb +tzdata 2023c-0ubuntu0.22.04.1 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb util-linux 2.37.2-4ubuntu3 deb From 99df93cbfaaf915e93c81d590eb0d3b53c116e2b Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 18 May 2023 11:18:22 +0000 Subject: [PATCH 006/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index ca581986..14574bb1 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -298,7 +298,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-71.78 deb +linux-libc-dev 5.15.0-72.79 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 3b5120663e55699bcc93ad7ba8380d01e672d440 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 25 May 2023 11:17:08 +0000 Subject: [PATCH 007/117] Bot Updating Templated Files --- Jenkinsfile | 121 ++++++++++++++++++++++------------------------------ 1 file changed, 50 insertions(+), 71 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1c90a20c..21401d81 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,7 +39,12 @@ pipeline { // Setup all the basic environment variables needed for the build stage("Set ENV Variables base"){ steps{ - sh '''docker pull quay.io/skopeo/stable:v1 || : ''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( @@ -204,12 +209,12 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } else { - env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } - env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' @@ -337,6 +342,8 @@ pipeline { git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then + sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml fi if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then cd ${TEMPDIR}/unraid/templates/ @@ -428,8 +435,7 @@ pipeline { } steps{ sh '''#! /bin/bash - set -e - PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/wireguard") | .uuid') + PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/wireguard") | .uuid' || :) if [ -z "${PACKAGE_UUID}" ]; then echo "Adding package to Scarf.sh" curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \ @@ -539,9 +545,12 @@ pipeline { retry(5) { sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" } - sh '''docker rmi \ - ${IMAGE}:arm32v7-${META_TAG} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' } } stage('Build ARM64') { @@ -574,9 +583,12 @@ pipeline { retry(5) { sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" } - sh '''docker rmi \ - ${IMAGE}:arm64v8-${META_TAG} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' } } } @@ -637,13 +649,6 @@ pipeline { environment name: 'EXIT_STATUS', value: '' } steps { - sh '''#! /bin/bash - echo "Packages were updated. Cleaning up the image and exiting." - if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then - docker rmi ${IMAGE}:amd64-${META_TAG} - else - docker rmi ${IMAGE}:${META_TAG} - fi''' script{ env.EXIT_STATUS = 'ABORTED' } @@ -661,13 +666,6 @@ pipeline { } } steps { - sh '''#! /bin/bash - echo "There are no package updates. Cleaning up the image and exiting." - if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then - docker rmi ${IMAGE}:amd64-${META_TAG} - else - docker rmi ${IMAGE}:${META_TAG} - fi''' script{ env.EXIT_STATUS = 'ABORTED' } @@ -768,17 +766,6 @@ pipeline { done ''' } - sh '''#! /bin/bash - for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker rmi \ - ${DELETEIMAGE}:${META_TAG} \ - ${DELETEIMAGE}:${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:legacy || : - if [ -n "${SEMVER}" ]; then - docker rmi ${DELETEIMAGE}:${SEMVER} || : - fi - done - ''' } } } @@ -872,29 +859,6 @@ pipeline { done ''' } - sh '''#! /bin/bash - for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker rmi \ - ${DELETEIMAGE}:amd64-${META_TAG} \ - ${DELETEIMAGE}:amd64-legacy \ - ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-legacy \ - ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:arm64v8-${META_TAG} \ - ${DELETEIMAGE}:arm64v8-legacy \ - ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : - if [ -n "${SEMVER}" ]; then - docker rmi \ - ${DELETEIMAGE}:amd64-${SEMVER} \ - ${DELETEIMAGE}:arm32v7-${SEMVER} \ - ${DELETEIMAGE}:arm64v8-${SEMVER} || : - fi - done - docker rmi \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || : - ''' } } } @@ -965,7 +929,6 @@ pipeline { stage('Pull Request Comment') { when { not {environment name: 'CHANGE_ID', value: ''} - environment name: 'CI', value: 'true' environment name: 'EXIT_STATUS', value: '' } steps { @@ -1019,16 +982,24 @@ pipeline { echo "$escaped_table" } - # Retrieve JSON data from URL - data=$(get_json "$CI_JSON_URL") - # Create table from JSON data - table=$(build_table "$data") - echo -e "$table" + if [[ "${CI}" = "true" ]]; then + # Retrieve JSON data from URL + data=$(get_json "$CI_JSON_URL") + # Create table from JSON data + table=$(build_table "$data") + echo -e "$table" - curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ - -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"''' + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}" + else + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}" + fi + ''' } } @@ -1055,6 +1026,14 @@ pipeline { } } cleanup { + sh '''#! /bin/bash + echo "Performing docker system prune!!" + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : + ''' cleanWs() } } From 53bf09600d5fa6f04fd8f51eb167f279bd57b012 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 25 May 2023 11:22:12 +0000 Subject: [PATCH 008/117] Bot Updating Package Versions --- package_versions.txt | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 14574bb1..57e44a34 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -6,9 +6,9 @@ base-files 12ubuntu4.3 base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1 deb bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.1 deb -binutils-common 2.38-4ubuntu2.1 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.1 deb +binutils 2.38-4ubuntu2.2 deb +binutils-common 2.38-4ubuntu2.2 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.2 deb bsdutils 1:2.37.2-4ubuntu3 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb @@ -16,7 +16,7 @@ ca-certificates 20211016ubuntu0.22.04.1 cloud.google.com/go/compute/metadata v0.2.3 go-module coreutils 8.32-4.1ubuntu1 deb cpp 4:11.2.0-1ubuntu1 deb -cpp-11 11.3.0-1ubuntu1~22.04 deb +cpp-11 11.3.0-1ubuntu1~22.04.1 deb cpp-12 12.1.0-2ubuntu1~22.04 deb curl 7.81.0-1ubuntu1.10 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb @@ -28,14 +28,14 @@ dirmngr 2.2.27-3ubuntu2.1 distro-info-data 0.52ubuntu0.4 deb dkms 2.8.7-2ubuntu2.1 deb dpkg 1.21.1ubuntu2.1 deb -dpkg-dev 1.21.1ubuntu2.1 deb +dpkg-dev 1.21.1ubuntu2.2 deb e2fsprogs 1.46.5-2ubuntu1.1 deb findutils 4.8.0-1ubuntu3 deb g++ 4:11.2.0-1ubuntu1 deb -g++-11 11.3.0-1ubuntu1~22.04 deb +g++-11 11.3.0-1ubuntu1~22.04.1 deb gcc 4:11.2.0-1ubuntu1 deb -gcc-11 11.3.0-1ubuntu1~22.04 deb -gcc-11-base 11.3.0-1ubuntu1~22.04 deb +gcc-11 11.3.0-1ubuntu1~22.04.1 deb +gcc-11-base 11.3.0-1ubuntu1~22.04.1 deb gcc-12 12.1.0-2ubuntu1~22.04 deb gcc-12-base 12.1.0-2ubuntu1~22.04 deb git 1:2.34.1-1ubuntu1.9 deb @@ -166,14 +166,14 @@ k8s.io/utils v0.0.0-20221107191617-1 kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb libapt-pkg6.0 2.4.9 deb -libasan6 11.3.0-1ubuntu1~22.04 deb +libasan6 11.3.0-1ubuntu1~22.04.1 deb libasan8 12.1.0-2ubuntu1~22.04 deb libassuan0 2.5.5-1build1 deb libatomic1 12.1.0-2ubuntu1~22.04 deb libattr1 1:2.5.1-1build1 deb libaudit-common 1:3.0.7-1build1 deb libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.1 deb +libbinutils 2.38-4ubuntu2.2 deb libblkid1 2.37.2-4ubuntu3 deb libbpf0 1:0.5.0-1ubuntu22.04.1 deb libbrotli1 1.0.9-2build6 deb @@ -190,20 +190,20 @@ libcc1-0 12.1.0-2ubuntu1~22.04 libcom-err2 1.46.5-2ubuntu1.1 deb libcrypt-dev 1:4.4.27-1 deb libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.1 deb -libctf0 2.38-4ubuntu2.1 deb +libctf-nobfd0 2.38-4ubuntu2.2 deb +libctf0 2.38-4ubuntu2.2 deb libcurl3-gnutls 7.81.0-1ubuntu1.10 deb libcurl4 7.81.0-1ubuntu1.10 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb -libdpkg-perl 1.21.1ubuntu2.1 deb +libdpkg-perl 1.21.1ubuntu2.2 deb libelf-dev 0.186-1build1 deb libelf1 0.186-1build1 deb liberror-perl 0.17029-1 deb libexpat1 2.4.7-1ubuntu0.2 deb libext2fs2 1.46.5-2ubuntu1.1 deb libffi8 3.4.2-4 deb -libgcc-11-dev 11.3.0-1ubuntu1~22.04 deb +libgcc-11-dev 11.3.0-1ubuntu1~22.04.1 deb libgcc-12-dev 12.1.0-2ubuntu1~22.04 deb libgcc-s1 12.1.0-2ubuntu1~22.04 deb libgcrypt20 1.9.4-3ubuntu3 deb @@ -281,7 +281,7 @@ libsqlite3-0 3.37.2-2ubuntu0.1 libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2build1 deb libssl3 3.0.2-0ubuntu1.9 deb -libstdc++-11-dev 11.3.0-1ubuntu1~22.04 deb +libstdc++-11-dev 11.3.0-1ubuntu1~22.04.1 deb libstdc++6 12.1.0-2ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.9 deb libtasn1-6 4.18.0-4build1 deb @@ -289,7 +289,7 @@ libtinfo6 6.3-2 libtirpc-common 1.3.2-2ubuntu0.1 deb libtirpc-dev 1.3.2-2ubuntu0.1 deb libtirpc3 1.3.2-2ubuntu0.1 deb -libtsan0 11.3.0-1ubuntu1~22.04 deb +libtsan0 11.3.0-1ubuntu1~22.04.1 deb libtsan2 12.1.0-2ubuntu1~22.04 deb libubsan1 12.1.0-2ubuntu1~22.04 deb libudev1 249.11-0ubuntu3.9 deb From 9e12dd7aab7cfebf55ec63228c13da5e1e23345e Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 1 Jun 2023 11:18:50 +0000 Subject: [PATCH 009/117] Bot Updating Package Versions --- package_versions.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 57e44a34..f4a13f2b 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -12,7 +12,7 @@ binutils-x86-64-linux-gnu 2.38-4ubuntu2.2 bsdutils 1:2.37.2-4ubuntu3 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb -ca-certificates 20211016ubuntu0.22.04.1 deb +ca-certificates 20230311ubuntu0.22.04.1 deb cloud.google.com/go/compute/metadata v0.2.3 go-module coreutils 8.32-4.1ubuntu1 deb cpp 4:11.2.0-1ubuntu1 deb @@ -154,7 +154,7 @@ hostname 3.23ubuntu2 ifupdown 0.8.36+nmu1ubuntu3 deb init-system-helpers 1.62 deb iproute2 5.15.0-1ubuntu2 deb -iptables 1.8.7-1ubuntu5 deb +iptables 1.8.7-1ubuntu5.1 deb iputils-ping 3:20211215-1 deb jq 1.6-2.1ubuntu3 deb k8s.io/api v0.26.1 go-module @@ -217,8 +217,8 @@ libgpg-error0 1.43-3 libgssapi-krb5-2 1.19.2-2ubuntu0.1 deb libhogweed6 3.7.3-1build2 deb libidn2-0 2.3.2-2build1 deb -libip4tc2 1.8.7-1ubuntu5 deb -libip6tc2 1.8.7-1ubuntu5 deb +libip4tc2 1.8.7-1ubuntu5.1 deb +libip6tc2 1.8.7-1ubuntu5.1 deb libisl23 0.24-2build1 deb libitm1 12.1.0-2ubuntu1~22.04 deb libjq1 1.6-2.1ubuntu3 deb @@ -295,10 +295,10 @@ libubsan1 12.1.0-2ubuntu1~22.04 libudev1 249.11-0ubuntu3.9 deb libunistring2 1.0-1 deb libuuid1 2.37.2-4ubuntu3 deb -libxtables12 1.8.7-1ubuntu5 deb +libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-72.79 deb +linux-libc-dev 5.15.0-73.80 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb @@ -316,7 +316,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.9 deb +openssl 3.0.2-0ubuntu1.10 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.1 deb From 7cbf60b0322e85a4b0a13302f25efe7fe061965c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 8 Jun 2023 11:21:09 +0000 Subject: [PATCH 010/117] Bot Updating Package Versions --- package_versions.txt | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index f4a13f2b..99d11351 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -27,7 +27,7 @@ diffutils 1:3.8-0ubuntu2 dirmngr 2.2.27-3ubuntu2.1 deb distro-info-data 0.52ubuntu0.4 deb dkms 2.8.7-2ubuntu2.1 deb -dpkg 1.21.1ubuntu2.1 deb +dpkg 1.21.1ubuntu2.2 deb dpkg-dev 1.21.1ubuntu2.2 deb e2fsprogs 1.46.5-2ubuntu1.1 deb findutils 4.8.0-1ubuntu3 deb @@ -214,7 +214,7 @@ libgmp10 2:6.2.1+dfsg-3ubuntu1 libgnutls30 3.7.3-4ubuntu1.2 deb libgomp1 12.1.0-2ubuntu1~22.04 deb libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.1 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb libhogweed6 3.7.3-1build2 deb libidn2-0 2.3.2-2build1 deb libip4tc2 1.8.7-1ubuntu5.1 deb @@ -222,11 +222,11 @@ libip6tc2 1.8.7-1ubuntu5.1 libisl23 0.24-2build1 deb libitm1 12.1.0-2ubuntu1~22.04 deb libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.1 deb +libk5crypto3 1.19.2-2ubuntu0.2 deb libkeyutils1 1.6.1-2ubuntu3 deb libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.1 deb -libkrb5support0 1.19.2-2ubuntu0.1 deb +libkrb5-3 1.19.2-2ubuntu0.2 deb +libkrb5support0 1.19.2-2ubuntu0.2 deb libksba8 1.6.0-2ubuntu0.2 deb libldap-2.5-0 2.5.14+dfsg-0ubuntu0.22.04.2 deb libldap-common 2.5.14+dfsg-0ubuntu0.22.04.2 deb @@ -239,8 +239,8 @@ libmount1 2.37.2-4ubuntu3 libmpc3 1.2.1-2build1 deb libmpdec3 2.5.1-2build2 deb libmpfr6 4.1.0-3build3 deb -libncurses6 6.3-2 deb -libncursesw6 6.3-2 deb +libncurses6 6.3-2ubuntu0.1 deb +libncursesw6 6.3-2ubuntu0.1 deb libnetfilter-conntrack3 1.0.9-1 deb libnettle8 3.7.3-1build2 deb libnfnetlink0 1.0.1-3build3 deb @@ -257,13 +257,13 @@ libpam-runtime 1.4.0-11ubuntu2.3 libpam0g 1.4.0-11ubuntu2.3 deb libpcre2-8-0 10.39-3ubuntu0.1 deb libpcre3 2:8.39-13ubuntu0.22.04.1 deb -libperl5.34 5.34.0-3ubuntu1.1 deb +libperl5.34 5.34.0-3ubuntu1.2 deb libpng16-16 1.6.37-3build5 deb libprocps8 2:3.3.17-6ubuntu2 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.6-1~22.04.2ubuntu1 deb -libpython3.10-stdlib 3.10.6-1~22.04.2ubuntu1 deb +libpython3.10-minimal 3.10.6-1~22.04.2ubuntu1.1 deb +libpython3.10-stdlib 3.10.6-1~22.04.2ubuntu1.1 deb libqrencode4 4.1.1-1 deb libquadmath0 12.1.0-2ubuntu1~22.04 deb libreadline8 8.1.2-1 deb @@ -279,13 +279,13 @@ libsepol2 3.3-1build1 libsmartcols1 2.37.2-4ubuntu3 deb libsqlite3-0 3.37.2-2ubuntu0.1 deb libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2build1 deb -libssl3 3.0.2-0ubuntu1.9 deb +libssh-4 0.9.6-2ubuntu0.22.04.1 deb +libssl3 3.0.2-0ubuntu1.10 deb libstdc++-11-dev 11.3.0-1ubuntu1~22.04.1 deb libstdc++6 12.1.0-2ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.9 deb libtasn1-6 4.18.0-4build1 deb -libtinfo6 6.3-2 deb +libtinfo6 6.3-2ubuntu0.1 deb libtirpc-common 1.3.2-2ubuntu0.1 deb libtirpc-dev 1.3.2-2ubuntu0.1 deb libtirpc3 1.3.2-2ubuntu0.1 deb @@ -309,8 +309,8 @@ make 4.3-4.1build1 mawk 1.3.4.20200120-3 deb media-types 7.0.0 deb mount 2.37.2-4ubuntu3 deb -ncurses-base 6.3-2 deb -ncurses-bin 6.3-2 deb +ncurses-base 6.3-2ubuntu0.1 deb +ncurses-bin 6.3-2ubuntu0.1 deb net-tools 1.60+git20181103.0eebece-1ubuntu5 deb netbase 6.3 deb netcat 1.218-4ubuntu1 deb @@ -319,9 +319,9 @@ openresolv 3.12.0-2 openssl 3.0.2-0ubuntu1.10 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb -perl 5.34.0-3ubuntu1.1 deb -perl-base 5.34.0-3ubuntu1.1 deb -perl-modules-5.34 5.34.0-3ubuntu1.1 deb +perl 5.34.0-3ubuntu1.2 deb +perl-base 5.34.0-3ubuntu1.2 deb +perl-modules-5.34 5.34.0-3ubuntu1.2 deb pinentry-curses 1.1.1-1build2 deb pkg-config 0.29.2-1ubuntu3 deb procps 2:3.3.17-6ubuntu2 deb @@ -329,8 +329,8 @@ publicsuffix 20211207.1025-1 python 3.10.6 binary python3 3.10.6-1~22.04 deb python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.6-1~22.04.2ubuntu1 deb -python3.10-minimal 3.10.6-1~22.04.2ubuntu1 deb +python3.10 3.10.6-1~22.04.2ubuntu1.1 deb +python3.10-minimal 3.10.6-1~22.04.2ubuntu1.1 deb qrencode 4.1.1-1 deb readline-common 8.1.2-1 deb rpcsvc-proto 1.4.2-0ubuntu6 deb @@ -341,7 +341,7 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.3 sigs.k8s.io/yaml v1.3.0 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb -tzdata 2023c-0ubuntu0.22.04.1 deb +tzdata 2023c-0ubuntu0.22.04.2 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb util-linux 2.37.2-4ubuntu3 deb From 68eebdf27e64905127a7309127dd3449ecb85871 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 15 Jun 2023 11:20:21 +0000 Subject: [PATCH 011/117] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 99d11351..b0202c2d 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -185,7 +185,7 @@ libc6 2.35-0ubuntu3.1 libc6-dev 2.35-0ubuntu3.1 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1build3 deb -libcap2-bin 1:2.44-1build3 deb +libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb libcc1-0 12.1.0-2ubuntu1~22.04 deb libcom-err2 1.46.5-2ubuntu1.1 deb libcrypt-dev 1:4.4.27-1 deb @@ -209,7 +209,7 @@ libgcc-s1 12.1.0-2ubuntu1~22.04 libgcrypt20 1.9.4-3ubuntu3 deb libgdbm-compat4 1.23-1 deb libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2 deb +libglib2.0-0 2.72.4-0ubuntu2.2 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb libgnutls30 3.7.3-4ubuntu1.2 deb libgomp1 12.1.0-2ubuntu1~22.04 deb From 045364b890bc9727cad6e837f395c1db916f2c32 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 22 Jun 2023 11:18:53 +0000 Subject: [PATCH 012/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index b0202c2d..423b98d6 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -298,7 +298,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-73.80 deb +linux-libc-dev 5.15.0-75.82 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 44220d0e9ba3846a519248a5bcd5151e682af127 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Sat, 24 Jun 2023 17:25:50 +0100 Subject: [PATCH 013/117] Deprecate armhf --- .github/ISSUE_TEMPLATE/issue.bug.yml | 1 - Dockerfile.armhf | 67 ---------------- Jenkinsfile | 78 ++++--------------- README.md | 3 +- jenkins-vars.yml | 1 + readme-vars.yml | 2 +- root/app/show-peer | 5 +- root/defaults/Corefile | 2 +- root/defaults/peer.conf | 2 +- .../s6-rc.d/init-wireguard-confs/type | 2 +- .../s6-rc.d/init-wireguard-confs/up | 2 +- .../s6-rc.d/init-wireguard-module/run | 1 + .../s6-rc.d/init-wireguard-module/type | 2 +- .../s6-rc.d/init-wireguard-module/up | 2 +- .../s6-rc.d/svc-coredns/notification-fd | 2 +- root/etc/s6-overlay/s6-rc.d/svc-coredns/run | 1 + root/etc/s6-overlay/s6-rc.d/svc-coredns/type | 2 +- .../etc/s6-overlay/s6-rc.d/svc-wireguard/down | 2 +- .../s6-overlay/s6-rc.d/svc-wireguard/finish | 1 + root/etc/s6-overlay/s6-rc.d/svc-wireguard/run | 1 + .../etc/s6-overlay/s6-rc.d/svc-wireguard/type | 2 +- root/etc/s6-overlay/s6-rc.d/svc-wireguard/up | 2 +- 22 files changed, 39 insertions(+), 144 deletions(-) delete mode 100644 Dockerfile.armhf diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml index 59a10f56..ce3d19af 100644 --- a/.github/ISSUE_TEMPLATE/issue.bug.yml +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -53,7 +53,6 @@ body: options: - x86-64 - arm64 - - armhf validations: required: true - type: textarea diff --git a/Dockerfile.armhf b/Dockerfile.armhf deleted file mode 100644 index abe3a0e0..00000000 --- a/Dockerfile.armhf +++ /dev/null @@ -1,67 +0,0 @@ -# syntax=docker/dockerfile:1 - -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy - -# set version label -ARG BUILD_DATE -ARG VERSION -ARG WIREGUARD_RELEASE -LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="aptalca" - -ENV DEBIAN_FRONTEND="noninteractive" - -RUN \ - echo "**** install dependencies ****" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - bc \ - build-essential \ - dkms \ - git \ - gnupg \ - ifupdown \ - iproute2 \ - iptables \ - iputils-ping \ - libc6 \ - libelf-dev \ - net-tools \ - openresolv \ - perl \ - pkg-config \ - qrencode && \ - update-alternatives --set iptables /usr/sbin/iptables-legacy && \ - echo "**** install wireguard-tools ****" && \ - if [ -z ${WIREGUARD_RELEASE+x} ]; then \ - WIREGUARD_RELEASE=$(curl -sX GET "https://api.github.com/repos/WireGuard/wireguard-tools/tags" \ - | jq -r .[0].name); \ - fi && \ - cd /app && \ - git clone https://git.zx2c4.com/wireguard-linux-compat && \ - git clone https://git.zx2c4.com/wireguard-tools && \ - cd wireguard-tools && \ - git checkout "${WIREGUARD_RELEASE}" && \ - sed -i 's|\[\[ $proto == -4 \]\] && cmd sysctl -q net\.ipv4\.conf\.all\.src_valid_mark=1|[[ $proto == -4 ]] \&\& [[ $(sysctl -n net.ipv4.conf.all.src_valid_mark) != 1 ]] \&\& cmd sysctl -q net.ipv4.conf.all.src_valid_mark=1|' src/wg-quick/linux.bash && \ - make -C src -j$(nproc) && \ - make -C src install && \ - echo "**** install CoreDNS ****" && \ - COREDNS_VERSION=$(curl -sX GET "https://api.github.com/repos/coredns/coredns/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]' | awk '{print substr($1,2); }') && \ - curl -o \ - /tmp/coredns.tar.gz -L \ - "https://github.com/coredns/coredns/releases/download/v${COREDNS_VERSION}/coredns_${COREDNS_VERSION}_linux_arm.tgz" && \ - tar xf \ - /tmp/coredns.tar.gz -C \ - /app && \ - echo "**** clean up ****" && \ - rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/* - -# add local files -COPY /root / - -# ports and volumes -EXPOSE 51820/udp diff --git a/Jenkinsfile b/Jenkinsfile index 21401d81..b230a479 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -163,7 +163,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } @@ -186,7 +186,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } @@ -209,7 +209,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm32v7-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } else { env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } @@ -515,44 +515,6 @@ pipeline { --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } - stage('Build ARMHF') { - agent { - label 'ARMHF' - } - steps { - echo "Running on node: ${NODE_NAME}" - echo 'Logging into Github' - sh '''#! /bin/bash - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - ''' - sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf" - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-wireguard/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-wireguard\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-wireguard\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Wireguard\" \ - --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ - --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - retry(5) { - sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - } - sh '''#! /bin/bash - containers=$(docker ps -aq) - if [[ -n "${containers}" ]]; then - docker stop ${containers} - fi - docker system prune -af --volumes || : ''' - } - } stage('Build ARM64') { agent { label 'ARM64' @@ -693,9 +655,7 @@ pipeline { set -e docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi docker run --rm \ @@ -798,8 +758,6 @@ pipeline { echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi @@ -807,49 +765,47 @@ pipeline { docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-legacy docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-legacy - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-legacy docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-legacy - docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-legacy - docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker push ${MANIFESTIMAGE}:arm64v8-legacy docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} - docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker manifest push --purge ${MANIFESTIMAGE}:legacy || : - docker manifest create ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm32v7-legacy ${MANIFESTIMAGE}:arm64v8-legacy - docker manifest annotate ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:arm32v7-legacy --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm64v8-legacy docker manifest annotate ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:arm64v8-legacy --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 if [ -n "${SEMVER}" ]; then docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi + token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token') + digest=$(curl -s \ + --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ + --header "Authorization: Bearer ${token}" \ + "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-legacy") + if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-legacy || : + docker manifest create ${MANIFESTIMAGE}:arm32v7-legacy ${MANIFESTIMAGE}:amd64-legacy + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-legacy + fi docker manifest push --purge ${MANIFESTIMAGE}:legacy docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} diff --git a/README.md b/README.md index b71d8d61..05372b68 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ The architectures supported by this image are: | :----: | :----: | ---- | | x86-64 | ✅ | amd64-\ | | arm64 | ✅ | arm64v8-\ | -| armhf | ✅ | arm32v7-\ | +| armhf | ❌ | | ## Version Tags @@ -332,6 +332,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **24.06.23:** - Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf). * **26.04.23:** - Rework branches, swap alpine & ubuntu builds. * **28.01.23:** - Patch wg-quick to suppress false positive sysctl warning. * **10.01.23:** - Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 555659cd..e97412e9 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -7,6 +7,7 @@ custom_version_command: "curl -sX GET https://api.github.com/repos/WireGuard/wir release_type: prerelease release_tag: legacy ls_branch: legacy +build_armhf: false repo_vars: - CONTAINER_NAME = 'wireguard' - BUILD_VERSION_ARG = 'WIREGUARD_VERSION' diff --git a/readme-vars.yml b/readme-vars.yml index c8495818..87ce15c1 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -11,7 +11,6 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_ available_architectures: - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - - { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"} # development version development_versions: true @@ -127,6 +126,7 @@ app_setup_block: | # changelog changelogs: + - { date: "24.06.23:", desc: "Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)." } - { date: "26.04.23:", desc: "Rework branches, swap alpine & ubuntu builds." } - { date: "28.01.23:", desc: "Patch wg-quick to suppress false positive sysctl warning." } - { date: "10.01.23:", desc: "Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used." } diff --git a/root/app/show-peer b/root/app/show-peer index a4523f9e..f44b9e58 100755 --- a/root/app/show-peer +++ b/root/app/show-peer @@ -1,6 +1,7 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash -if [ ! $# -gt 0 ]; then +if [[ ! $# -gt 0 ]]; then echo "You need to specify which peers to show" exit 0 fi @@ -18,4 +19,4 @@ for i in "$@"; do else echo "PEER ${i} is not active" fi -done \ No newline at end of file +done diff --git a/root/defaults/Corefile b/root/defaults/Corefile index ded974e1..12da8187 100644 --- a/root/defaults/Corefile +++ b/root/defaults/Corefile @@ -2,4 +2,4 @@ loop health forward . /etc/resolv.conf -} \ No newline at end of file +} diff --git a/root/defaults/peer.conf b/root/defaults/peer.conf index cd6e3aec..d987dba9 100644 --- a/root/defaults/peer.conf +++ b/root/defaults/peer.conf @@ -8,4 +8,4 @@ DNS = ${PEERDNS} PublicKey = $(cat /config/server/publickey-server) PresharedKey = $(cat /config/${PEER_ID}/presharedkey-${PEER_ID}) Endpoint = ${SERVERURL}:${SERVERPORT} -AllowedIPs = ${ALLOWEDIPS} \ No newline at end of file +AllowedIPs = ${ALLOWEDIPS} diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/type b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/type index 3d92b15f..bdd22a18 100644 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/type +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/type @@ -1 +1 @@ -oneshot \ No newline at end of file +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/up b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/up index 0f3fa819..892cce9e 100644 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/up +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/up @@ -1 +1 @@ -/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run \ No newline at end of file +/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/run b/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/run index 97bfcb3d..fcfe7132 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/run +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash mkdir -p /config/{templates,coredns} diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/type b/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/type index 3d92b15f..bdd22a18 100644 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/type +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/type @@ -1 +1 @@ -oneshot \ No newline at end of file +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/up b/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/up index 86cfd762..b197ae8e 100644 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/up +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-module/up @@ -1 +1 @@ -/etc/s6-overlay/s6-rc.d/init-wireguard-module/run \ No newline at end of file +/etc/s6-overlay/s6-rc.d/init-wireguard-module/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-coredns/notification-fd b/root/etc/s6-overlay/s6-rc.d/svc-coredns/notification-fd index e440e5c8..00750edc 100644 --- a/root/etc/s6-overlay/s6-rc.d/svc-coredns/notification-fd +++ b/root/etc/s6-overlay/s6-rc.d/svc-coredns/notification-fd @@ -1 +1 @@ -3 \ No newline at end of file +3 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-coredns/run b/root/etc/s6-overlay/s6-rc.d/svc-coredns/run index d1276534..3a6e381a 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-coredns/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-coredns/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash if netstat -apn | grep -q ":53 "; then USE_COREDNS="false" diff --git a/root/etc/s6-overlay/s6-rc.d/svc-coredns/type b/root/etc/s6-overlay/s6-rc.d/svc-coredns/type index 1780f9f4..5883cff0 100644 --- a/root/etc/s6-overlay/s6-rc.d/svc-coredns/type +++ b/root/etc/s6-overlay/s6-rc.d/svc-coredns/type @@ -1 +1 @@ -longrun \ No newline at end of file +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/down b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/down index 1bf02103..5ef932fc 100644 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/down +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/down @@ -1 +1 @@ -/etc/s6-overlay/s6-rc.d/svc-wireguard/finish \ No newline at end of file +/etc/s6-overlay/s6-rc.d/svc-wireguard/finish diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish index 3403cb90..9a5d2135 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish @@ -1,3 +1,4 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash wg-quick down wg0 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run index 8f4e38ae..47ce7565 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run @@ -1,3 +1,4 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash wg-quick up wg0 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/type b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/type index 3d92b15f..bdd22a18 100644 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/type +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/type @@ -1 +1 @@ -oneshot \ No newline at end of file +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/up b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/up index 5689d7d7..47b67d6b 100644 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/up +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/up @@ -1 +1 @@ -/etc/s6-overlay/s6-rc.d/svc-wireguard/run \ No newline at end of file +/etc/s6-overlay/s6-rc.d/svc-wireguard/run From d854bbddfc4e7e66985246353a3f218246cb553e Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 29 Jun 2023 11:20:10 +0000 Subject: [PATCH 014/117] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 423b98d6..2306dfae 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -184,7 +184,7 @@ libc-dev-bin 2.35-0ubuntu3.1 libc6 2.35-0ubuntu3.1 deb libc6-dev 2.35-0ubuntu3.1 deb libcap-ng0 0.7.9-2.2build3 deb -libcap2 1:2.44-1build3 deb +libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb libcc1-0 12.1.0-2ubuntu1~22.04 deb libcom-err2 1.46.5-2ubuntu1.1 deb @@ -298,7 +298,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-75.82 deb +linux-libc-dev 5.15.0-76.83 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From da23e633803f8bec2dfc29eb30885fe1dd8deb1a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 6 Jul 2023 11:20:35 +0000 Subject: [PATCH 015/117] Bot Updating Templated Files --- Jenkinsfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b230a479..d7b9454c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -280,7 +280,7 @@ pipeline { echo "Jenkinsfile is up to date." fi # Stage 2 - Delete old templates - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml" + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -316,12 +316,13 @@ pipeline { mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : + cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : cd ${TEMPDIR}/repo/${LS_REPO}/ if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then echo ".jenkins-external" >> .gitignore git add .gitignore fi - git add ${TEMPLATED_FILES} + git add readme-vars.yml ${TEMPLATED_FILES} git commit -m 'Bot Updating Templated Files' git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} From 51613cf5e5d1bf61c3fd73e0cfeea71b0b4496e8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 13 Jul 2023 11:22:49 +0000 Subject: [PATCH 016/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 2306dfae..ebd7f304 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -26,7 +26,7 @@ debianutils 5.5-1ubuntu2 diffutils 1:3.8-0ubuntu2 deb dirmngr 2.2.27-3ubuntu2.1 deb distro-info-data 0.52ubuntu0.4 deb -dkms 2.8.7-2ubuntu2.1 deb +dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.2 deb dpkg-dev 1.21.1ubuntu2.2 deb e2fsprogs 1.46.5-2ubuntu1.1 deb From 4ef3671f4510e210c21a9341e4fc0683a0344854 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 20 Jul 2023 11:21:15 +0000 Subject: [PATCH 017/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index ebd7f304..9b2374da 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -192,7 +192,7 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.2 deb libctf0 2.38-4ubuntu2.2 deb -libcurl3-gnutls 7.81.0-1ubuntu1.10 deb +libcurl3-gnutls 7.81.0-1ubuntu1.13 deb libcurl4 7.81.0-1ubuntu1.10 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb From da6b3131fe5afb64f958031a5737d73e7f5ff180 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 27 Jul 2023 11:20:05 +0000 Subject: [PATCH 018/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 9b2374da..3bac19ed 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -18,7 +18,7 @@ coreutils 8.32-4.1ubuntu1 cpp 4:11.2.0-1ubuntu1 deb cpp-11 11.3.0-1ubuntu1~22.04.1 deb cpp-12 12.1.0-2ubuntu1~22.04 deb -curl 7.81.0-1ubuntu1.10 deb +curl 7.81.0-1ubuntu1.13 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -193,7 +193,7 @@ libcrypt1 1:4.4.27-1 libctf-nobfd0 2.38-4ubuntu2.2 deb libctf0 2.38-4ubuntu2.2 deb libcurl3-gnutls 7.81.0-1ubuntu1.13 deb -libcurl4 7.81.0-1ubuntu1.10 deb +libcurl4 7.81.0-1ubuntu1.13 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.2 deb @@ -298,7 +298,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-76.83 deb +linux-libc-dev 5.15.0-78.85 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 1f0296f0941bce01d7dcdaf48ba60b8ade7df554 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 3 Aug 2023 11:19:33 +0000 Subject: [PATCH 019/117] Bot Updating Package Versions --- package_versions.txt | 72 ++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 3bac19ed..e60fc39c 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -6,9 +6,9 @@ base-files 12ubuntu4.3 base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1 deb bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.2 deb -binutils-common 2.38-4ubuntu2.2 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.2 deb +binutils 2.38-4ubuntu2.3 deb +binutils-common 2.38-4ubuntu2.3 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.3 deb bsdutils 1:2.37.2-4ubuntu3 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb @@ -16,8 +16,8 @@ ca-certificates 20230311ubuntu0.22.04.1 cloud.google.com/go/compute/metadata v0.2.3 go-module coreutils 8.32-4.1ubuntu1 deb cpp 4:11.2.0-1ubuntu1 deb -cpp-11 11.3.0-1ubuntu1~22.04.1 deb -cpp-12 12.1.0-2ubuntu1~22.04 deb +cpp-11 11.4.0-1ubuntu1~22.04 deb +cpp-12 12.3.0-1ubuntu1~22.04 deb curl 7.81.0-1ubuntu1.13 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb @@ -32,12 +32,12 @@ dpkg-dev 1.21.1ubuntu2.2 e2fsprogs 1.46.5-2ubuntu1.1 deb findutils 4.8.0-1ubuntu3 deb g++ 4:11.2.0-1ubuntu1 deb -g++-11 11.3.0-1ubuntu1~22.04.1 deb +g++-11 11.4.0-1ubuntu1~22.04 deb gcc 4:11.2.0-1ubuntu1 deb -gcc-11 11.3.0-1ubuntu1~22.04.1 deb -gcc-11-base 11.3.0-1ubuntu1~22.04.1 deb -gcc-12 12.1.0-2ubuntu1~22.04 deb -gcc-12-base 12.1.0-2ubuntu1~22.04 deb +gcc-11 11.4.0-1ubuntu1~22.04 deb +gcc-11-base 11.4.0-1ubuntu1~22.04 deb +gcc-12 12.3.0-1ubuntu1~22.04 deb +gcc-12-base 12.3.0-1ubuntu1~22.04 deb git 1:2.34.1-1ubuntu1.9 deb git-man 1:2.34.1-1ubuntu1.9 deb github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module @@ -166,14 +166,14 @@ k8s.io/utils v0.0.0-20221107191617-1 kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb libapt-pkg6.0 2.4.9 deb -libasan6 11.3.0-1ubuntu1~22.04.1 deb -libasan8 12.1.0-2ubuntu1~22.04 deb +libasan6 11.4.0-1ubuntu1~22.04 deb +libasan8 12.3.0-1ubuntu1~22.04 deb libassuan0 2.5.5-1build1 deb -libatomic1 12.1.0-2ubuntu1~22.04 deb +libatomic1 12.3.0-1ubuntu1~22.04 deb libattr1 1:2.5.1-1build1 deb libaudit-common 1:3.0.7-1build1 deb libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.2 deb +libbinutils 2.38-4ubuntu2.3 deb libblkid1 2.37.2-4ubuntu3 deb libbpf0 1:0.5.0-1ubuntu22.04.1 deb libbrotli1 1.0.9-2build6 deb @@ -186,12 +186,12 @@ libc6-dev 2.35-0ubuntu3.1 libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb -libcc1-0 12.1.0-2ubuntu1~22.04 deb +libcc1-0 12.3.0-1ubuntu1~22.04 deb libcom-err2 1.46.5-2ubuntu1.1 deb libcrypt-dev 1:4.4.27-1 deb libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.2 deb -libctf0 2.38-4ubuntu2.2 deb +libctf-nobfd0 2.38-4ubuntu2.3 deb +libctf0 2.38-4ubuntu2.3 deb libcurl3-gnutls 7.81.0-1ubuntu1.13 deb libcurl4 7.81.0-1ubuntu1.13 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb @@ -203,16 +203,16 @@ liberror-perl 0.17029-1 libexpat1 2.4.7-1ubuntu0.2 deb libext2fs2 1.46.5-2ubuntu1.1 deb libffi8 3.4.2-4 deb -libgcc-11-dev 11.3.0-1ubuntu1~22.04.1 deb -libgcc-12-dev 12.1.0-2ubuntu1~22.04 deb -libgcc-s1 12.1.0-2ubuntu1~22.04 deb +libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb +libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb +libgcc-s1 12.3.0-1ubuntu1~22.04 deb libgcrypt20 1.9.4-3ubuntu3 deb libgdbm-compat4 1.23-1 deb libgdbm6 1.23-1 deb libglib2.0-0 2.72.4-0ubuntu2.2 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb libgnutls30 3.7.3-4ubuntu1.2 deb -libgomp1 12.1.0-2ubuntu1~22.04 deb +libgomp1 12.3.0-1ubuntu1~22.04 deb libgpg-error0 1.43-3 deb libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb libhogweed6 3.7.3-1build2 deb @@ -220,7 +220,7 @@ libidn2-0 2.3.2-2build1 libip4tc2 1.8.7-1ubuntu5.1 deb libip6tc2 1.8.7-1ubuntu5.1 deb libisl23 0.24-2build1 deb -libitm1 12.1.0-2ubuntu1~22.04 deb +libitm1 12.3.0-1ubuntu1~22.04 deb libjq1 1.6-2.1ubuntu3 deb libk5crypto3 1.19.2-2ubuntu0.2 deb libkeyutils1 1.6.1-2ubuntu3 deb @@ -228,9 +228,9 @@ libkmod2 29-1ubuntu1 libkrb5-3 1.19.2-2ubuntu0.2 deb libkrb5support0 1.19.2-2ubuntu0.2 deb libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.14+dfsg-0ubuntu0.22.04.2 deb -libldap-common 2.5.14+dfsg-0ubuntu0.22.04.2 deb -liblsan0 12.1.0-2ubuntu1~22.04 deb +libldap-2.5-0 2.5.15+dfsg-0ubuntu0.22.04.1 deb +libldap-common 2.5.15+dfsg-0ubuntu0.22.04.1 deb +liblsan0 12.3.0-1ubuntu1~22.04 deb liblz4-1 1.9.3-2build2 deb liblzma5 5.2.5-2ubuntu1 deb libmd0 1.0.4-1build1 deb @@ -262,10 +262,10 @@ libpng16-16 1.6.37-3build5 libprocps8 2:3.3.17-6ubuntu2 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.6-1~22.04.2ubuntu1.1 deb -libpython3.10-stdlib 3.10.6-1~22.04.2ubuntu1.1 deb +libpython3.10-minimal 3.10.12-1~22.04.2 deb +libpython3.10-stdlib 3.10.12-1~22.04.2 deb libqrencode4 4.1.1-1 deb -libquadmath0 12.1.0-2ubuntu1~22.04 deb +libquadmath0 12.3.0-1ubuntu1~22.04 deb libreadline8 8.1.2-1 deb librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb @@ -281,17 +281,17 @@ libsqlite3-0 3.37.2-2ubuntu0.1 libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.1 deb libssl3 3.0.2-0ubuntu1.10 deb -libstdc++-11-dev 11.3.0-1ubuntu1~22.04.1 deb -libstdc++6 12.1.0-2ubuntu1~22.04 deb +libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb +libstdc++6 12.3.0-1ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.9 deb libtasn1-6 4.18.0-4build1 deb libtinfo6 6.3-2ubuntu0.1 deb libtirpc-common 1.3.2-2ubuntu0.1 deb libtirpc-dev 1.3.2-2ubuntu0.1 deb libtirpc3 1.3.2-2ubuntu0.1 deb -libtsan0 11.3.0-1ubuntu1~22.04.1 deb -libtsan2 12.1.0-2ubuntu1~22.04 deb -libubsan1 12.1.0-2ubuntu1~22.04 deb +libtsan0 11.4.0-1ubuntu1~22.04 deb +libtsan2 12.3.0-1ubuntu1~22.04 deb +libubsan1 12.3.0-1ubuntu1~22.04 deb libudev1 249.11-0ubuntu3.9 deb libunistring2 1.0-1 deb libuuid1 2.37.2-4ubuntu3 deb @@ -326,11 +326,11 @@ pinentry-curses 1.1.1-1build2 pkg-config 0.29.2-1ubuntu3 deb procps 2:3.3.17-6ubuntu2 deb publicsuffix 20211207.1025-1 deb -python 3.10.6 binary +python 3.10.12 binary python3 3.10.6-1~22.04 deb python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.6-1~22.04.2ubuntu1.1 deb -python3.10-minimal 3.10.6-1~22.04.2ubuntu1.1 deb +python3.10 3.10.12-1~22.04.2 deb +python3.10-minimal 3.10.12-1~22.04.2 deb qrencode 4.1.1-1 deb readline-common 8.1.2-1 deb rpcsvc-proto 1.4.2-0ubuntu6 deb From 11f924a596590363670cfd32a0d1b195c210f526 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 10 Aug 2023 11:18:51 +0000 Subject: [PATCH 020/117] Bot Updating Package Versions --- package_versions.txt | 112 ++++++++++++++++++++++--------------------- 1 file changed, 58 insertions(+), 54 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index e60fc39c..ce5cd0f2 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -41,52 +41,50 @@ gcc-12-base 12.3.0-1ubuntu1~22.04 git 1:2.34.1-1ubuntu1.9 deb git-man 1:2.34.1-1ubuntu1.9 deb github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module -github.com/Azure/go-autorest/autorest v0.11.28 go-module -github.com/Azure/go-autorest/autorest/adal v0.9.18 go-module +github.com/Azure/go-autorest/autorest v0.11.29 go-module +github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module github.com/Azure/go-autorest/autorest/date v0.3.0 go-module github.com/Azure/go-autorest/autorest/to v0.2.0 go-module github.com/Azure/go-autorest/logger v0.2.1 go-module github.com/Azure/go-autorest/tracing v0.6.0 go-module -github.com/DataDog/datadog-agent/pkg/obfuscate v0.0.0-20211129110424-6491aa3bf583 go-module -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.42.0-rc.1 go-module -github.com/DataDog/datadog-go v4.8.2+incompatible go-module -github.com/DataDog/datadog-go/v5 v5.0.2 go-module +github.com/DataDog/datadog-agent/pkg/obfuscate v0.45.0-rc.1 go-module +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.46.0-rc.4 go-module +github.com/DataDog/datadog-go/v5 v5.1.1 go-module github.com/DataDog/go-tuf v0.3.0--fix-localmeta-fork go-module github.com/DataDog/sketches-go v1.2.1 go-module -github.com/antonmedv/expr v1.12.0 go-module +github.com/antonmedv/expr v1.12.7 go-module github.com/apparentlymart/go-cidr v1.1.0 go-module -github.com/aws/aws-sdk-go v1.44.194 go-module +github.com/aws/aws-sdk-go v1.44.317 go-module github.com/beorn7/perks v1.0.1 go-module -github.com/cespare/xxhash/v2 v2.1.2 go-module +github.com/cespare/xxhash/v2 v2.2.0 go-module github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20230206182419-055b2c31a9cf go-module +github.com/coredns/coredns v0.0.0-20230807191452-9f4aa9d2625b go-module github.com/coreos/go-semver v0.3.0 go-module github.com/coreos/go-systemd/v22 v22.3.2 go-module github.com/davecgh/go-spew v1.1.1 go-module -github.com/dgraph-io/ristretto v0.1.0 go-module github.com/dimchansky/utfbom v1.1.1 go-module github.com/dnstap/golang-dnstap v0.4.0 go-module github.com/dustin/go-humanize v1.0.0 go-module -github.com/emicklei/go-restful/v3 v3.9.0 go-module +github.com/emicklei/go-restful/v3 v3.10.2 go-module github.com/farsightsec/golang-framestream v0.3.0 go-module github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module -github.com/go-logr/logr v1.2.3 go-module -github.com/go-openapi/jsonpointer v0.19.5 go-module -github.com/go-openapi/jsonreference v0.20.0 go-module -github.com/go-openapi/swag v0.19.14 go-module +github.com/go-logr/logr v1.2.4 go-module +github.com/go-openapi/jsonpointer v0.19.6 go-module +github.com/go-openapi/jsonreference v0.20.1 go-module +github.com/go-openapi/swag v0.22.3 go-module github.com/gogo/protobuf v1.3.2 go-module -github.com/golang-jwt/jwt/v4 v4.2.0 go-module -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b go-module +github.com/golang-jwt/jwt/v4 v4.5.0 go-module github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module -github.com/golang/protobuf v1.5.2 go-module +github.com/golang/protobuf v1.5.3 go-module github.com/google/gnostic v0.5.7-v3refs go-module github.com/google/go-cmp v0.5.9 go-module github.com/google/gofuzz v1.2.0 go-module +github.com/google/s2a-go v0.1.4 go-module github.com/google/uuid v1.3.0 go-module -github.com/googleapis/enterprise-certificate-proxy v0.2.1 go-module -github.com/googleapis/gax-go/v2 v2.7.0 go-module +github.com/googleapis/enterprise-certificate-proxy v0.2.5 go-module +github.com/googleapis/gax-go/v2 v2.12.0 go-module github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module github.com/imdario/mergo v0.3.12 go-module github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module @@ -95,7 +93,7 @@ github.com/josharian/intern v1.0.0 github.com/json-iterator/go v1.1.12 go-module github.com/mailru/easyjson v0.7.7 go-module github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module -github.com/miekg/dns v1.1.50 go-module +github.com/miekg/dns v1.1.55 go-module github.com/mitchellh/go-homedir v1.1.0 go-module github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module github.com/modern-go/reflect2 v1.0.2 go-module @@ -104,40 +102,46 @@ github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a github.com/opentracing/opentracing-go v1.2.0 go-module github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module github.com/openzipkin/zipkin-go v0.4.1 go-module -github.com/oschwald/geoip2-golang v1.8.0 go-module -github.com/oschwald/maxminddb-golang v1.10.0 go-module -github.com/philhofer/fwd v1.1.1 go-module +github.com/oschwald/geoip2-golang v1.9.0 go-module +github.com/oschwald/maxminddb-golang v1.11.0 go-module +github.com/outcaste-io/ristretto v0.2.1 go-module +github.com/philhofer/fwd v1.1.2 go-module github.com/pkg/errors v0.9.1 go-module -github.com/prometheus/client_golang v1.14.0 go-module -github.com/prometheus/client_model v0.3.0 go-module -github.com/prometheus/common v0.39.0 go-module -github.com/prometheus/procfs v0.8.0 go-module -github.com/secure-systems-lab/go-securesystemslib v0.4.0 go-module +github.com/prometheus/client_golang v1.16.0 go-module +github.com/prometheus/client_model v0.4.0 go-module +github.com/prometheus/common v0.44.0 go-module +github.com/prometheus/procfs v0.10.1 go-module +github.com/quic-go/qtls-go1-20 v0.3.1 go-module +github.com/quic-go/quic-go v0.37.3 go-module +github.com/secure-systems-lab/go-securesystemslib v0.6.0 go-module github.com/spf13/pflag v1.0.5 go-module -github.com/tinylib/msgp v1.1.6 go-module +github.com/tinylib/msgp v1.1.8 go-module gnupg 2.2.27-3ubuntu2.1 deb gnupg-l10n 2.2.27-3ubuntu2.1 deb gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.7 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.7 go-module -go.etcd.io/etcd/client/v3 v3.5.7 go-module +go.etcd.io/etcd/api/v3 v3.5.9 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.9 go-module +go.etcd.io/etcd/client/v3 v3.5.9 go-module go.opencensus.io v0.24.0 go-module -go.uber.org/atomic v1.9.0 go-module +go.uber.org/atomic v1.11.0 go-module go.uber.org/multierr v1.6.0 go-module go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.0.0-20221010152910-d6f0a8c073c2 go-module -golang.org/x/net v0.4.0 go-module -golang.org/x/oauth2 v0.3.0 go-module -golang.org/x/sys v0.4.0 go-module -golang.org/x/term v0.3.0 go-module -golang.org/x/text v0.5.0 go-module -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 go-module +golang.org/x/crypto v0.12.0 go-module +golang.org/x/exp v0.0.0-20221205204356-47842c84f3db go-module +golang.org/x/net v0.12.0 go-module +golang.org/x/oauth2 v0.10.0 go-module +golang.org/x/sys v0.11.0 go-module +golang.org/x/term v0.11.0 go-module +golang.org/x/text v0.12.0 go-module +golang.org/x/time v0.3.0 go-module golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module -google.golang.org/api v0.109.0 go-module -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef go-module -google.golang.org/grpc v1.52.3 go-module -google.golang.org/protobuf v1.28.1 go-module -gopkg.in/DataDog/dd-trace-go.v1 v1.47.0 go-module +google.golang.org/api v0.134.0 go-module +google.golang.org/appengine v1.6.7 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20230720185612-659f7aaaa771 go-module +google.golang.org/grpc v1.57.0 go-module +google.golang.org/protobuf v1.31.0 go-module +gopkg.in/DataDog/dd-trace-go.v1 v1.53.0 go-module gopkg.in/inf.v0 v0.9.1 go-module gopkg.in/yaml.v2 v2.4.0 go-module gopkg.in/yaml.v3 v3.0.1 go-module @@ -157,12 +161,12 @@ iproute2 5.15.0-1ubuntu2 iptables 1.8.7-1ubuntu5.1 deb iputils-ping 3:20211215-1 deb jq 1.6-2.1ubuntu3 deb -k8s.io/api v0.26.1 go-module -k8s.io/apimachinery v0.26.1 go-module -k8s.io/client-go v0.26.1 go-module -k8s.io/klog/v2 v2.90.0 go-module -k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 go-module -k8s.io/utils v0.0.0-20221107191617-1a15be271d1d go-module +k8s.io/api v0.27.4 go-module +k8s.io/apimachinery v0.27.4 go-module +k8s.io/client-go v0.27.4 go-module +k8s.io/klog/v2 v2.100.1 go-module +k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f go-module +k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb libapt-pkg6.0 2.4.9 deb @@ -336,7 +340,7 @@ readline-common 8.1.2-1 rpcsvc-proto 1.4.2-0ubuntu6 deb sed 4.8-1ubuntu2 deb sensible-utils 0.0.17 deb -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 go-module +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module sigs.k8s.io/yaml v1.3.0 go-module sysvinit-utils 3.01-1ubuntu1 deb From ebff245cc9ac1522178d28494b9a7a37b2d5edd5 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 17 Aug 2023 11:19:01 +0000 Subject: [PATCH 021/117] Bot Updating Package Versions --- package_versions.txt | 707 +++++++++++++++++++++---------------------- 1 file changed, 353 insertions(+), 354 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index ce5cd0f2..40f7e823 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,354 +1,353 @@ -NAME VERSION TYPE -adduser 3.118ubuntu5 deb -apt 2.4.9 deb -apt-utils 2.4.9 deb -base-files 12ubuntu4.3 deb -base-passwd 3.5.52build1 deb -bash 5.1-6ubuntu1 deb -bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.3 deb -binutils-common 2.38-4ubuntu2.3 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.3 deb -bsdutils 1:2.37.2-4ubuntu3 deb -build-essential 12.9ubuntu3 deb -bzip2 1.0.8-5build1 deb -ca-certificates 20230311ubuntu0.22.04.1 deb -cloud.google.com/go/compute/metadata v0.2.3 go-module -coreutils 8.32-4.1ubuntu1 deb -cpp 4:11.2.0-1ubuntu1 deb -cpp-11 11.4.0-1ubuntu1~22.04 deb -cpp-12 12.3.0-1ubuntu1~22.04 deb -curl 7.81.0-1ubuntu1.13 deb -dash 0.5.11+git20210903+057cd650a4ed-3build1 deb -dctrl-tools 2.24-3build2 deb -debconf 1.5.79ubuntu1 deb -debianutils 5.5-1ubuntu2 deb -diffutils 1:3.8-0ubuntu2 deb -dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.4 deb -dkms 2.8.7-2ubuntu2.2 deb -dpkg 1.21.1ubuntu2.2 deb -dpkg-dev 1.21.1ubuntu2.2 deb -e2fsprogs 1.46.5-2ubuntu1.1 deb -findutils 4.8.0-1ubuntu3 deb -g++ 4:11.2.0-1ubuntu1 deb -g++-11 11.4.0-1ubuntu1~22.04 deb -gcc 4:11.2.0-1ubuntu1 deb -gcc-11 11.4.0-1ubuntu1~22.04 deb -gcc-11-base 11.4.0-1ubuntu1~22.04 deb -gcc-12 12.3.0-1ubuntu1~22.04 deb -gcc-12-base 12.3.0-1ubuntu1~22.04 deb -git 1:2.34.1-1ubuntu1.9 deb -git-man 1:2.34.1-1ubuntu1.9 deb -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module -github.com/Azure/go-autorest/autorest v0.11.29 go-module -github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module -github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module -github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module -github.com/Azure/go-autorest/autorest/date v0.3.0 go-module -github.com/Azure/go-autorest/autorest/to v0.2.0 go-module -github.com/Azure/go-autorest/logger v0.2.1 go-module -github.com/Azure/go-autorest/tracing v0.6.0 go-module -github.com/DataDog/datadog-agent/pkg/obfuscate v0.45.0-rc.1 go-module -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.46.0-rc.4 go-module -github.com/DataDog/datadog-go/v5 v5.1.1 go-module -github.com/DataDog/go-tuf v0.3.0--fix-localmeta-fork go-module -github.com/DataDog/sketches-go v1.2.1 go-module -github.com/antonmedv/expr v1.12.7 go-module -github.com/apparentlymart/go-cidr v1.1.0 go-module -github.com/aws/aws-sdk-go v1.44.317 go-module -github.com/beorn7/perks v1.0.1 go-module -github.com/cespare/xxhash/v2 v2.2.0 go-module -github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20230807191452-9f4aa9d2625b go-module -github.com/coreos/go-semver v0.3.0 go-module -github.com/coreos/go-systemd/v22 v22.3.2 go-module -github.com/davecgh/go-spew v1.1.1 go-module -github.com/dimchansky/utfbom v1.1.1 go-module -github.com/dnstap/golang-dnstap v0.4.0 go-module -github.com/dustin/go-humanize v1.0.0 go-module -github.com/emicklei/go-restful/v3 v3.10.2 go-module -github.com/farsightsec/golang-framestream v0.3.0 go-module -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module -github.com/go-logr/logr v1.2.4 go-module -github.com/go-openapi/jsonpointer v0.19.6 go-module -github.com/go-openapi/jsonreference v0.20.1 go-module -github.com/go-openapi/swag v0.22.3 go-module -github.com/gogo/protobuf v1.3.2 go-module -github.com/golang-jwt/jwt/v4 v4.5.0 go-module -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module -github.com/golang/protobuf v1.5.3 go-module -github.com/google/gnostic v0.5.7-v3refs go-module -github.com/google/go-cmp v0.5.9 go-module -github.com/google/gofuzz v1.2.0 go-module -github.com/google/s2a-go v0.1.4 go-module -github.com/google/uuid v1.3.0 go-module -github.com/googleapis/enterprise-certificate-proxy v0.2.5 go-module -github.com/googleapis/gax-go/v2 v2.12.0 go-module -github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module -github.com/imdario/mergo v0.3.12 go-module -github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module -github.com/jmespath/go-jmespath v0.4.0 go-module -github.com/josharian/intern v1.0.0 go-module -github.com/json-iterator/go v1.1.12 go-module -github.com/mailru/easyjson v0.7.7 go-module -github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module -github.com/miekg/dns v1.1.55 go-module -github.com/mitchellh/go-homedir v1.1.0 go-module -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module -github.com/modern-go/reflect2 v1.0.2 go-module -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module -github.com/opentracing/opentracing-go v1.2.0 go-module -github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module -github.com/openzipkin/zipkin-go v0.4.1 go-module -github.com/oschwald/geoip2-golang v1.9.0 go-module -github.com/oschwald/maxminddb-golang v1.11.0 go-module -github.com/outcaste-io/ristretto v0.2.1 go-module -github.com/philhofer/fwd v1.1.2 go-module -github.com/pkg/errors v0.9.1 go-module -github.com/prometheus/client_golang v1.16.0 go-module -github.com/prometheus/client_model v0.4.0 go-module -github.com/prometheus/common v0.44.0 go-module -github.com/prometheus/procfs v0.10.1 go-module -github.com/quic-go/qtls-go1-20 v0.3.1 go-module -github.com/quic-go/quic-go v0.37.3 go-module -github.com/secure-systems-lab/go-securesystemslib v0.6.0 go-module -github.com/spf13/pflag v1.0.5 go-module -github.com/tinylib/msgp v1.1.8 go-module -gnupg 2.2.27-3ubuntu2.1 deb -gnupg-l10n 2.2.27-3ubuntu2.1 deb -gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.9 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.9 go-module -go.etcd.io/etcd/client/v3 v3.5.9 go-module -go.opencensus.io v0.24.0 go-module -go.uber.org/atomic v1.11.0 go-module -go.uber.org/multierr v1.6.0 go-module -go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.12.0 go-module -golang.org/x/exp v0.0.0-20221205204356-47842c84f3db go-module -golang.org/x/net v0.12.0 go-module -golang.org/x/oauth2 v0.10.0 go-module -golang.org/x/sys v0.11.0 go-module -golang.org/x/term v0.11.0 go-module -golang.org/x/text v0.12.0 go-module -golang.org/x/time v0.3.0 go-module -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module -google.golang.org/api v0.134.0 go-module -google.golang.org/appengine v1.6.7 go-module -google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 go-module -google.golang.org/genproto/googleapis/rpc v0.0.0-20230720185612-659f7aaaa771 go-module -google.golang.org/grpc v1.57.0 go-module -google.golang.org/protobuf v1.31.0 go-module -gopkg.in/DataDog/dd-trace-go.v1 v1.53.0 go-module -gopkg.in/inf.v0 v0.9.1 go-module -gopkg.in/yaml.v2 v2.4.0 go-module -gopkg.in/yaml.v3 v3.0.1 go-module -gpg 2.2.27-3ubuntu2.1 deb -gpg-agent 2.2.27-3ubuntu2.1 deb -gpg-wks-client 2.2.27-3ubuntu2.1 deb -gpg-wks-server 2.2.27-3ubuntu2.1 deb -gpgconf 2.2.27-3ubuntu2.1 deb -gpgsm 2.2.27-3ubuntu2.1 deb -gpgv 2.2.27-3ubuntu2.1 deb -grep 3.7-1build1 deb -gzip 1.10-4ubuntu4.1 deb -hostname 3.23ubuntu2 deb -ifupdown 0.8.36+nmu1ubuntu3 deb -init-system-helpers 1.62 deb -iproute2 5.15.0-1ubuntu2 deb -iptables 1.8.7-1ubuntu5.1 deb -iputils-ping 3:20211215-1 deb -jq 1.6-2.1ubuntu3 deb -k8s.io/api v0.27.4 go-module -k8s.io/apimachinery v0.27.4 go-module -k8s.io/client-go v0.27.4 go-module -k8s.io/klog/v2 v2.100.1 go-module -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f go-module -k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module -kmod 29-1ubuntu1 deb -libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.9 deb -libasan6 11.4.0-1ubuntu1~22.04 deb -libasan8 12.3.0-1ubuntu1~22.04 deb -libassuan0 2.5.5-1build1 deb -libatomic1 12.3.0-1ubuntu1~22.04 deb -libattr1 1:2.5.1-1build1 deb -libaudit-common 1:3.0.7-1build1 deb -libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.3 deb -libblkid1 2.37.2-4ubuntu3 deb -libbpf0 1:0.5.0-1ubuntu22.04.1 deb -libbrotli1 1.0.9-2build6 deb -libbsd0 0.11.5-1 deb -libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.1 deb -libc6 2.35-0ubuntu3.1 deb -libc6-dev 2.35-0ubuntu3.1 deb -libcap-ng0 0.7.9-2.2build3 deb -libcap2 1:2.44-1ubuntu0.22.04.1 deb -libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb -libcc1-0 12.3.0-1ubuntu1~22.04 deb -libcom-err2 1.46.5-2ubuntu1.1 deb -libcrypt-dev 1:4.4.27-1 deb -libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.3 deb -libctf0 2.38-4ubuntu2.3 deb -libcurl3-gnutls 7.81.0-1ubuntu1.13 deb -libcurl4 7.81.0-1ubuntu1.13 deb -libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb -libdebconfclient0 0.261ubuntu1 deb -libdpkg-perl 1.21.1ubuntu2.2 deb -libelf-dev 0.186-1build1 deb -libelf1 0.186-1build1 deb -liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.2 deb -libext2fs2 1.46.5-2ubuntu1.1 deb -libffi8 3.4.2-4 deb -libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb -libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb -libgcc-s1 12.3.0-1ubuntu1~22.04 deb -libgcrypt20 1.9.4-3ubuntu3 deb -libgdbm-compat4 1.23-1 deb -libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2.2 deb -libgmp10 2:6.2.1+dfsg-3ubuntu1 deb -libgnutls30 3.7.3-4ubuntu1.2 deb -libgomp1 12.3.0-1ubuntu1~22.04 deb -libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb -libhogweed6 3.7.3-1build2 deb -libidn2-0 2.3.2-2build1 deb -libip4tc2 1.8.7-1ubuntu5.1 deb -libip6tc2 1.8.7-1ubuntu5.1 deb -libisl23 0.24-2build1 deb -libitm1 12.3.0-1ubuntu1~22.04 deb -libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.2 deb -libkeyutils1 1.6.1-2ubuntu3 deb -libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.2 deb -libkrb5support0 1.19.2-2ubuntu0.2 deb -libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.15+dfsg-0ubuntu0.22.04.1 deb -libldap-common 2.5.15+dfsg-0ubuntu0.22.04.1 deb -liblsan0 12.3.0-1ubuntu1~22.04 deb -liblz4-1 1.9.3-2build2 deb -liblzma5 5.2.5-2ubuntu1 deb -libmd0 1.0.4-1build1 deb -libmnl0 1.0.4-3build2 deb -libmount1 2.37.2-4ubuntu3 deb -libmpc3 1.2.1-2build1 deb -libmpdec3 2.5.1-2build2 deb -libmpfr6 4.1.0-3build3 deb -libncurses6 6.3-2ubuntu0.1 deb -libncursesw6 6.3-2ubuntu0.1 deb -libnetfilter-conntrack3 1.0.9-1 deb -libnettle8 3.7.3-1build2 deb -libnfnetlink0 1.0.1-3build3 deb -libnftnl11 1.2.1-1build1 deb -libnghttp2-14 1.43.0-1build3 deb -libnpth0 1.6-3build2 deb -libnsl-dev 1.3.0-2build2 deb -libnsl2 1.3.0-2build2 deb -libonig5 6.9.7.1-2build1 deb -libp11-kit0 0.24.0-6build1 deb -libpam-modules 1.4.0-11ubuntu2.3 deb -libpam-modules-bin 1.4.0-11ubuntu2.3 deb -libpam-runtime 1.4.0-11ubuntu2.3 deb -libpam0g 1.4.0-11ubuntu2.3 deb -libpcre2-8-0 10.39-3ubuntu0.1 deb -libpcre3 2:8.39-13ubuntu0.22.04.1 deb -libperl5.34 5.34.0-3ubuntu1.2 deb -libpng16-16 1.6.37-3build5 deb -libprocps8 2:3.3.17-6ubuntu2 deb -libpsl5 0.21.0-1.2build2 deb -libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.12-1~22.04.2 deb -libpython3.10-stdlib 3.10.12-1~22.04.2 deb -libqrencode4 4.1.1-1 deb -libquadmath0 12.3.0-1ubuntu1~22.04 deb -libreadline8 8.1.2-1 deb -librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb -libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb -libseccomp2 2.5.3-2ubuntu2 deb -libselinux1 3.3-1build2 deb -libsemanage-common 3.3-1build2 deb -libsemanage2 3.3-1build2 deb -libsepol2 3.3-1build1 deb -libsmartcols1 2.37.2-4ubuntu3 deb -libsqlite3-0 3.37.2-2ubuntu0.1 deb -libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2ubuntu0.22.04.1 deb -libssl3 3.0.2-0ubuntu1.10 deb -libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb -libstdc++6 12.3.0-1ubuntu1~22.04 deb -libsystemd0 249.11-0ubuntu3.9 deb -libtasn1-6 4.18.0-4build1 deb -libtinfo6 6.3-2ubuntu0.1 deb -libtirpc-common 1.3.2-2ubuntu0.1 deb -libtirpc-dev 1.3.2-2ubuntu0.1 deb -libtirpc3 1.3.2-2ubuntu0.1 deb -libtsan0 11.4.0-1ubuntu1~22.04 deb -libtsan2 12.3.0-1ubuntu1~22.04 deb -libubsan1 12.3.0-1ubuntu1~22.04 deb -libudev1 249.11-0ubuntu3.9 deb -libunistring2 1.0-1 deb -libuuid1 2.37.2-4ubuntu3 deb -libxtables12 1.8.7-1ubuntu5.1 deb -libxxhash0 0.8.1-1 deb -libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-78.85 deb -locales 2.35-0ubuntu3.1 deb -login 1:4.8.1-2ubuntu2.1 deb -logsave 1.46.5-2ubuntu1.1 deb -lsb-base 11.1.0ubuntu4 deb -lsb-release 11.1.0ubuntu4 deb -lto-disabled-list 24 deb -make 4.3-4.1build1 deb -mawk 1.3.4.20200120-3 deb -media-types 7.0.0 deb -mount 2.37.2-4ubuntu3 deb -ncurses-base 6.3-2ubuntu0.1 deb -ncurses-bin 6.3-2ubuntu0.1 deb -net-tools 1.60+git20181103.0eebece-1ubuntu5 deb -netbase 6.3 deb -netcat 1.218-4ubuntu1 deb -netcat-openbsd 1.218-4ubuntu1 deb -openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.10 deb -passwd 1:4.8.1-2ubuntu2.1 deb -patch 2.7.6-7build2 deb -perl 5.34.0-3ubuntu1.2 deb -perl-base 5.34.0-3ubuntu1.2 deb -perl-modules-5.34 5.34.0-3ubuntu1.2 deb -pinentry-curses 1.1.1-1build2 deb -pkg-config 0.29.2-1ubuntu3 deb -procps 2:3.3.17-6ubuntu2 deb -publicsuffix 20211207.1025-1 deb -python 3.10.12 binary -python3 3.10.6-1~22.04 deb -python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.12-1~22.04.2 deb -python3.10-minimal 3.10.12-1~22.04.2 deb -qrencode 4.1.1-1 deb -readline-common 8.1.2-1 deb -rpcsvc-proto 1.4.2-0ubuntu6 deb -sed 4.8-1ubuntu2 deb -sensible-utils 0.0.17 deb -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module -sigs.k8s.io/yaml v1.3.0 go-module -sysvinit-utils 3.01-1ubuntu1 deb -tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb -tzdata 2023c-0ubuntu0.22.04.2 deb -ubuntu-keyring 2021.03.26 deb -usrmerge 25ubuntu2 deb -util-linux 2.37.2-4ubuntu3 deb -xz-utils 5.2.5-2ubuntu1 deb -zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb -zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb +NAME VERSION TYPE +adduser 3.118ubuntu5 deb +apt 2.4.10 deb +apt-utils 2.4.10 deb +base-files 12ubuntu4.3 deb +base-passwd 3.5.52build1 deb +bash 5.1-6ubuntu1 deb +bc 1.07.1-3build1 deb +binutils 2.38-4ubuntu2.3 deb +binutils-common 2.38-4ubuntu2.3 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.3 deb +bsdutils 1:2.37.2-4ubuntu3 deb +build-essential 12.9ubuntu3 deb +bzip2 1.0.8-5build1 deb +ca-certificates 20230311ubuntu0.22.04.1 deb +cloud.google.com/go/compute/metadata v0.2.3 go-module +coreutils 8.32-4.1ubuntu1 deb +cpp 4:11.2.0-1ubuntu1 deb +cpp-11 11.4.0-1ubuntu1~22.04 deb +cpp-12 12.3.0-1ubuntu1~22.04 deb +curl 7.81.0-1ubuntu1.13 deb +dash 0.5.11+git20210903+057cd650a4ed-3build1 deb +dctrl-tools 2.24-3build2 deb +debconf 1.5.79ubuntu1 deb +debianutils 5.5-1ubuntu2 deb +diffutils 1:3.8-0ubuntu2 deb +dirmngr 2.2.27-3ubuntu2.1 deb +distro-info-data 0.52ubuntu0.4 deb +dkms 2.8.7-2ubuntu2.2 deb +dpkg 1.21.1ubuntu2.2 deb +dpkg-dev 1.21.1ubuntu2.2 deb +e2fsprogs 1.46.5-2ubuntu1.1 deb +findutils 4.8.0-1ubuntu3 deb +g++ 4:11.2.0-1ubuntu1 deb +g++-11 11.4.0-1ubuntu1~22.04 deb +gcc 4:11.2.0-1ubuntu1 deb +gcc-11 11.4.0-1ubuntu1~22.04 deb +gcc-11-base 11.4.0-1ubuntu1~22.04 deb +gcc-12 12.3.0-1ubuntu1~22.04 deb +gcc-12-base 12.3.0-1ubuntu1~22.04 deb +git 1:2.34.1-1ubuntu1.10 deb +git-man 1:2.34.1-1ubuntu1.10 deb +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module +github.com/Azure/go-autorest/autorest v0.11.29 go-module +github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module +github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module +github.com/Azure/go-autorest/autorest/date v0.3.0 go-module +github.com/Azure/go-autorest/autorest/to v0.2.0 go-module +github.com/Azure/go-autorest/logger v0.2.1 go-module +github.com/Azure/go-autorest/tracing v0.6.0 go-module +github.com/DataDog/datadog-agent/pkg/obfuscate v0.45.0-rc.1 go-module +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.0-devel.0.20230725154044-2549ba9058df go-module +github.com/DataDog/datadog-go/v5 v5.1.1 go-module +github.com/DataDog/go-tuf v1.0.1-0.5.2 go-module +github.com/DataDog/sketches-go v1.2.1 go-module +github.com/antonmedv/expr v1.13.0 go-module +github.com/apparentlymart/go-cidr v1.1.0 go-module +github.com/aws/aws-sdk-go v1.44.322 go-module +github.com/beorn7/perks v1.0.1 go-module +github.com/cespare/xxhash/v2 v2.2.0 go-module +github.com/coredns/caddy v1.1.1 go-module +github.com/coredns/coredns v0.0.0-20230815193032-ae2bbc29be1a go-module +github.com/coreos/go-semver v0.3.0 go-module +github.com/coreos/go-systemd/v22 v22.3.2 go-module +github.com/davecgh/go-spew v1.1.1 go-module +github.com/dimchansky/utfbom v1.1.1 go-module +github.com/dnstap/golang-dnstap v0.4.0 go-module +github.com/dustin/go-humanize v1.0.1 go-module +github.com/emicklei/go-restful/v3 v3.10.2 go-module +github.com/farsightsec/golang-framestream v0.3.0 go-module +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module +github.com/go-logr/logr v1.2.4 go-module +github.com/go-openapi/jsonpointer v0.19.6 go-module +github.com/go-openapi/jsonreference v0.20.1 go-module +github.com/go-openapi/swag v0.22.3 go-module +github.com/gogo/protobuf v1.3.2 go-module +github.com/golang-jwt/jwt/v4 v4.5.0 go-module +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module +github.com/golang/protobuf v1.5.3 go-module +github.com/google/gnostic v0.5.7-v3refs go-module +github.com/google/go-cmp v0.5.9 go-module +github.com/google/gofuzz v1.2.0 go-module +github.com/google/s2a-go v0.1.4 go-module +github.com/google/uuid v1.3.0 go-module +github.com/googleapis/enterprise-certificate-proxy v0.2.5 go-module +github.com/googleapis/gax-go/v2 v2.12.0 go-module +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module +github.com/imdario/mergo v0.3.12 go-module +github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module +github.com/jmespath/go-jmespath v0.4.0 go-module +github.com/josharian/intern v1.0.0 go-module +github.com/json-iterator/go v1.1.12 go-module +github.com/mailru/easyjson v0.7.7 go-module +github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module +github.com/miekg/dns v1.1.55 go-module +github.com/mitchellh/go-homedir v1.1.0 go-module +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module +github.com/modern-go/reflect2 v1.0.2 go-module +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module +github.com/opentracing/opentracing-go v1.2.0 go-module +github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module +github.com/openzipkin/zipkin-go v0.4.2 go-module +github.com/oschwald/geoip2-golang v1.9.0 go-module +github.com/oschwald/maxminddb-golang v1.11.0 go-module +github.com/outcaste-io/ristretto v0.2.1 go-module +github.com/philhofer/fwd v1.1.2 go-module +github.com/pkg/errors v0.9.1 go-module +github.com/prometheus/client_golang v1.16.0 go-module +github.com/prometheus/client_model v0.4.0 go-module +github.com/prometheus/common v0.44.0 go-module +github.com/prometheus/procfs v0.10.1 go-module +github.com/quic-go/qtls-go1-20 v0.3.1 go-module +github.com/quic-go/quic-go v0.37.4 go-module +github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module +github.com/spf13/pflag v1.0.5 go-module +github.com/tinylib/msgp v1.1.8 go-module +gnupg 2.2.27-3ubuntu2.1 deb +gnupg-l10n 2.2.27-3ubuntu2.1 deb +gnupg-utils 2.2.27-3ubuntu2.1 deb +go.etcd.io/etcd/api/v3 v3.5.9 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.9 go-module +go.etcd.io/etcd/client/v3 v3.5.9 go-module +go.opencensus.io v0.24.0 go-module +go.uber.org/atomic v1.11.0 go-module +go.uber.org/multierr v1.6.0 go-module +go.uber.org/zap v1.17.0 go-module +golang.org/x/crypto v0.12.0 go-module +golang.org/x/exp v0.0.0-20221205204356-47842c84f3db go-module +golang.org/x/net v0.14.0 go-module +golang.org/x/oauth2 v0.11.0 go-module +golang.org/x/sys v0.11.0 go-module +golang.org/x/term v0.11.0 go-module +golang.org/x/text v0.12.0 go-module +golang.org/x/time v0.3.0 go-module +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module +google.golang.org/api v0.136.0 go-module +google.golang.org/appengine v1.6.7 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 go-module +google.golang.org/grpc v1.57.0 go-module +google.golang.org/protobuf v1.31.0 go-module +gopkg.in/DataDog/dd-trace-go.v1 v1.54.0 go-module +gopkg.in/inf.v0 v0.9.1 go-module +gopkg.in/yaml.v2 v2.4.0 go-module +gopkg.in/yaml.v3 v3.0.1 go-module +gpg 2.2.27-3ubuntu2.1 deb +gpg-agent 2.2.27-3ubuntu2.1 deb +gpg-wks-client 2.2.27-3ubuntu2.1 deb +gpg-wks-server 2.2.27-3ubuntu2.1 deb +gpgconf 2.2.27-3ubuntu2.1 deb +gpgsm 2.2.27-3ubuntu2.1 deb +gpgv 2.2.27-3ubuntu2.1 deb +grep 3.7-1build1 deb +gzip 1.10-4ubuntu4.1 deb +hostname 3.23ubuntu2 deb +ifupdown 0.8.36+nmu1ubuntu3 deb +init-system-helpers 1.62 deb +iproute2 5.15.0-1ubuntu2 deb +iptables 1.8.7-1ubuntu5.1 deb +iputils-ping 3:20211215-1 deb +jq 1.6-2.1ubuntu3 deb +k8s.io/api v0.27.4 go-module +k8s.io/apimachinery v0.27.4 go-module +k8s.io/client-go v0.27.4 go-module +k8s.io/klog/v2 v2.100.1 go-module +k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f go-module +k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module +kmod 29-1ubuntu1 deb +libacl1 2.3.1-1 deb +libapt-pkg6.0 2.4.10 deb +libasan6 11.4.0-1ubuntu1~22.04 deb +libasan8 12.3.0-1ubuntu1~22.04 deb +libassuan0 2.5.5-1build1 deb +libatomic1 12.3.0-1ubuntu1~22.04 deb +libattr1 1:2.5.1-1build1 deb +libaudit-common 1:3.0.7-1build1 deb +libaudit1 1:3.0.7-1build1 deb +libbinutils 2.38-4ubuntu2.3 deb +libblkid1 2.37.2-4ubuntu3 deb +libbpf0 1:0.5.0-1ubuntu22.04.1 deb +libbrotli1 1.0.9-2build6 deb +libbsd0 0.11.5-1 deb +libbz2-1.0 1.0.8-5build1 deb +libc-bin 2.35-0ubuntu3.1 deb +libc-dev-bin 2.35-0ubuntu3.1 deb +libc6 2.35-0ubuntu3.1 deb +libc6-dev 2.35-0ubuntu3.1 deb +libcap-ng0 0.7.9-2.2build3 deb +libcap2 1:2.44-1ubuntu0.22.04.1 deb +libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb +libcc1-0 12.3.0-1ubuntu1~22.04 deb +libcom-err2 1.46.5-2ubuntu1.1 deb +libcrypt-dev 1:4.4.27-1 deb +libcrypt1 1:4.4.27-1 deb +libctf-nobfd0 2.38-4ubuntu2.3 deb +libctf0 2.38-4ubuntu2.3 deb +libcurl3-gnutls 7.81.0-1ubuntu1.13 deb +libcurl4 7.81.0-1ubuntu1.13 deb +libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb +libdebconfclient0 0.261ubuntu1 deb +libdpkg-perl 1.21.1ubuntu2.2 deb +libelf-dev 0.186-1build1 deb +libelf1 0.186-1build1 deb +liberror-perl 0.17029-1 deb +libexpat1 2.4.7-1ubuntu0.2 deb +libext2fs2 1.46.5-2ubuntu1.1 deb +libffi8 3.4.2-4 deb +libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb +libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb +libgcc-s1 12.3.0-1ubuntu1~22.04 deb +libgcrypt20 1.9.4-3ubuntu3 deb +libgdbm-compat4 1.23-1 deb +libgdbm6 1.23-1 deb +libglib2.0-0 2.72.4-0ubuntu2.2 deb +libgmp10 2:6.2.1+dfsg-3ubuntu1 deb +libgnutls30 3.7.3-4ubuntu1.2 deb +libgomp1 12.3.0-1ubuntu1~22.04 deb +libgpg-error0 1.43-3 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb +libhogweed6 3.7.3-1build2 deb +libidn2-0 2.3.2-2build1 deb +libip4tc2 1.8.7-1ubuntu5.1 deb +libip6tc2 1.8.7-1ubuntu5.1 deb +libisl23 0.24-2build1 deb +libitm1 12.3.0-1ubuntu1~22.04 deb +libjq1 1.6-2.1ubuntu3 deb +libk5crypto3 1.19.2-2ubuntu0.2 deb +libkeyutils1 1.6.1-2ubuntu3 deb +libkmod2 29-1ubuntu1 deb +libkrb5-3 1.19.2-2ubuntu0.2 deb +libkrb5support0 1.19.2-2ubuntu0.2 deb +libksba8 1.6.0-2ubuntu0.2 deb +libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.1 deb +libldap-common 2.5.16+dfsg-0ubuntu0.22.04.1 deb +liblsan0 12.3.0-1ubuntu1~22.04 deb +liblz4-1 1.9.3-2build2 deb +liblzma5 5.2.5-2ubuntu1 deb +libmd0 1.0.4-1build1 deb +libmnl0 1.0.4-3build2 deb +libmount1 2.37.2-4ubuntu3 deb +libmpc3 1.2.1-2build1 deb +libmpdec3 2.5.1-2build2 deb +libmpfr6 4.1.0-3build3 deb +libncurses6 6.3-2ubuntu0.1 deb +libncursesw6 6.3-2ubuntu0.1 deb +libnetfilter-conntrack3 1.0.9-1 deb +libnettle8 3.7.3-1build2 deb +libnfnetlink0 1.0.1-3build3 deb +libnftnl11 1.2.1-1build1 deb +libnghttp2-14 1.43.0-1build3 deb +libnpth0 1.6-3build2 deb +libnsl-dev 1.3.0-2build2 deb +libnsl2 1.3.0-2build2 deb +libonig5 6.9.7.1-2build1 deb +libp11-kit0 0.24.0-6build1 deb +libpam-modules 1.4.0-11ubuntu2.3 deb +libpam-modules-bin 1.4.0-11ubuntu2.3 deb +libpam-runtime 1.4.0-11ubuntu2.3 deb +libpam0g 1.4.0-11ubuntu2.3 deb +libpcre2-8-0 10.39-3ubuntu0.1 deb +libpcre3 2:8.39-13ubuntu0.22.04.1 deb +libperl5.34 5.34.0-3ubuntu1.2 deb +libpng16-16 1.6.37-3build5 deb +libprocps8 2:3.3.17-6ubuntu2 deb +libpsl5 0.21.0-1.2build2 deb +libpython3-stdlib 3.10.6-1~22.04 deb +libpython3.10-minimal 3.10.12-1~22.04.2 deb +libpython3.10-stdlib 3.10.12-1~22.04.2 deb +libqrencode4 4.1.1-1 deb +libquadmath0 12.3.0-1ubuntu1~22.04 deb +libreadline8 8.1.2-1 deb +librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb +libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb +libseccomp2 2.5.3-2ubuntu2 deb +libselinux1 3.3-1build2 deb +libsemanage-common 3.3-1build2 deb +libsemanage2 3.3-1build2 deb +libsepol2 3.3-1build1 deb +libsmartcols1 2.37.2-4ubuntu3 deb +libsqlite3-0 3.37.2-2ubuntu0.1 deb +libss2 1.46.5-2ubuntu1.1 deb +libssh-4 0.9.6-2ubuntu0.22.04.1 deb +libssl3 3.0.2-0ubuntu1.10 deb +libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb +libstdc++6 12.3.0-1ubuntu1~22.04 deb +libsystemd0 249.11-0ubuntu3.9 deb +libtasn1-6 4.18.0-4build1 deb +libtinfo6 6.3-2ubuntu0.1 deb +libtirpc-common 1.3.2-2ubuntu0.1 deb +libtirpc-dev 1.3.2-2ubuntu0.1 deb +libtirpc3 1.3.2-2ubuntu0.1 deb +libtsan0 11.4.0-1ubuntu1~22.04 deb +libtsan2 12.3.0-1ubuntu1~22.04 deb +libubsan1 12.3.0-1ubuntu1~22.04 deb +libudev1 249.11-0ubuntu3.9 deb +libunistring2 1.0-1 deb +libuuid1 2.37.2-4ubuntu3 deb +libxtables12 1.8.7-1ubuntu5.1 deb +libxxhash0 0.8.1-1 deb +libzstd1 1.4.8+dfsg-3build1 deb +linux-libc-dev 5.15.0-79.86 deb +locales 2.35-0ubuntu3.1 deb +login 1:4.8.1-2ubuntu2.1 deb +logsave 1.46.5-2ubuntu1.1 deb +lsb-base 11.1.0ubuntu4 deb +lsb-release 11.1.0ubuntu4 deb +lto-disabled-list 24 deb +make 4.3-4.1build1 deb +mawk 1.3.4.20200120-3 deb +media-types 7.0.0 deb +mount 2.37.2-4ubuntu3 deb +ncurses-base 6.3-2ubuntu0.1 deb +ncurses-bin 6.3-2ubuntu0.1 deb +net-tools 1.60+git20181103.0eebece-1ubuntu5 deb +netbase 6.3 deb +netcat 1.218-4ubuntu1 deb +netcat-openbsd 1.218-4ubuntu1 deb +openresolv 3.12.0-2 deb +openssl 3.0.2-0ubuntu1.10 deb +passwd 1:4.8.1-2ubuntu2.1 deb +patch 2.7.6-7build2 deb +perl 5.34.0-3ubuntu1.2 deb +perl-base 5.34.0-3ubuntu1.2 deb +perl-modules-5.34 5.34.0-3ubuntu1.2 deb +pinentry-curses 1.1.1-1build2 deb +pkg-config 0.29.2-1ubuntu3 deb +procps 2:3.3.17-6ubuntu2 deb +publicsuffix 20211207.1025-1 deb +python3 3.10.6-1~22.04 deb +python3-minimal 3.10.6-1~22.04 deb +python3.10 3.10.12-1~22.04.2 deb +python3.10-minimal 3.10.12-1~22.04.2 deb +qrencode 4.1.1-1 deb +readline-common 8.1.2-1 deb +rpcsvc-proto 1.4.2-0ubuntu6 deb +sed 4.8-1ubuntu2 deb +sensible-utils 0.0.17 deb +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module +sigs.k8s.io/yaml v1.3.0 go-module +sysvinit-utils 3.01-1ubuntu1 deb +tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb +tzdata 2023c-0ubuntu0.22.04.2 deb +ubuntu-keyring 2021.03.26 deb +usrmerge 25ubuntu2 deb +util-linux 2.37.2-4ubuntu3 deb +xz-utils 5.2.5-2ubuntu1 deb +zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb +zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb From a319e12d050562bc90d813894a5d27911a56d9cc Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 31 Aug 2023 11:19:19 +0000 Subject: [PATCH 022/117] Bot Updating Package Versions --- package_versions.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 40f7e823..35d3befe 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -5,6 +5,7 @@ apt-utils 2.4.10 base-files 12ubuntu4.3 deb base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1 deb +bash 5.1.16 binary bc 1.07.1-3build1 deb binutils 2.38-4ubuntu2.3 deb binutils-common 2.38-4ubuntu2.3 deb @@ -302,7 +303,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-79.86 deb +linux-libc-dev 5.15.0-82.91 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 9f30329620315ecb53e78fa71e6dc6d8dcba0830 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 7 Sep 2023 11:19:56 +0000 Subject: [PATCH 023/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 35d3befe..db1ef31f 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -303,7 +303,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-82.91 deb +linux-libc-dev 5.15.0-83.92 deb locales 2.35-0ubuntu3.1 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 6ab8d8ccdc7b74404ebb7bf885501b9a4944566e Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Sep 2023 11:19:35 +0000 Subject: [PATCH 024/117] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index db1ef31f..63748269 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -185,9 +185,9 @@ libbrotli1 1.0.9-2build6 libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.1 deb -libc6 2.35-0ubuntu3.1 deb -libc6-dev 2.35-0ubuntu3.1 deb +libc-dev-bin 2.35-0ubuntu3.3 deb +libc6 2.35-0ubuntu3.3 deb +libc6-dev 2.35-0ubuntu3.3 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb @@ -304,7 +304,7 @@ libxtables12 1.8.7-1ubuntu5.1 libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb linux-libc-dev 5.15.0-83.92 deb -locales 2.35-0ubuntu3.1 deb +locales 2.35-0ubuntu3.3 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb From 4e58b6dc06f07c4b00cb1dc5995483e351f1ade7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 21 Sep 2023 11:19:13 +0000 Subject: [PATCH 025/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 63748269..92135e01 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -303,7 +303,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-83.92 deb +linux-libc-dev 5.15.0-84.93 deb locales 2.35-0ubuntu3.3 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From f1262dda2a78911720fadf0d641f6675fe1471e0 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 5 Oct 2023 11:19:24 +0000 Subject: [PATCH 026/117] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 92135e01..41313e45 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -185,9 +185,9 @@ libbrotli1 1.0.9-2build6 libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.3 deb -libc6 2.35-0ubuntu3.3 deb -libc6-dev 2.35-0ubuntu3.3 deb +libc-dev-bin 2.35-0ubuntu3.4 deb +libc6 2.35-0ubuntu3.4 deb +libc6-dev 2.35-0ubuntu3.4 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb @@ -303,8 +303,8 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-84.93 deb -locales 2.35-0ubuntu3.3 deb +linux-libc-dev 5.15.0-86.96 deb +locales 2.35-0ubuntu3.4 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb From 3ec5a8b6ddd752fc314bc6a69b9eb482e6cd9adb Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Tue, 10 Oct 2023 20:35:13 -0400 Subject: [PATCH 027/117] Add support for multiple WireGuard interfaces Fix coredns env logic --- Dockerfile | 2 + Dockerfile.aarch64 | 2 + readme-vars.yml | 7 ++- root/app/show-peer | 2 +- .../s6-rc.d/init-wireguard-confs/run | 56 ++++++++++--------- .../s6-overlay/s6-rc.d/svc-wireguard/finish | 10 +++- root/etc/s6-overlay/s6-rc.d/svc-wireguard/run | 44 ++++++++++++++- 7 files changed, 91 insertions(+), 32 deletions(-) diff --git a/Dockerfile b/Dockerfile index 373922b4..e0305575 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,6 +45,8 @@ RUN \ sed -i 's|\[\[ $proto == -4 \]\] && cmd sysctl -q net\.ipv4\.conf\.all\.src_valid_mark=1|[[ $proto == -4 ]] \&\& [[ $(sysctl -n net.ipv4.conf.all.src_valid_mark) != 1 ]] \&\& cmd sysctl -q net.ipv4.conf.all.src_valid_mark=1|' src/wg-quick/linux.bash && \ make -C src -j$(nproc) && \ make -C src install && \ + rm -rf /etc/wireguard && \ + ln -s /config/wg_confs /etc/wireguard && \ echo "**** install CoreDNS ****" && \ COREDNS_VERSION=$(curl -sX GET "https://api.github.com/repos/coredns/coredns/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]' | awk '{print substr($1,2); }') && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 629b2aab..d3fe0059 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -45,6 +45,8 @@ RUN \ sed -i 's|\[\[ $proto == -4 \]\] && cmd sysctl -q net\.ipv4\.conf\.all\.src_valid_mark=1|[[ $proto == -4 ]] \&\& [[ $(sysctl -n net.ipv4.conf.all.src_valid_mark) != 1 ]] \&\& cmd sysctl -q net.ipv4.conf.all.src_valid_mark=1|' src/wg-quick/linux.bash && \ make -C src -j$(nproc) && \ make -C src install && \ + rm -rf /etc/wireguard && \ + ln -s /config/wg_confs /etc/wireguard && \ echo "**** install CoreDNS ****" && \ COREDNS_VERSION=$(curl -sX GET "https://api.github.com/repos/coredns/coredns/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]' | awk '{print substr($1,2); }') && \ diff --git a/readme-vars.yml b/readme-vars.yml index 87ce15c1..7730eeb1 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -78,11 +78,13 @@ app_setup_block: | To display the QR codes of active peers again, you can use the following command and list the peer numbers as arguments: `docker exec -it wireguard /app/show-peer 1 4 5` or `docker exec -it wireguard /app/show-peer myPC myPhone myTablet` (Keep in mind that the QR codes are also stored as PNGs in the config folder). - The templates used for server and peer confs are saved under `/config/templates`. Advanced users can modify these templates and force conf generation by deleting `/config/wg0.conf` and restarting the container. + The templates used for server and peer confs are saved under `/config/templates`. Advanced users can modify these templates and force conf generation by deleting `/config/wg_confs/wg0.conf` and restarting the container. + + The container managed server conf is hardcoded to `wg0.conf`. However, the users can add additional tunnel config files with `.conf` extensions into `/config/wg_confs/` and the container will attempt to start them all in alphabetical order. If any one of the tunnels fail, they will all be stopped and the default route will be deleted, requiring user intervention to fix the invalid conf and a container restart. ## Client Mode - Do not set the `PEERS` environment variable. Drop your client conf into the config folder as `/config/wg0.conf` and start the container. + Do not set the `PEERS` environment variable. Drop your client conf(s) into the config folder as `/config/wg_confs/.conf` and start the container. If there are multiple tunnel configs, the container will attempt to start them all in alphabetical order. If any one of the tunnels fail, they will all be stopped and the default route will be deleted, requiring user intervention to fix the invalid conf and a container restart. If you get IPv6 related errors in the log and connection cannot be established, edit the `AllowedIPs` line in your peer/client wg0.conf to include only `0.0.0.0/0` and not `::/0`; and restart the container. @@ -126,6 +128,7 @@ app_setup_block: | # changelog changelogs: + - { date: "03.10.23:", desc: "**Potentially Breaking Change:** Support for multiple interfaces added. Wireguard confs moved to `/config/wg_confs/`. Any file with a `.conf` extension in that folder will be treated as a live tunnel config and will be attempted to start. If any of the tunnels fail, all tunnels will be stopped. Tunnels are started in alphabetical order. Managed server conf will continue to be hardcoded to `wg0.conf`." } - { date: "24.06.23:", desc: "Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)." } - { date: "26.04.23:", desc: "Rework branches, swap alpine & ubuntu builds." } - { date: "28.01.23:", desc: "Patch wg-quick to suppress false positive sysctl warning." } diff --git a/root/app/show-peer b/root/app/show-peer index f44b9e58..fc5e12d2 100755 --- a/root/app/show-peer +++ b/root/app/show-peer @@ -13,7 +13,7 @@ for i in "$@"; do PEER_ID="peer_${i//[^[:alnum:]_-]/}" fi - if grep -q "# ${PEER_ID}" /config/wg0.conf; then + if grep -q "# ${PEER_ID}" /config/wg_confs/wg0.conf; then echo "PEER ${i} QR code:" qrencode -t ansiutf8 < /config/${PEER_ID}/${PEER_ID}.conf else diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run index 610712ee..38ebc266 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run @@ -2,10 +2,15 @@ # shellcheck shell=bash # shellcheck disable=SC2016,SC1091,SC2183 -# prepare symlinks -rm -rf /etc/wireguard -mkdir -p /etc/wireguard -ln -s /config/wg0.conf /etc/wireguard/wg0.conf +mkdir -p /config/wg_confs + +# migration to subfolder for wg confs +if [[ -z "$(ls -A /config/wg_confs)" ]] && [[ -f /config/wg0.conf ]]; then + echo "**** Performing migration to new folder structure for confs. Please see the image changelog 2023-10-03 entry for more details. ****" + cp /config/wg0.conf /config/wg_confs/wg0.conf + rm -rf /config/wg0.conf || : +fi + # prepare templates if [[ ! -f /config/templates/server.conf ]]; then cp /defaults/server.conf /config/templates/server.conf @@ -25,7 +30,7 @@ generate_confs () { wg genkey | tee /config/server/privatekey-server | wg pubkey > /config/server/publickey-server fi eval "$(printf %s) - cat < /config/wg0.conf + cat < /config/wg_confs/wg0.conf $(cat /config/templates/server.conf) DUDE" @@ -65,7 +70,7 @@ DUDE" $(cat /config/templates/peer.conf) DUDE" # add peer info to server conf with presharedkey - cat <> /config/wg0.conf + cat <> /config/wg_confs/wg0.conf [Peer] # ${PEER_ID} PublicKey = $(cat "/config/${PEER_ID}/publickey-${PEER_ID}") @@ -79,7 +84,7 @@ DUDE $(sed '/PresharedKey/d' "/config/templates/peer.conf") DUDE" # add peer info to server conf without presharedkey - cat <> /config/wg0.conf + cat <> /config/wg_confs/wg0.conf [Peer] # ${PEER_ID} PublicKey = $(cat "/config/${PEER_ID}/publickey-${PEER_ID}") @@ -89,22 +94,22 @@ DUDE # add peer's allowedips to server conf if [[ -n "${!SERVER_ALLOWEDIPS}" ]]; then echo "Adding ${!SERVER_ALLOWEDIPS} to wg0.conf's AllowedIPs for peer ${i}" - cat <> /config/wg0.conf + cat <> /config/wg_confs/wg0.conf AllowedIPs = ${CLIENT_IP}/32,${!SERVER_ALLOWEDIPS} DUDE else - cat <> /config/wg0.conf + cat <> /config/wg_confs/wg0.conf AllowedIPs = ${CLIENT_IP}/32 DUDE fi # add PersistentKeepalive if the peer is specified if [[ -n "${PERSISTENTKEEPALIVE_PEERS_ARRAY}" ]] && ([[ "${PERSISTENTKEEPALIVE_PEERS_ARRAY[0]}" = "all" ]] || printf '%s\0' "${PERSISTENTKEEPALIVE_PEERS_ARRAY[@]}" | grep -Fxqz -- "${i}"); then - cat <> /config/wg0.conf + cat <> /config/wg_confs/wg0.conf PersistentKeepalive = 25 DUDE else - cat <> /config/wg0.conf + cat <> /config/wg_confs/wg0.conf DUDE fi @@ -161,29 +166,26 @@ if [[ -n "$PEERS" ]]; then else echo "**** Peer DNS servers will be set to $PEERDNS ****" fi - if [[ ! -f /config/wg0.conf ]]; then + if [[ ! -f /config/wg_confs/wg0.conf ]]; then echo "**** No wg0.conf found (maybe an initial install), generating 1 server and ${PEERS} peer/client confs ****" generate_confs save_vars else - echo "**** Server mode is selected ****" - if [[ -f /config/.donoteditthisfile ]]; then - . /config/.donoteditthisfile - fi - if [[ "$SERVERURL" != "$ORIG_SERVERURL" ]] || [[ "$SERVERPORT" != "$ORIG_SERVERPORT" ]] || [[ "$PEERDNS" != "$ORIG_PEERDNS" ]] || [[ "$PEERS" != "$ORIG_PEERS" ]] || [[ "$INTERFACE" != "$ORIG_INTERFACE" ]] || [[ "$ALLOWEDIPS" != "$ORIG_ALLOWEDIPS" ]] || [[ "$PERSISTENTKEEPALIVE_PEERS" != "$ORIG_PERSISTENTKEEPALIVE_PEERS" ]]; then - echo "**** Server related environment variables changed, regenerating 1 server and ${PEERS} peer/client confs ****" - generate_confs - save_vars - else - echo "**** No changes to parameters. Existing configs are used. ****" - fi + echo "**** Server mode is selected ****" + if [[ -f /config/.donoteditthisfile ]]; then + . /config/.donoteditthisfile + fi + if [[ "$SERVERURL" != "$ORIG_SERVERURL" ]] || [[ "$SERVERPORT" != "$ORIG_SERVERPORT" ]] || [[ "$PEERDNS" != "$ORIG_PEERDNS" ]] || [[ "$PEERS" != "$ORIG_PEERS" ]] || [[ "$INTERFACE" != "$ORIG_INTERFACE" ]] || [[ "$ALLOWEDIPS" != "$ORIG_ALLOWEDIPS" ]] || [[ "$PERSISTENTKEEPALIVE_PEERS" != "$ORIG_PERSISTENTKEEPALIVE_PEERS" ]]; then + echo "**** Server related environment variables changed, regenerating 1 server and ${PEERS} peer/client confs ****" + generate_confs + save_vars + else + echo "**** No changes to parameters. Existing configs are used. ****" + fi fi else echo "**** Client mode selected. ****" - if [[ ! -f /config/wg0.conf ]]; then - echo "**** No client conf found. Provide your own client conf as \"/config/wg0.conf\" and restart the container. ****" - sleep infinity - fi + USE_COREDNS="${USE_COREDNS,,}" printf %s "${USE_COREDNS:-false}" > /run/s6/container_environment/USE_COREDNS fi diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish index 9a5d2135..6b568c92 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/finish @@ -1,4 +1,12 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -wg-quick down wg0 +if [[ -f "/app/activeconfs" ]]; then + . /app/activeconfs + for tunnel in $(printf '%s\n' "${WG_CONFS[@]}" | tac | tr '\n' ' '; echo); do + echo "**** Disabling tunnel ${tunnel} ****" + wg-quick down "${tunnel}" || : + done + echo "**** All tunnels are down ****" + rm -rf /app/activeconfs +fi diff --git a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run index 47ce7565..87b477e2 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-wireguard/run @@ -1,4 +1,46 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -wg-quick up wg0 +unset WG_CONFS +rm -rf /app/activeconfs +# Enumerate interfaces +for wgconf in $(ls /config/wg_confs/*.conf); do + if grep -q "\[Interface\]" "${wgconf}"; then + echo "**** Found WG conf ${wgconf}, adding to list ****" + WG_CONFS+=("${wgconf}") + else + echo "**** Found WG conf ${wgconf}, but it doesn't seem to be valid, skipping. ****" + fi +done + +if [[ -z "${WG_CONFS}" ]]; then + echo "**** No valid tunnel config found. Please create a valid config and restart the container ****" + ip route del default + exit 0 +fi + +unset FAILED +for tunnel in ${WG_CONFS[@]}; do + echo "**** Activating tunnel ${tunnel} ****" + if ! wg-quick up "${tunnel}"; then + FAILED="${tunnel}" + break + fi +done + +if [[ -z "${FAILED}" ]]; then + declare -p WG_CONFS > /app/activeconfs + echo "**** All tunnels are now active ****" +else + echo "**** Tunnel ${FAILED} failed, will stop all others! ****" + for tunnel in ${WG_CONFS[@]}; do + if [[ "${tunnel}" = "${FAILED}" ]]; then + break + else + echo "**** Disabling tunnel ${tunnel} ****" + wg-quick down "${tunnel}" || : + fi + done + ip route del default + echo "**** All tunnels are now down. Please fix the tunnel config ${FAILED} and restart the container ****" +fi From e0cbc5ea2f47e85363ecb616ab41b5eeaca61dfc Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Tue, 10 Oct 2023 20:39:07 -0400 Subject: [PATCH 028/117] fix formatting --- .../s6-rc.d/init-wireguard-confs/run | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run index 38ebc266..2687b2b4 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run +++ b/root/etc/s6-overlay/s6-rc.d/init-wireguard-confs/run @@ -171,17 +171,17 @@ if [[ -n "$PEERS" ]]; then generate_confs save_vars else - echo "**** Server mode is selected ****" - if [[ -f /config/.donoteditthisfile ]]; then - . /config/.donoteditthisfile - fi - if [[ "$SERVERURL" != "$ORIG_SERVERURL" ]] || [[ "$SERVERPORT" != "$ORIG_SERVERPORT" ]] || [[ "$PEERDNS" != "$ORIG_PEERDNS" ]] || [[ "$PEERS" != "$ORIG_PEERS" ]] || [[ "$INTERFACE" != "$ORIG_INTERFACE" ]] || [[ "$ALLOWEDIPS" != "$ORIG_ALLOWEDIPS" ]] || [[ "$PERSISTENTKEEPALIVE_PEERS" != "$ORIG_PERSISTENTKEEPALIVE_PEERS" ]]; then - echo "**** Server related environment variables changed, regenerating 1 server and ${PEERS} peer/client confs ****" - generate_confs - save_vars - else - echo "**** No changes to parameters. Existing configs are used. ****" - fi + echo "**** Server mode is selected ****" + if [[ -f /config/.donoteditthisfile ]]; then + . /config/.donoteditthisfile + fi + if [[ "$SERVERURL" != "$ORIG_SERVERURL" ]] || [[ "$SERVERPORT" != "$ORIG_SERVERPORT" ]] || [[ "$PEERDNS" != "$ORIG_PEERDNS" ]] || [[ "$PEERS" != "$ORIG_PEERS" ]] || [[ "$INTERFACE" != "$ORIG_INTERFACE" ]] || [[ "$ALLOWEDIPS" != "$ORIG_ALLOWEDIPS" ]] || [[ "$PERSISTENTKEEPALIVE_PEERS" != "$ORIG_PERSISTENTKEEPALIVE_PEERS" ]]; then + echo "**** Server related environment variables changed, regenerating 1 server and ${PEERS} peer/client confs ****" + generate_confs + save_vars + else + echo "**** No changes to parameters. Existing configs are used. ****" + fi fi else echo "**** Client mode selected. ****" From cf3959a90bb2bcdf358c4324f45ac463980b017c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 11 Oct 2023 15:54:27 +0000 Subject: [PATCH 029/117] Bot Updating Templated Files --- Jenkinsfile | 77 ++++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d7b9454c..3c743484 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,6 @@ pipeline { GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab') GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') GITLAB_NAMESPACE=credentials('gitlab-namespace-id') - SCARF_TOKEN=credentials('scarf_api_key') CONTAINER_NAME = 'wireguard' BUILD_VERSION_ARG = 'WIREGUARD_VERSION' LS_USER = 'linuxserver' @@ -329,12 +328,12 @@ pipeline { else echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} fi - mkdir -p ${TEMPDIR}/gitbook - git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation - if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/ - cd ${TEMPDIR}/gitbook/docker-documentation/ - git add images/docker-${CONTAINER_NAME}.md + mkdir -p ${TEMPDIR}/docs + git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation + if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ + cd ${TEMPDIR}/docs/docker-documentation + git add docs/images/docker-${CONTAINER_NAME}.md git commit -m 'Bot Updating Documentation' git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all fi @@ -425,35 +424,6 @@ pipeline { "visibility":"public"}' ''' } } - /* ####################### - Scarf.sh package registry - ####################### */ - // Add package to Scarf.sh and set permissions - stage("Scarf.sh package registry"){ - when { - branch "legacy" - environment name: 'EXIT_STATUS', value: '' - } - steps{ - sh '''#! /bin/bash - PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/wireguard") | .uuid' || :) - if [ -z "${PACKAGE_UUID}" ]; then - echo "Adding package to Scarf.sh" - curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \ - -H "Authorization: Bearer ${SCARF_TOKEN}" \ - -H "Content-Type: application/json" \ - -d '{"name":"linuxserver/wireguard",\ - "shortDescription":"example description",\ - "libraryType":"docker",\ - "website":"https://github.com/linuxserver/docker-wireguard",\ - "backendUrl":"https://ghcr.io/linuxserver/wireguard",\ - "publicUrl":"https://lscr.io/linuxserver/wireguard"}' || : - else - echo "Package already exists on Scarf.sh" - fi - ''' - } - } /* ############### Build Container ############### */ @@ -849,6 +819,41 @@ pipeline { curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' } } + // Add protection to the release branch + stage('Github-Release-Branch-Protection') { + when { + branch "legacy" + environment name: 'CHANGE_ID', value: '' + environment name: 'EXIT_STATUS', value: '' + } + steps { + echo "Setting up protection for release branch legacy" + sh '''#! /bin/bash + curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/legacy/protection \ + -d $(jq -c . << EOF + { + "required_status_checks": null, + "enforce_admins": false, + "required_pull_request_reviews": { + "dismiss_stale_reviews": false, + "require_code_owner_reviews": false, + "require_last_push_approval": false, + "required_approving_review_count": 1 + }, + "restrictions": null, + "required_linear_history": false, + "allow_force_pushes": false, + "allow_deletions": false, + "block_creations": false, + "required_conversation_resolution": true, + "lock_branch": false, + "allow_fork_syncing": false, + "required_signatures": false + } +EOF + ) ''' + } + } // Use helper container to sync the current README on master to the dockerhub endpoint stage('Sync-README') { when { From a93a827108e038d4bc0471043491c9f00a1ec374 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 11 Oct 2023 15:55:44 +0000 Subject: [PATCH 030/117] Bot Updating Templated Files --- README.md | 143 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 106 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 05372b68..e356670e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ - - - + + [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) [![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!") @@ -65,6 +64,7 @@ This image provides various versions that are available via tags. Please read th | :----: | :----: |--- | | latest | ✅ | Stable releases based on Alpine *without* support for compiling Wireguard modules. | | legacy | ✅ | Stable releases with support for compiling Wireguard modules for older kernels. | + ## Application Setup During container start, it will first check if the wireguard module is already installed and loaded. Kernels newer than 5.6 generally have the wireguard module built-in (along with some older custom kernels). However, the module may not be enabled. Make sure it is enabled prior to starting the container. @@ -87,11 +87,13 @@ To add more peers/clients later on, you increment the `PEERS` environment variab To display the QR codes of active peers again, you can use the following command and list the peer numbers as arguments: `docker exec -it wireguard /app/show-peer 1 4 5` or `docker exec -it wireguard /app/show-peer myPC myPhone myTablet` (Keep in mind that the QR codes are also stored as PNGs in the config folder). -The templates used for server and peer confs are saved under `/config/templates`. Advanced users can modify these templates and force conf generation by deleting `/config/wg0.conf` and restarting the container. +The templates used for server and peer confs are saved under `/config/templates`. Advanced users can modify these templates and force conf generation by deleting `/config/wg_confs/wg0.conf` and restarting the container. + +The container managed server conf is hardcoded to `wg0.conf`. However, the users can add additional tunnel config files with `.conf` extensions into `/config/wg_confs/` and the container will attempt to start them all in alphabetical order. If any one of the tunnels fail, they will all be stopped and the default route will be deleted, requiring user intervention to fix the invalid conf and a container restart. ## Client Mode -Do not set the `PEERS` environment variable. Drop your client conf into the config folder as `/config/wg0.conf` and start the container. +Do not set the `PEERS` environment variable. Drop your client conf(s) into the config folder as `/config/wg_confs/.conf` and start the container. If there are multiple tunnel configs, the container will attempt to start them all in alphabetical order. If any one of the tunnels fail, they will all be stopped and the default route will be deleted, requiring user intervention to fix the invalid conf and a container restart. If you get IPv6 related errors in the log and connection cannot be established, edit the `AllowedIPs` line in your peer/client wg0.conf to include only `0.0.0.0/0` and not `::/0`; and restart the container. @@ -134,7 +136,7 @@ Don't forget to set the necessary POSTUP and POSTDOWN rules in your client's pee ## Usage -Here are some example snippets to help you get started creating a container. +To help you get started creating a container from this image you can either use docker-compose or the docker cli. ### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose)) @@ -194,12 +196,11 @@ docker run -d \ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ --restart unless-stopped \ lscr.io/linuxserver/wireguard:legacy - ``` ## Parameters -Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `:` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container. +Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `:` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container. | Parameter | Function | | :----: | --- | @@ -230,10 +231,10 @@ You can set any environment variable from a file by using a special prepend `FIL As an example: ```bash --e FILE__PASSWORD=/run/secrets/mysecretpassword +-e FILE__MYVAR=/run/secrets/mysecretvariable ``` -Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file. +Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file. ## Umask for running applications @@ -242,15 +243,20 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu ## User / Group Identifiers -When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`. +When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic. -In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below: +In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below: ```bash - $ id username - uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup) +id your_user +``` + +Example output: + +```text +uid=1000(your_user) gid=1000(your_user) groups=1000(your_user) ``` ## Docker Mods @@ -261,12 +267,29 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to ## Support Info -* Shell access whilst the container is running: `docker exec -it wireguard /bin/bash` -* To monitor the logs of the container in realtime: `docker logs -f wireguard` -* container version number - * `docker inspect -f '{{ index .Config.Labels "build_version" }}' wireguard` -* image version number - * `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/wireguard:legacy` +* Shell access whilst the container is running: + + ```bash + docker exec -it wireguard /bin/bash + ``` + +* To monitor the logs of the container in realtime: + + ```bash + docker logs -f wireguard + ``` + +* Container version number: + + ```bash + docker inspect -f '{{ index .Config.Labels "build_version" }}' wireguard + ``` + +* Image version number: + + ```bash + docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/wireguard:legacy + ``` ## Updating Info @@ -276,38 +299,83 @@ Below are the instructions for updating containers: ### Via Docker Compose -* Update all images: `docker-compose pull` - * or update a single image: `docker-compose pull wireguard` -* Let compose update all containers as necessary: `docker-compose up -d` - * or update a single container: `docker-compose up -d wireguard` -* You can also remove the old dangling images: `docker image prune` +* Update images: + * All images: + + ```bash + docker-compose pull + ``` + + * Single image: + + ```bash + docker-compose pull wireguard + ``` + +* Update containers: + * All containers: + + ```bash + docker-compose up -d + ``` + + * Single container: + + ```bash + docker-compose up -d wireguard + ``` + +* You can also remove the old dangling images: + + ```bash + docker image prune + ``` ### Via Docker Run -* Update the image: `docker pull lscr.io/linuxserver/wireguard:legacy` -* Stop the running container: `docker stop wireguard` -* Delete the container: `docker rm wireguard` +* Update the image: + + ```bash + docker pull lscr.io/linuxserver/wireguard:legacy + ``` + +* Stop the running container: + + ```bash + docker stop wireguard + ``` + +* Delete the container: + + ```bash + docker rm wireguard + ``` + * Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved) -* You can also remove the old dangling images: `docker image prune` +* You can also remove the old dangling images: + + ```bash + docker image prune + ``` ### Via Watchtower auto-updater (only use if you don't remember the original parameters) * Pull the latest image at its tag and replace it with the same env variables in one run: - ```bash - docker run --rm \ - -v /var/run/docker.sock:/var/run/docker.sock \ - containrrr/watchtower \ - --run-once wireguard - ``` + ```bash + docker run --rm \ + -v /var/run/docker.sock:/var/run/docker.sock \ + containrrr/watchtower \ + --run-once wireguard + ``` * You can also remove the old dangling images: `docker image prune` -**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose). +**warning**: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose). ### Image Update Notifications - Diun (Docker Image Update Notifier) -* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. +**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. ## Building locally @@ -332,6 +400,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **03.10.23:** - **Potentially Breaking Change:** Support for multiple interfaces added. Wireguard confs moved to `/config/wg_confs/`. Any file with a `.conf` extension in that folder will be treated as a live tunnel config and will be attempted to start. If any of the tunnels fail, all tunnels will be stopped. Tunnels are started in alphabetical order. Managed server conf will continue to be hardcoded to `wg0.conf`. * **24.06.23:** - Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf). * **26.04.23:** - Rework branches, swap alpine & ubuntu builds. * **28.01.23:** - Patch wg-quick to suppress false positive sysctl warning. From 6b927ecbc294f9396c1ad96b4bd1ee60c01c71f2 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 11 Oct 2023 15:59:50 +0000 Subject: [PATCH 031/117] Bot Updating Package Versions --- package_versions.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 41313e45..32f94c97 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -197,7 +197,7 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.3 deb libctf0 2.38-4ubuntu2.3 deb -libcurl3-gnutls 7.81.0-1ubuntu1.13 deb +libcurl3-gnutls 7.81.0-1ubuntu1.14 deb libcurl4 7.81.0-1ubuntu1.13 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb @@ -343,6 +343,7 @@ sensible-utils 0.0.17 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module sigs.k8s.io/yaml v1.3.0 go-module +stdlib go1.20.7 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb tzdata 2023c-0ubuntu0.22.04.2 deb From 05b27de0ce30eba39091c3acf86a539b1ffaa51b Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 19 Oct 2023 11:20:15 +0000 Subject: [PATCH 032/117] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 32f94c97..c760a75a 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -19,7 +19,7 @@ coreutils 8.32-4.1ubuntu1 cpp 4:11.2.0-1ubuntu1 deb cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb -curl 7.81.0-1ubuntu1.13 deb +curl 7.81.0-1ubuntu1.14 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -198,7 +198,7 @@ libcrypt1 1:4.4.27-1 libctf-nobfd0 2.38-4ubuntu2.3 deb libctf0 2.38-4ubuntu2.3 deb libcurl3-gnutls 7.81.0-1ubuntu1.14 deb -libcurl4 7.81.0-1ubuntu1.13 deb +libcurl4 7.81.0-1ubuntu1.14 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.2 deb From e7d3779f91eff2c560978e918e5936b7dafb55c7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 26 Oct 2023 11:18:28 +0000 Subject: [PATCH 033/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index c760a75a..bd6682dc 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -26,7 +26,7 @@ debconf 1.5.79ubuntu1 debianutils 5.5-1ubuntu2 deb diffutils 1:3.8-0ubuntu2 deb dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.4 deb +distro-info-data 0.52ubuntu0.5 deb dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.2 deb dpkg-dev 1.21.1ubuntu2.2 deb @@ -303,7 +303,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-86.96 deb +linux-libc-dev 5.15.0-87.97 deb locales 2.35-0ubuntu3.4 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb @@ -321,7 +321,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.10 deb +openssl 3.0.2-0ubuntu1.12 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.2 deb From c22f8f78b0dac4073976f1e166e2d7ba2a240b46 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 2 Nov 2023 11:19:39 +0000 Subject: [PATCH 034/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index bd6682dc..b980d9fe 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -303,7 +303,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-87.97 deb +linux-libc-dev 5.15.0-88.98 deb locales 2.35-0ubuntu3.4 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 6efd3f4186aa8d3eff6cb2006da1ec517f1cf1c1 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 9 Nov 2023 11:20:37 +0000 Subject: [PATCH 035/117] Bot Updating Package Versions --- package_versions.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/package_versions.txt b/package_versions.txt index b980d9fe..2db84c89 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -19,6 +19,7 @@ coreutils 8.32-4.1ubuntu1 cpp 4:11.2.0-1ubuntu1 deb cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb +cron 3.0pl1-137ubuntu3 deb curl 7.81.0-1ubuntu1.14 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb From 899e3c77fa37169535062171fefb71a5667531ef Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 16 Nov 2023 11:18:46 +0000 Subject: [PATCH 036/117] Bot Updating Templated Files --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e356670e..fa9e3d92 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Find us at: ## Supported Architectures -We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/). +We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/). Simply pulling `lscr.io/linuxserver/wireguard:legacy` should retrieve the correct image for your arch, but you can also pull specific arch images via tags. From d7938c5974cb39e7ec670bbf697fdf6d2d9a8eb3 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 23 Nov 2023 11:19:22 +0000 Subject: [PATCH 037/117] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 2db84c89..919aa452 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,7 +1,7 @@ NAME VERSION TYPE adduser 3.118ubuntu5 deb -apt 2.4.10 deb -apt-utils 2.4.10 deb +apt 2.4.11 deb +apt-utils 2.4.11 deb base-files 12ubuntu4.3 deb base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1 deb @@ -171,7 +171,7 @@ k8s.io/kube-openapi v0.0.0-20230501164219-8 k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.10 deb +libapt-pkg6.0 2.4.11 deb libasan6 11.4.0-1ubuntu1~22.04 deb libasan8 12.3.0-1ubuntu1~22.04 deb libassuan0 2.5.5-1build1 deb @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-88.98 deb +linux-libc-dev 5.15.0-89.99 deb locales 2.35-0ubuntu3.4 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From b00e30362410fc2754839f4093724486348b3429 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 30 Nov 2023 11:19:56 +0000 Subject: [PATCH 038/117] Bot Updating Package Versions --- package_versions.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 919aa452..20e6ee04 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -157,7 +157,7 @@ gpgv 2.2.27-3ubuntu2.1 grep 3.7-1build1 deb gzip 1.10-4ubuntu4.1 deb hostname 3.23ubuntu2 deb -ifupdown 0.8.36+nmu1ubuntu3 deb +ifupdown 0.8.36+nmu1ubuntu3.1 deb init-system-helpers 1.62 deb iproute2 5.15.0-1ubuntu2 deb iptables 1.8.7-1ubuntu5.1 deb @@ -251,7 +251,7 @@ libnetfilter-conntrack3 1.0.9-1 libnettle8 3.7.3-1build2 deb libnfnetlink0 1.0.1-3build3 deb libnftnl11 1.2.1-1build1 deb -libnghttp2-14 1.43.0-1build3 deb +libnghttp2-14 1.43.0-1ubuntu0.1 deb libnpth0 1.6-3build2 deb libnsl-dev 1.3.0-2build2 deb libnsl2 1.3.0-2build2 deb @@ -263,13 +263,13 @@ libpam-runtime 1.4.0-11ubuntu2.3 libpam0g 1.4.0-11ubuntu2.3 deb libpcre2-8-0 10.39-3ubuntu0.1 deb libpcre3 2:8.39-13ubuntu0.22.04.1 deb -libperl5.34 5.34.0-3ubuntu1.2 deb +libperl5.34 5.34.0-3ubuntu1.3 deb libpng16-16 1.6.37-3build5 deb libprocps8 2:3.3.17-6ubuntu2 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.12-1~22.04.2 deb -libpython3.10-stdlib 3.10.12-1~22.04.2 deb +libpython3.10-minimal 3.10.12-1~22.04.3 deb +libpython3.10-stdlib 3.10.12-1~22.04.3 deb libqrencode4 4.1.1-1 deb libquadmath0 12.3.0-1ubuntu1~22.04 deb libreadline8 8.1.2-1 deb @@ -325,17 +325,17 @@ openresolv 3.12.0-2 openssl 3.0.2-0ubuntu1.12 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb -perl 5.34.0-3ubuntu1.2 deb -perl-base 5.34.0-3ubuntu1.2 deb -perl-modules-5.34 5.34.0-3ubuntu1.2 deb +perl 5.34.0-3ubuntu1.3 deb +perl-base 5.34.0-3ubuntu1.3 deb +perl-modules-5.34 5.34.0-3ubuntu1.3 deb pinentry-curses 1.1.1-1build2 deb pkg-config 0.29.2-1ubuntu3 deb procps 2:3.3.17-6ubuntu2 deb publicsuffix 20211207.1025-1 deb python3 3.10.6-1~22.04 deb python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.12-1~22.04.2 deb -python3.10-minimal 3.10.12-1~22.04.2 deb +python3.10 3.10.12-1~22.04.3 deb +python3.10-minimal 3.10.12-1~22.04.3 deb qrencode 4.1.1-1 deb readline-common 8.1.2-1 deb rpcsvc-proto 1.4.2-0ubuntu6 deb From 1b8fea5353e9272bf17b981c46d3d320731dfb30 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 7 Dec 2023 11:19:59 +0000 Subject: [PATCH 039/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 20e6ee04..1e05d717 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -198,7 +198,7 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.3 deb libctf0 2.38-4ubuntu2.3 deb -libcurl3-gnutls 7.81.0-1ubuntu1.14 deb +libcurl3-gnutls 7.81.0-1ubuntu1.15 deb libcurl4 7.81.0-1ubuntu1.14 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb From 5c13a79533000efe12d5a799cbce4d3583854cde Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Dec 2023 11:20:10 +0000 Subject: [PATCH 040/117] Bot Updating Package Versions --- package_versions.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 1e05d717..3ab24c3c 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -7,9 +7,9 @@ base-passwd 3.5.52build1 bash 5.1-6ubuntu1 deb bash 5.1.16 binary bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.3 deb -binutils-common 2.38-4ubuntu2.3 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.3 deb +binutils 2.38-4ubuntu2.4 deb +binutils-common 2.38-4ubuntu2.4 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.4 deb bsdutils 1:2.37.2-4ubuntu3 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb @@ -20,7 +20,7 @@ cpp 4:11.2.0-1ubuntu1 cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.14 deb +curl 7.81.0-1ubuntu1.15 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -179,16 +179,16 @@ libatomic1 12.3.0-1ubuntu1~22.04 libattr1 1:2.5.1-1build1 deb libaudit-common 1:3.0.7-1build1 deb libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.3 deb +libbinutils 2.38-4ubuntu2.4 deb libblkid1 2.37.2-4ubuntu3 deb libbpf0 1:0.5.0-1ubuntu22.04.1 deb libbrotli1 1.0.9-2build6 deb libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.4 deb -libc6 2.35-0ubuntu3.4 deb -libc6-dev 2.35-0ubuntu3.4 deb +libc-dev-bin 2.35-0ubuntu3.5 deb +libc6 2.35-0ubuntu3.5 deb +libc6-dev 2.35-0ubuntu3.5 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb @@ -196,10 +196,10 @@ libcc1-0 12.3.0-1ubuntu1~22.04 libcom-err2 1.46.5-2ubuntu1.1 deb libcrypt-dev 1:4.4.27-1 deb libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.3 deb -libctf0 2.38-4ubuntu2.3 deb +libctf-nobfd0 2.38-4ubuntu2.4 deb +libctf0 2.38-4ubuntu2.4 deb libcurl3-gnutls 7.81.0-1ubuntu1.15 deb -libcurl4 7.81.0-1ubuntu1.14 deb +libcurl4 7.81.0-1ubuntu1.15 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.2 deb @@ -304,8 +304,8 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-89.99 deb -locales 2.35-0ubuntu3.4 deb +linux-libc-dev 5.15.0-91.101 deb +locales 2.35-0ubuntu3.5 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb From 9222edd0a9314c43ec091c20960be0219ce791ad Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 21 Dec 2023 11:20:20 +0000 Subject: [PATCH 041/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 3ab24c3c..53ffbca5 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -285,7 +285,7 @@ libsepol2 3.3-1build1 libsmartcols1 2.37.2-4ubuntu3 deb libsqlite3-0 3.37.2-2ubuntu0.1 deb libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2ubuntu0.22.04.1 deb +libssh-4 0.9.6-2ubuntu0.22.04.2 deb libssl3 3.0.2-0ubuntu1.10 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb From bc5fd9be539e2cba45fdd3b9a88940d9246c8e1a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 4 Jan 2024 11:19:31 +0000 Subject: [PATCH 042/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 53ffbca5..d5fcac78 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -27,7 +27,7 @@ debconf 1.5.79ubuntu1 debianutils 5.5-1ubuntu2 deb diffutils 1:3.8-0ubuntu2 deb dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.5 deb +distro-info-data 0.52ubuntu0.6 deb dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.2 deb dpkg-dev 1.21.1ubuntu2.2 deb From 9e0edbf1a4190b9cd7f8ec12f80a6edac6b133b5 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 11 Jan 2024 11:18:24 +0000 Subject: [PATCH 043/117] Bot Updating Templated Files --- Jenkinsfile | 287 +++++++++++++++++++++++++++------------------------- 1 file changed, 148 insertions(+), 139 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3c743484..9a4e89b6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,6 +16,7 @@ pipeline { GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab') GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') GITLAB_NAMESPACE=credentials('gitlab-namespace-id') + DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat') CONTAINER_NAME = 'wireguard' BUILD_VERSION_ARG = 'WIREGUARD_VERSION' LS_USER = 'linuxserver' @@ -58,11 +59,16 @@ pipeline { env.COMMIT_SHA = sh( script: '''git rev-parse HEAD''', returnStdout: true).trim() + env.GH_DEFAULT_BRANCH = sh( + script: '''git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||' ''', + returnStdout: true).trim() env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.PULL_REQUEST = env.CHANGE_ID env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml ./root/donate.txt' } + sh '''#! /bin/bash + echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" ''' script{ env.LS_RELEASE_NUMBER = sh( script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''', @@ -120,7 +126,7 @@ pipeline { steps{ script{ env.EXT_RELEASE_CLEAN = sh( - script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''', + script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/ ]//g' ''', returnStdout: true).trim() def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/ @@ -138,7 +144,7 @@ pipeline { } if (env.SEMVER != null) { - if (BRANCH_NAME != "master" && BRANCH_NAME != "main") { + if (BRANCH_NAME != "${env.GH_DEFAULT_BRANCH}") { env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}" } println("SEMVER: ${env.SEMVER}") @@ -256,115 +262,150 @@ pipeline { } } steps { - sh '''#! /bin/bash - set -e - TEMPDIR=$(mktemp -d) - docker pull ghcr.io/linuxserver/jenkins-builder:latest - docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=legacy -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest - # Stage 1 - Jenkinsfile update - if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ - git add Jenkinsfile - git commit -m 'Bot Updating Templated Files' - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Updating Jenkinsfile" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "Jenkinsfile is up to date." - fi - # Stage 2 - Delete old templates - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" - for i in ${OLD_TEMPLATES}; do - if [[ -f "${i}" ]]; then - TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" + withCredentials([ + [ + $class: 'UsernamePasswordMultiBinding', + credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', + usernameVariable: 'DOCKERUSER', + passwordVariable: 'DOCKERPASS' + ] + ]) { + sh '''#! /bin/bash + set -e + TEMPDIR=$(mktemp -d) + docker pull ghcr.io/linuxserver/jenkins-builder:latest + docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=legacy -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest + # Stage 1 - Jenkinsfile update + if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ + git add Jenkinsfile + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Updating Jenkinsfile" + rm -Rf ${TEMPDIR} + exit 0 + else + echo "Jenkinsfile is up to date." fi - done - if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - for i in ${TEMPLATES_TO_DELETE}; do - git rm "${i}" + # Stage 2 - Delete old templates + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" + for i in ${OLD_TEMPLATES}; do + if [[ -f "${i}" ]]; then + TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" + fi done - git commit -m 'Bot Updating Templated Files' - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Deleting old and deprecated templates" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "No templates to delete" - fi - # Stage 3 - Update templates - CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) - cd ${TEMPDIR}/docker-${CONTAINER_NAME} - NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) - if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy + if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + for i in ${TEMPLATES_TO_DELETE}; do + git rm "${i}" + done + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Deleting old and deprecated templates" + rm -Rf ${TEMPDIR} + exit 0 + else + echo "No templates to delete" + fi + # Stage 3 - Update templates + CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) cd ${TEMPDIR}/docker-${CONTAINER_NAME} - mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows - mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE - cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : - cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : - cd ${TEMPDIR}/repo/${LS_REPO}/ - if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then - echo ".jenkins-external" >> .gitignore - git add .gitignore + NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) + if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + cd ${TEMPDIR}/docker-${CONTAINER_NAME} + mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows + mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE + cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : + cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : + cd ${TEMPDIR}/repo/${LS_REPO}/ + if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then + echo ".jenkins-external" >> .gitignore + git add .gitignore + fi + git add readme-vars.yml ${TEMPLATED_FILES} + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + else + echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} fi - git add readme-vars.yml ${TEMPLATED_FILES} - git commit -m 'Bot Updating Templated Files' - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - else - echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - fi - mkdir -p ${TEMPDIR}/docs - git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation - if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ - cd ${TEMPDIR}/docs/docker-documentation - git add docs/images/docker-${CONTAINER_NAME}.md - git commit -m 'Bot Updating Documentation' - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all - fi - mkdir -p ${TEMPDIR}/unraid - git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates - git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates - if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then - sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml - elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then - sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml - fi - if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then - cd ${TEMPDIR}/unraid/templates/ - if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - echo "Image is on the ignore list, marking Unraid template as deprecated" - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add -u unraid/${CONTAINER_NAME}.xml - git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : - git commit -m 'Bot Moving Deprecated Unraid Template' || : + mkdir -p ${TEMPDIR}/docs + git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation + if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ + cd ${TEMPDIR}/docs/docker-documentation + GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') + git add docs/images/docker-${CONTAINER_NAME}.md + git commit -m 'Bot Updating Documentation' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} + fi + mkdir -p ${TEMPDIR}/unraid + git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates + git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates + if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then + sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then + sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + fi + if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then + cd ${TEMPDIR}/unraid/templates/ + GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') + if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then + echo "Image is on the ignore list, marking Unraid template as deprecated" + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add -u unraid/${CONTAINER_NAME}.xml + git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : + git commit -m 'Bot Moving Deprecated Unraid Template' || : + else + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add unraid/${CONTAINER_NAME}.xml + git commit -m 'Bot Updating Unraid Template' + fi + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} + fi + # Stage 4 - Sync Readme to Docker Hub + if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then + if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then + echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub" + DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite" + else + echo "Syncing readme to Docker Hub" + DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md" + fi + DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') + curl -s \ + -H "Authorization: JWT ${DH_TOKEN}" \ + -H "Content-Type: application/json" \ + -X PATCH \ + -d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \ + https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || : else - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add unraid/${CONTAINER_NAME}.xml - git commit -m 'Bot Updating Unraid Template' + echo "Not the default Github branch. Skipping readme sync to Docker Hub." fi - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all - fi - rm -Rf ${TEMPDIR}''' - script{ - env.FILES_UPDATED = sh( - script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', - returnStdout: true).trim() + rm -Rf ${TEMPDIR}''' + script{ + env.FILES_UPDATED = sh( + script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', + returnStdout: true).trim() + } } } } @@ -558,7 +599,8 @@ pipeline { wait git add package_versions.txt git commit -m 'Bot Updating Package Versions' - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER} echo "Package tag updated, stopping build process" else @@ -854,39 +896,6 @@ EOF ) ''' } } - // Use helper container to sync the current README on master to the dockerhub endpoint - stage('Sync-README') { - when { - environment name: 'CHANGE_ID', value: '' - environment name: 'EXIT_STATUS', value: '' - } - steps { - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', - usernameVariable: 'DOCKERUSER', - passwordVariable: 'DOCKERPASS' - ] - ]) { - sh '''#! /bin/bash - set -e - TEMPDIR=$(mktemp -d) - docker pull ghcr.io/linuxserver/jenkins-builder:latest - docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest - docker pull ghcr.io/linuxserver/readme-sync - docker run --rm=true \ - -e DOCKERHUB_USERNAME=$DOCKERUSER \ - -e DOCKERHUB_PASSWORD=$DOCKERPASS \ - -e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \ - -e DOCKER_REPOSITORY=${IMAGE} \ - -e GIT_BRANCH=master \ - -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \ - ghcr.io/linuxserver/readme-sync bash -c 'node sync' - rm -Rf ${TEMPDIR} ''' - } - } - } // If this is a Pull request send the CI link as a comment on it stage('Pull Request Comment') { when { From 7b3b3f5a5a3a9354cdca6d92ff4295158ebcb49a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 11 Jan 2024 11:20:31 +0000 Subject: [PATCH 044/117] Bot Updating Templated Files --- README.md | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/README.md b/README.md index fa9e3d92..9eaa966f 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,6 @@ To help you get started creating a container from this image you can either use ```yaml --- -version: "2.1" services: wireguard: image: lscr.io/linuxserver/wireguard:legacy @@ -293,7 +292,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to ## Updating Info -Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image. +Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image. Below are the instructions for updating containers: @@ -358,21 +357,6 @@ Below are the instructions for updating containers: docker image prune ``` -### Via Watchtower auto-updater (only use if you don't remember the original parameters) - -* Pull the latest image at its tag and replace it with the same env variables in one run: - - ```bash - docker run --rm \ - -v /var/run/docker.sock:/var/run/docker.sock \ - containrrr/watchtower \ - --run-once wireguard - ``` - -* You can also remove the old dangling images: `docker image prune` - -**warning**: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose). - ### Image Update Notifications - Diun (Docker Image Update Notifier) **tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. From 806ab9220e9310248896c04dabb3b93506854d1c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 11 Jan 2024 11:26:37 +0000 Subject: [PATCH 045/117] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index d5fcac78..3b9ed989 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -186,9 +186,9 @@ libbrotli1 1.0.9-2build6 libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.5 deb -libc6 2.35-0ubuntu3.5 deb -libc6-dev 2.35-0ubuntu3.5 deb +libc-dev-bin 2.35-0ubuntu3.6 deb +libc6 2.35-0ubuntu3.6 deb +libc6-dev 2.35-0ubuntu3.6 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb @@ -283,7 +283,7 @@ libsemanage-common 3.3-1build2 libsemanage2 3.3-1build2 deb libsepol2 3.3-1build1 deb libsmartcols1 2.37.2-4ubuntu3 deb -libsqlite3-0 3.37.2-2ubuntu0.1 deb +libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.2 deb libssl3 3.0.2-0ubuntu1.10 deb From 4df3a63270af7d26a596000eb153ee82917b6a04 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 18 Jan 2024 11:21:42 +0000 Subject: [PATCH 046/117] Bot Updating Package Versions --- package_versions.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 3b9ed989..226f128e 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -7,9 +7,9 @@ base-passwd 3.5.52build1 bash 5.1-6ubuntu1 deb bash 5.1.16 binary bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.4 deb -binutils-common 2.38-4ubuntu2.4 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.4 deb +binutils 2.38-4ubuntu2.5 deb +binutils-common 2.38-4ubuntu2.5 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.5 deb bsdutils 1:2.37.2-4ubuntu3 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb @@ -179,7 +179,7 @@ libatomic1 12.3.0-1ubuntu1~22.04 libattr1 1:2.5.1-1build1 deb libaudit-common 1:3.0.7-1build1 deb libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.4 deb +libbinutils 2.38-4ubuntu2.5 deb libblkid1 2.37.2-4ubuntu3 deb libbpf0 1:0.5.0-1ubuntu22.04.1 deb libbrotli1 1.0.9-2build6 deb @@ -196,8 +196,8 @@ libcc1-0 12.3.0-1ubuntu1~22.04 libcom-err2 1.46.5-2ubuntu1.1 deb libcrypt-dev 1:4.4.27-1 deb libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.4 deb -libctf0 2.38-4ubuntu2.4 deb +libctf-nobfd0 2.38-4ubuntu2.5 deb +libctf0 2.38-4ubuntu2.5 deb libcurl3-gnutls 7.81.0-1ubuntu1.15 deb libcurl4 7.81.0-1ubuntu1.15 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb @@ -305,7 +305,7 @@ libxtables12 1.8.7-1ubuntu5.1 libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb linux-libc-dev 5.15.0-91.101 deb -locales 2.35-0ubuntu3.5 deb +locales 2.35-0ubuntu3.6 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb @@ -347,7 +347,7 @@ sigs.k8s.io/yaml v1.3.0 stdlib go1.20.7 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb -tzdata 2023c-0ubuntu0.22.04.2 deb +tzdata 2023d-0ubuntu0.22.04 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb util-linux 2.37.2-4ubuntu3 deb From 77bbc4a934095f206f5b957447c74b0bef1be379 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 25 Jan 2024 11:20:20 +0000 Subject: [PATCH 047/117] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 226f128e..3783cd2b 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -285,7 +285,7 @@ libsepol2 3.3-1build1 libsmartcols1 2.37.2-4ubuntu3 deb libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2ubuntu0.22.04.2 deb +libssh-4 0.9.6-2ubuntu0.22.04.3 deb libssl3 3.0.2-0ubuntu1.10 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-91.101 deb +linux-libc-dev 5.15.0-92.102 deb locales 2.35-0ubuntu3.6 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 378815326105eaee48d9a089247ced4282fbd799 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 1 Feb 2024 11:19:07 +0000 Subject: [PATCH 048/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 3783cd2b..aa6c9edb 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -234,8 +234,8 @@ libkmod2 29-1ubuntu1 libkrb5-3 1.19.2-2ubuntu0.2 deb libkrb5support0 1.19.2-2ubuntu0.2 deb libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.1 deb -libldap-common 2.5.16+dfsg-0ubuntu0.22.04.1 deb +libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb +libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb liblsan0 12.3.0-1ubuntu1~22.04 deb liblz4-1 1.9.3-2build2 deb liblzma5 5.2.5-2ubuntu1 deb @@ -322,7 +322,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.12 deb +openssl 3.0.2-0ubuntu1.13 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.3 deb From fd5677322ccc2b5ee33aebd5e4568acda24d3e1f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 8 Feb 2024 11:20:09 +0000 Subject: [PATCH 049/117] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index aa6c9edb..13028737 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.1 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-92.102 deb +linux-libc-dev 5.15.0-94.104 deb locales 2.35-0ubuntu3.6 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb @@ -322,7 +322,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.13 deb +openssl 3.0.2-0ubuntu1.14 deb passwd 1:4.8.1-2ubuntu2.1 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.3 deb From bc55ebf9e7e36425c1bdbacf5716a7f43977778f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 15 Feb 2024 11:21:57 +0000 Subject: [PATCH 050/117] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 13028737..289d2d7c 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -160,7 +160,7 @@ hostname 3.23ubuntu2 ifupdown 0.8.36+nmu1ubuntu3.1 deb init-system-helpers 1.62 deb iproute2 5.15.0-1ubuntu2 deb -iptables 1.8.7-1ubuntu5.1 deb +iptables 1.8.7-1ubuntu5.2 deb iputils-ping 3:20211215-1 deb jq 1.6-2.1ubuntu3 deb k8s.io/api v0.27.4 go-module @@ -223,8 +223,8 @@ libgpg-error0 1.43-3 libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb libhogweed6 3.7.3-1build2 deb libidn2-0 2.3.2-2build1 deb -libip4tc2 1.8.7-1ubuntu5.1 deb -libip6tc2 1.8.7-1ubuntu5.1 deb +libip4tc2 1.8.7-1ubuntu5.2 deb +libip6tc2 1.8.7-1ubuntu5.2 deb libisl23 0.24-2build1 deb libitm1 12.3.0-1ubuntu1~22.04 deb libjq1 1.6-2.1ubuntu3 deb @@ -301,7 +301,7 @@ libubsan1 12.3.0-1ubuntu1~22.04 libudev1 249.11-0ubuntu3.9 deb libunistring2 1.0-1 deb libuuid1 2.37.2-4ubuntu3 deb -libxtables12 1.8.7-1ubuntu5.1 deb +libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb linux-libc-dev 5.15.0-94.104 deb From b14c7750cb533d2b7e8a698b2bc94039dc26a4be Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 22 Feb 2024 11:17:11 +0000 Subject: [PATCH 051/117] Bot Updating Templated Files --- Jenkinsfile | 297 +++++++++++++++++++++++++--------------------------- 1 file changed, 143 insertions(+), 154 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9a4e89b6..cc2bef3f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -245,9 +245,11 @@ pipeline { -v ${WORKSPACE}:/mnt \ -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ - ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ - apk add --no-cache py3-pip && \ - pip install s3cmd && \ + ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ + apk add --no-cache python3 && \ + python3 -m venv /lsiopy && \ + pip install --no-cache-dir -U pip && \ + pip install --no-cache-dir s3cmd && \ s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :''' } } @@ -262,150 +264,149 @@ pipeline { } } steps { - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', - usernameVariable: 'DOCKERUSER', - passwordVariable: 'DOCKERPASS' - ] - ]) { - sh '''#! /bin/bash - set -e - TEMPDIR=$(mktemp -d) - docker pull ghcr.io/linuxserver/jenkins-builder:latest - docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=legacy -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest - # Stage 1 - Jenkinsfile update - if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ - git add Jenkinsfile - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Updating Jenkinsfile" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "Jenkinsfile is up to date." + sh '''#! /bin/bash + set -e + TEMPDIR=$(mktemp -d) + docker pull ghcr.io/linuxserver/jenkins-builder:latest + docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=legacy -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest + # Stage 1 - Jenkinsfile update + if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ + git add Jenkinsfile + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Updating Jenkinsfile" + rm -Rf ${TEMPDIR} + exit 0 + else + echo "Jenkinsfile is up to date." + fi + # Stage 2 - Delete old templates + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" + for i in ${OLD_TEMPLATES}; do + if [[ -f "${i}" ]]; then + TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" fi - # Stage 2 - Delete old templates - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" - for i in ${OLD_TEMPLATES}; do - if [[ -f "${i}" ]]; then - TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" - fi + done + if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + for i in ${TEMPLATES_TO_DELETE}; do + git rm "${i}" done - if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - for i in ${TEMPLATES_TO_DELETE}; do - git rm "${i}" - done - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Deleting old and deprecated templates" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "No templates to delete" - fi - # Stage 3 - Update templates - CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Deleting old and deprecated templates" + rm -Rf ${TEMPDIR} + exit 0 + else + echo "No templates to delete" + fi + # Stage 3 - Update templates + CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) + cd ${TEMPDIR}/docker-${CONTAINER_NAME} + NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) + if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy cd ${TEMPDIR}/docker-${CONTAINER_NAME} - NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) - if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - cd ${TEMPDIR}/docker-${CONTAINER_NAME} - mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows - mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE - cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : - cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : - cd ${TEMPDIR}/repo/${LS_REPO}/ - if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then - echo ".jenkins-external" >> .gitignore - git add .gitignore - fi - git add readme-vars.yml ${TEMPLATED_FILES} - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - else - echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - fi - mkdir -p ${TEMPDIR}/docs - git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation - if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ - cd ${TEMPDIR}/docs/docker-documentation - GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') - git add docs/images/docker-${CONTAINER_NAME}.md - git commit -m 'Bot Updating Documentation' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} - fi - mkdir -p ${TEMPDIR}/unraid - git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates - git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates - if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then - sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml - elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then - sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows + mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE + cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : + cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : + cd ${TEMPDIR}/repo/${LS_REPO}/ + if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then + echo ".jenkins-external" >> .gitignore + git add .gitignore fi - if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then - cd ${TEMPDIR}/unraid/templates/ - GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') - if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - echo "Image is on the ignore list, marking Unraid template as deprecated" - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add -u unraid/${CONTAINER_NAME}.xml - git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : - git commit -m 'Bot Moving Deprecated Unraid Template' || : - else - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add unraid/${CONTAINER_NAME}.xml - git commit -m 'Bot Updating Unraid Template' - fi - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} + git add readme-vars.yml ${TEMPLATED_FILES} + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + else + echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + fi + mkdir -p ${TEMPDIR}/docs + git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation + if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ + cd ${TEMPDIR}/docs/docker-documentation + GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') + git add docs/images/docker-${CONTAINER_NAME}.md + git commit -m 'Bot Updating Documentation' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \ + (MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \ + sleep $((RANDOM % MAXWAIT)) && \ + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase && \ + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}) + fi + mkdir -p ${TEMPDIR}/unraid + git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates + git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates + if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then + sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then + sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + fi + if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then + cd ${TEMPDIR}/unraid/templates/ + GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') + if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then + echo "Image is on the ignore list, marking Unraid template as deprecated" + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add -u unraid/${CONTAINER_NAME}.xml + git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : + git commit -m 'Bot Moving Deprecated Unraid Template' || : + else + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add unraid/${CONTAINER_NAME}.xml + git commit -m 'Bot Updating Unraid Template' fi - # Stage 4 - Sync Readme to Docker Hub - if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then - if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then - echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub" - DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite" - else - echo "Syncing readme to Docker Hub" - DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md" - fi - DH_TOKEN=$(curl -d '{"username":"'${DOCKERUSER}'", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') - curl -s \ - -H "Authorization: JWT ${DH_TOKEN}" \ - -H "Content-Type: application/json" \ - -X PATCH \ - -d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \ - https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || : + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \ + (MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \ + sleep $((RANDOM % MAXWAIT)) && \ + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \ + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}) + fi + # Stage 4 - Sync Readme to Docker Hub + if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then + if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then + echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub" + DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite" else - echo "Not the default Github branch. Skipping readme sync to Docker Hub." + echo "Syncing readme to Docker Hub" + DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md" fi - rm -Rf ${TEMPDIR}''' - script{ - env.FILES_UPDATED = sh( - script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', - returnStdout: true).trim() - } + DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') + curl -s \ + -H "Authorization: JWT ${DH_TOKEN}" \ + -H "Content-Type: application/json" \ + -X PATCH \ + -d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \ + https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || : + else + echo "Not the default Github branch. Skipping readme sync to Docker Hub." + fi + rm -Rf ${TEMPDIR}''' + script{ + env.FILES_UPDATED = sh( + script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', + returnStdout: true).trim() } } } @@ -703,12 +704,6 @@ pipeline { } steps { withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', - usernameVariable: 'DOCKERUSER', - passwordVariable: 'DOCKERPASS' - ], [ $class: 'UsernamePasswordMultiBinding', credentialsId: 'Quay.io-Robot', @@ -719,7 +714,7 @@ pipeline { retry(5) { sh '''#! /bin/bash set -e - echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin + echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin @@ -750,12 +745,6 @@ pipeline { } steps { withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207', - usernameVariable: 'DOCKERUSER', - passwordVariable: 'DOCKERPASS' - ], [ $class: 'UsernamePasswordMultiBinding', credentialsId: 'Quay.io-Robot', @@ -766,7 +755,7 @@ pipeline { retry(5) { sh '''#! /bin/bash set -e - echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin + echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin From b9373d7883295c18d8fbc2b38b341d5ec75d6ce0 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 22 Feb 2024 11:18:30 +0000 Subject: [PATCH 052/117] Bot Updating Templated Files --- .github/ISSUE_TEMPLATE/issue.bug.yml | 4 ++-- .github/workflows/external_trigger.yml | 2 +- .github/workflows/external_trigger_scheduler.yml | 2 +- .github/workflows/package_trigger.yml | 2 +- .github/workflows/package_trigger_scheduler.yml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml index ce3d19af..3123bf47 100644 --- a/.github/ISSUE_TEMPLATE/issue.bug.yml +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -67,10 +67,10 @@ body: - type: textarea attributes: description: | - Provide a full docker log, output of "docker logs linuxserver.io" + Provide a full docker log, output of "docker logs wireguard" label: Container logs placeholder: | - Output of `docker logs linuxserver.io` + Output of `docker logs wireguard` render: bash validations: required: true diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index d08f3407..3eb19374 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -7,7 +7,7 @@ jobs: external-trigger-legacy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v4.1.1 - name: External Trigger if: github.ref == 'refs/heads/legacy' diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml index 61c03c71..865ed22a 100755 --- a/.github/workflows/external_trigger_scheduler.yml +++ b/.github/workflows/external_trigger_scheduler.yml @@ -9,7 +9,7 @@ jobs: external-trigger-scheduler: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v4.1.1 with: fetch-depth: '0' diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml index 45d8197e..00f63cdf 100755 --- a/.github/workflows/package_trigger.yml +++ b/.github/workflows/package_trigger.yml @@ -7,7 +7,7 @@ jobs: package-trigger-legacy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v4.1.1 - name: Package Trigger if: github.ref == 'refs/heads/legacy' diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index bb2efa7c..b5f1571c 100755 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -9,7 +9,7 @@ jobs: package-trigger-scheduler: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.1.0 + - uses: actions/checkout@v4.1.1 with: fetch-depth: '0' From 68594133e6bcd3a784a78a5e441a13c65f37ed89 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 29 Feb 2024 11:24:21 +0000 Subject: [PATCH 053/117] Bot Updating Package Versions --- package_versions.txt | 718 ++++++++++++++++++++++--------------------- 1 file changed, 362 insertions(+), 356 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 289d2d7c..cb8d2910 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,356 +1,362 @@ -NAME VERSION TYPE -adduser 3.118ubuntu5 deb -apt 2.4.11 deb -apt-utils 2.4.11 deb -base-files 12ubuntu4.3 deb -base-passwd 3.5.52build1 deb -bash 5.1-6ubuntu1 deb -bash 5.1.16 binary -bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.5 deb -binutils-common 2.38-4ubuntu2.5 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.5 deb -bsdutils 1:2.37.2-4ubuntu3 deb -build-essential 12.9ubuntu3 deb -bzip2 1.0.8-5build1 deb -ca-certificates 20230311ubuntu0.22.04.1 deb -cloud.google.com/go/compute/metadata v0.2.3 go-module -coreutils 8.32-4.1ubuntu1 deb -cpp 4:11.2.0-1ubuntu1 deb -cpp-11 11.4.0-1ubuntu1~22.04 deb -cpp-12 12.3.0-1ubuntu1~22.04 deb -cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.15 deb -dash 0.5.11+git20210903+057cd650a4ed-3build1 deb -dctrl-tools 2.24-3build2 deb -debconf 1.5.79ubuntu1 deb -debianutils 5.5-1ubuntu2 deb -diffutils 1:3.8-0ubuntu2 deb -dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.6 deb -dkms 2.8.7-2ubuntu2.2 deb -dpkg 1.21.1ubuntu2.2 deb -dpkg-dev 1.21.1ubuntu2.2 deb -e2fsprogs 1.46.5-2ubuntu1.1 deb -findutils 4.8.0-1ubuntu3 deb -g++ 4:11.2.0-1ubuntu1 deb -g++-11 11.4.0-1ubuntu1~22.04 deb -gcc 4:11.2.0-1ubuntu1 deb -gcc-11 11.4.0-1ubuntu1~22.04 deb -gcc-11-base 11.4.0-1ubuntu1~22.04 deb -gcc-12 12.3.0-1ubuntu1~22.04 deb -gcc-12-base 12.3.0-1ubuntu1~22.04 deb -git 1:2.34.1-1ubuntu1.10 deb -git-man 1:2.34.1-1ubuntu1.10 deb -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module -github.com/Azure/go-autorest/autorest v0.11.29 go-module -github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module -github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module -github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module -github.com/Azure/go-autorest/autorest/date v0.3.0 go-module -github.com/Azure/go-autorest/autorest/to v0.2.0 go-module -github.com/Azure/go-autorest/logger v0.2.1 go-module -github.com/Azure/go-autorest/tracing v0.6.0 go-module -github.com/DataDog/datadog-agent/pkg/obfuscate v0.45.0-rc.1 go-module -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.0-devel.0.20230725154044-2549ba9058df go-module -github.com/DataDog/datadog-go/v5 v5.1.1 go-module -github.com/DataDog/go-tuf v1.0.1-0.5.2 go-module -github.com/DataDog/sketches-go v1.2.1 go-module -github.com/antonmedv/expr v1.13.0 go-module -github.com/apparentlymart/go-cidr v1.1.0 go-module -github.com/aws/aws-sdk-go v1.44.322 go-module -github.com/beorn7/perks v1.0.1 go-module -github.com/cespare/xxhash/v2 v2.2.0 go-module -github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20230815193032-ae2bbc29be1a go-module -github.com/coreos/go-semver v0.3.0 go-module -github.com/coreos/go-systemd/v22 v22.3.2 go-module -github.com/davecgh/go-spew v1.1.1 go-module -github.com/dimchansky/utfbom v1.1.1 go-module -github.com/dnstap/golang-dnstap v0.4.0 go-module -github.com/dustin/go-humanize v1.0.1 go-module -github.com/emicklei/go-restful/v3 v3.10.2 go-module -github.com/farsightsec/golang-framestream v0.3.0 go-module -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module -github.com/go-logr/logr v1.2.4 go-module -github.com/go-openapi/jsonpointer v0.19.6 go-module -github.com/go-openapi/jsonreference v0.20.1 go-module -github.com/go-openapi/swag v0.22.3 go-module -github.com/gogo/protobuf v1.3.2 go-module -github.com/golang-jwt/jwt/v4 v4.5.0 go-module -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module -github.com/golang/protobuf v1.5.3 go-module -github.com/google/gnostic v0.5.7-v3refs go-module -github.com/google/go-cmp v0.5.9 go-module -github.com/google/gofuzz v1.2.0 go-module -github.com/google/s2a-go v0.1.4 go-module -github.com/google/uuid v1.3.0 go-module -github.com/googleapis/enterprise-certificate-proxy v0.2.5 go-module -github.com/googleapis/gax-go/v2 v2.12.0 go-module -github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module -github.com/imdario/mergo v0.3.12 go-module -github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module -github.com/jmespath/go-jmespath v0.4.0 go-module -github.com/josharian/intern v1.0.0 go-module -github.com/json-iterator/go v1.1.12 go-module -github.com/mailru/easyjson v0.7.7 go-module -github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module -github.com/miekg/dns v1.1.55 go-module -github.com/mitchellh/go-homedir v1.1.0 go-module -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module -github.com/modern-go/reflect2 v1.0.2 go-module -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module -github.com/opentracing/opentracing-go v1.2.0 go-module -github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module -github.com/openzipkin/zipkin-go v0.4.2 go-module -github.com/oschwald/geoip2-golang v1.9.0 go-module -github.com/oschwald/maxminddb-golang v1.11.0 go-module -github.com/outcaste-io/ristretto v0.2.1 go-module -github.com/philhofer/fwd v1.1.2 go-module -github.com/pkg/errors v0.9.1 go-module -github.com/prometheus/client_golang v1.16.0 go-module -github.com/prometheus/client_model v0.4.0 go-module -github.com/prometheus/common v0.44.0 go-module -github.com/prometheus/procfs v0.10.1 go-module -github.com/quic-go/qtls-go1-20 v0.3.1 go-module -github.com/quic-go/quic-go v0.37.4 go-module -github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module -github.com/spf13/pflag v1.0.5 go-module -github.com/tinylib/msgp v1.1.8 go-module -gnupg 2.2.27-3ubuntu2.1 deb -gnupg-l10n 2.2.27-3ubuntu2.1 deb -gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.9 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.9 go-module -go.etcd.io/etcd/client/v3 v3.5.9 go-module -go.opencensus.io v0.24.0 go-module -go.uber.org/atomic v1.11.0 go-module -go.uber.org/multierr v1.6.0 go-module -go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.12.0 go-module -golang.org/x/exp v0.0.0-20221205204356-47842c84f3db go-module -golang.org/x/net v0.14.0 go-module -golang.org/x/oauth2 v0.11.0 go-module -golang.org/x/sys v0.11.0 go-module -golang.org/x/term v0.11.0 go-module -golang.org/x/text v0.12.0 go-module -golang.org/x/time v0.3.0 go-module -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module -google.golang.org/api v0.136.0 go-module -google.golang.org/appengine v1.6.7 go-module -google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 go-module -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 go-module -google.golang.org/grpc v1.57.0 go-module -google.golang.org/protobuf v1.31.0 go-module -gopkg.in/DataDog/dd-trace-go.v1 v1.54.0 go-module -gopkg.in/inf.v0 v0.9.1 go-module -gopkg.in/yaml.v2 v2.4.0 go-module -gopkg.in/yaml.v3 v3.0.1 go-module -gpg 2.2.27-3ubuntu2.1 deb -gpg-agent 2.2.27-3ubuntu2.1 deb -gpg-wks-client 2.2.27-3ubuntu2.1 deb -gpg-wks-server 2.2.27-3ubuntu2.1 deb -gpgconf 2.2.27-3ubuntu2.1 deb -gpgsm 2.2.27-3ubuntu2.1 deb -gpgv 2.2.27-3ubuntu2.1 deb -grep 3.7-1build1 deb -gzip 1.10-4ubuntu4.1 deb -hostname 3.23ubuntu2 deb -ifupdown 0.8.36+nmu1ubuntu3.1 deb -init-system-helpers 1.62 deb -iproute2 5.15.0-1ubuntu2 deb -iptables 1.8.7-1ubuntu5.2 deb -iputils-ping 3:20211215-1 deb -jq 1.6-2.1ubuntu3 deb -k8s.io/api v0.27.4 go-module -k8s.io/apimachinery v0.27.4 go-module -k8s.io/client-go v0.27.4 go-module -k8s.io/klog/v2 v2.100.1 go-module -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f go-module -k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module -kmod 29-1ubuntu1 deb -libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.11 deb -libasan6 11.4.0-1ubuntu1~22.04 deb -libasan8 12.3.0-1ubuntu1~22.04 deb -libassuan0 2.5.5-1build1 deb -libatomic1 12.3.0-1ubuntu1~22.04 deb -libattr1 1:2.5.1-1build1 deb -libaudit-common 1:3.0.7-1build1 deb -libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.5 deb -libblkid1 2.37.2-4ubuntu3 deb -libbpf0 1:0.5.0-1ubuntu22.04.1 deb -libbrotli1 1.0.9-2build6 deb -libbsd0 0.11.5-1 deb -libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.6 deb -libc6 2.35-0ubuntu3.6 deb -libc6-dev 2.35-0ubuntu3.6 deb -libcap-ng0 0.7.9-2.2build3 deb -libcap2 1:2.44-1ubuntu0.22.04.1 deb -libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb -libcc1-0 12.3.0-1ubuntu1~22.04 deb -libcom-err2 1.46.5-2ubuntu1.1 deb -libcrypt-dev 1:4.4.27-1 deb -libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.5 deb -libctf0 2.38-4ubuntu2.5 deb -libcurl3-gnutls 7.81.0-1ubuntu1.15 deb -libcurl4 7.81.0-1ubuntu1.15 deb -libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb -libdebconfclient0 0.261ubuntu1 deb -libdpkg-perl 1.21.1ubuntu2.2 deb -libelf-dev 0.186-1build1 deb -libelf1 0.186-1build1 deb -liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.2 deb -libext2fs2 1.46.5-2ubuntu1.1 deb -libffi8 3.4.2-4 deb -libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb -libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb -libgcc-s1 12.3.0-1ubuntu1~22.04 deb -libgcrypt20 1.9.4-3ubuntu3 deb -libgdbm-compat4 1.23-1 deb -libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2.2 deb -libgmp10 2:6.2.1+dfsg-3ubuntu1 deb -libgnutls30 3.7.3-4ubuntu1.2 deb -libgomp1 12.3.0-1ubuntu1~22.04 deb -libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb -libhogweed6 3.7.3-1build2 deb -libidn2-0 2.3.2-2build1 deb -libip4tc2 1.8.7-1ubuntu5.2 deb -libip6tc2 1.8.7-1ubuntu5.2 deb -libisl23 0.24-2build1 deb -libitm1 12.3.0-1ubuntu1~22.04 deb -libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.2 deb -libkeyutils1 1.6.1-2ubuntu3 deb -libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.2 deb -libkrb5support0 1.19.2-2ubuntu0.2 deb -libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb -libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb -liblsan0 12.3.0-1ubuntu1~22.04 deb -liblz4-1 1.9.3-2build2 deb -liblzma5 5.2.5-2ubuntu1 deb -libmd0 1.0.4-1build1 deb -libmnl0 1.0.4-3build2 deb -libmount1 2.37.2-4ubuntu3 deb -libmpc3 1.2.1-2build1 deb -libmpdec3 2.5.1-2build2 deb -libmpfr6 4.1.0-3build3 deb -libncurses6 6.3-2ubuntu0.1 deb -libncursesw6 6.3-2ubuntu0.1 deb -libnetfilter-conntrack3 1.0.9-1 deb -libnettle8 3.7.3-1build2 deb -libnfnetlink0 1.0.1-3build3 deb -libnftnl11 1.2.1-1build1 deb -libnghttp2-14 1.43.0-1ubuntu0.1 deb -libnpth0 1.6-3build2 deb -libnsl-dev 1.3.0-2build2 deb -libnsl2 1.3.0-2build2 deb -libonig5 6.9.7.1-2build1 deb -libp11-kit0 0.24.0-6build1 deb -libpam-modules 1.4.0-11ubuntu2.3 deb -libpam-modules-bin 1.4.0-11ubuntu2.3 deb -libpam-runtime 1.4.0-11ubuntu2.3 deb -libpam0g 1.4.0-11ubuntu2.3 deb -libpcre2-8-0 10.39-3ubuntu0.1 deb -libpcre3 2:8.39-13ubuntu0.22.04.1 deb -libperl5.34 5.34.0-3ubuntu1.3 deb -libpng16-16 1.6.37-3build5 deb -libprocps8 2:3.3.17-6ubuntu2 deb -libpsl5 0.21.0-1.2build2 deb -libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.12-1~22.04.3 deb -libpython3.10-stdlib 3.10.12-1~22.04.3 deb -libqrencode4 4.1.1-1 deb -libquadmath0 12.3.0-1ubuntu1~22.04 deb -libreadline8 8.1.2-1 deb -librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb -libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb -libseccomp2 2.5.3-2ubuntu2 deb -libselinux1 3.3-1build2 deb -libsemanage-common 3.3-1build2 deb -libsemanage2 3.3-1build2 deb -libsepol2 3.3-1build1 deb -libsmartcols1 2.37.2-4ubuntu3 deb -libsqlite3-0 3.37.2-2ubuntu0.3 deb -libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.10 deb -libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb -libstdc++6 12.3.0-1ubuntu1~22.04 deb -libsystemd0 249.11-0ubuntu3.9 deb -libtasn1-6 4.18.0-4build1 deb -libtinfo6 6.3-2ubuntu0.1 deb -libtirpc-common 1.3.2-2ubuntu0.1 deb -libtirpc-dev 1.3.2-2ubuntu0.1 deb -libtirpc3 1.3.2-2ubuntu0.1 deb -libtsan0 11.4.0-1ubuntu1~22.04 deb -libtsan2 12.3.0-1ubuntu1~22.04 deb -libubsan1 12.3.0-1ubuntu1~22.04 deb -libudev1 249.11-0ubuntu3.9 deb -libunistring2 1.0-1 deb -libuuid1 2.37.2-4ubuntu3 deb -libxtables12 1.8.7-1ubuntu5.2 deb -libxxhash0 0.8.1-1 deb -libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-94.104 deb -locales 2.35-0ubuntu3.6 deb -login 1:4.8.1-2ubuntu2.1 deb -logsave 1.46.5-2ubuntu1.1 deb -lsb-base 11.1.0ubuntu4 deb -lsb-release 11.1.0ubuntu4 deb -lto-disabled-list 24 deb -make 4.3-4.1build1 deb -mawk 1.3.4.20200120-3 deb -media-types 7.0.0 deb -mount 2.37.2-4ubuntu3 deb -ncurses-base 6.3-2ubuntu0.1 deb -ncurses-bin 6.3-2ubuntu0.1 deb -net-tools 1.60+git20181103.0eebece-1ubuntu5 deb -netbase 6.3 deb -netcat 1.218-4ubuntu1 deb -netcat-openbsd 1.218-4ubuntu1 deb -openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.14 deb -passwd 1:4.8.1-2ubuntu2.1 deb -patch 2.7.6-7build2 deb -perl 5.34.0-3ubuntu1.3 deb -perl-base 5.34.0-3ubuntu1.3 deb -perl-modules-5.34 5.34.0-3ubuntu1.3 deb -pinentry-curses 1.1.1-1build2 deb -pkg-config 0.29.2-1ubuntu3 deb -procps 2:3.3.17-6ubuntu2 deb -publicsuffix 20211207.1025-1 deb -python3 3.10.6-1~22.04 deb -python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.12-1~22.04.3 deb -python3.10-minimal 3.10.12-1~22.04.3 deb -qrencode 4.1.1-1 deb -readline-common 8.1.2-1 deb -rpcsvc-proto 1.4.2-0ubuntu6 deb -sed 4.8-1ubuntu2 deb -sensible-utils 0.0.17 deb -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module -sigs.k8s.io/yaml v1.3.0 go-module -stdlib go1.20.7 go-module -sysvinit-utils 3.01-1ubuntu1 deb -tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb -tzdata 2023d-0ubuntu0.22.04 deb -ubuntu-keyring 2021.03.26 deb -usrmerge 25ubuntu2 deb -util-linux 2.37.2-4ubuntu3 deb -xz-utils 5.2.5-2ubuntu1 deb -zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb -zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb +NAME VERSION TYPE +adduser 3.118ubuntu5 deb +apt 2.4.11 deb +apt-utils 2.4.11 deb +base-files 12ubuntu4.3 deb +base-passwd 3.5.52build1 deb +bash 5.1-6ubuntu1 deb +bash 5.1.16 binary +bc 1.07.1-3build1 deb +binutils 2.38-4ubuntu2.6 deb +binutils-common 2.38-4ubuntu2.6 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb +bsdutils 1:2.37.2-4ubuntu3 deb +build-essential 12.9ubuntu3 deb +bzip2 1.0.8-5build1 deb +ca-certificates 20230311ubuntu0.22.04.1 deb +cloud.google.com/go/compute/metadata v0.2.3 go-module +coreutils 8.32-4.1ubuntu1 deb +cpp 4:11.2.0-1ubuntu1 deb +cpp-11 11.4.0-1ubuntu1~22.04 deb +cpp-12 12.3.0-1ubuntu1~22.04 deb +cron 3.0pl1-137ubuntu3 deb +curl 7.81.0-1ubuntu1.15 deb +dash 0.5.11+git20210903+057cd650a4ed-3build1 deb +dctrl-tools 2.24-3build2 deb +debconf 1.5.79ubuntu1 deb +debianutils 5.5-1ubuntu2 deb +diffutils 1:3.8-0ubuntu2 deb +dirmngr 2.2.27-3ubuntu2.1 deb +distro-info-data 0.52ubuntu0.6 deb +dkms 2.8.7-2ubuntu2.2 deb +dpkg 1.21.1ubuntu2.2 deb +dpkg-dev 1.21.1ubuntu2.2 deb +e2fsprogs 1.46.5-2ubuntu1.1 deb +findutils 4.8.0-1ubuntu3 deb +g++ 4:11.2.0-1ubuntu1 deb +g++-11 11.4.0-1ubuntu1~22.04 deb +gcc 4:11.2.0-1ubuntu1 deb +gcc-11 11.4.0-1ubuntu1~22.04 deb +gcc-11-base 11.4.0-1ubuntu1~22.04 deb +gcc-12 12.3.0-1ubuntu1~22.04 deb +gcc-12-base 12.3.0-1ubuntu1~22.04 deb +git 1:2.34.1-1ubuntu1.10 deb +git-man 1:2.34.1-1ubuntu1.10 deb +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module +github.com/Azure/go-autorest/autorest v0.11.29 go-module +github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module +github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module +github.com/Azure/go-autorest/autorest/date v0.3.0 go-module +github.com/Azure/go-autorest/autorest/to v0.2.0 go-module +github.com/Azure/go-autorest/logger v0.2.1 go-module +github.com/Azure/go-autorest/tracing v0.6.0 go-module +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 go-module +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 go-module +github.com/DataDog/datadog-go/v5 v5.3.0 go-module +github.com/DataDog/go-tuf v1.0.2-0.5.2 go-module +github.com/DataDog/sketches-go v1.4.2 go-module +github.com/antonmedv/expr v1.15.5 go-module +github.com/apparentlymart/go-cidr v1.1.0 go-module +github.com/aws/aws-sdk-go v1.50.10 go-module +github.com/beorn7/perks v1.0.1 go-module +github.com/cespare/xxhash/v2 v2.2.0 go-module +github.com/coredns/caddy v1.1.1 go-module +github.com/coredns/coredns v0.0.0-20240205171234-8868454177bd go-module +github.com/coreos/go-semver v0.3.0 go-module +github.com/coreos/go-systemd/v22 v22.3.2 go-module +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go-module +github.com/dimchansky/utfbom v1.1.1 go-module +github.com/dnstap/golang-dnstap v0.4.0 go-module +github.com/dustin/go-humanize v1.0.1 go-module +github.com/emicklei/go-restful/v3 v3.11.0 go-module +github.com/farsightsec/golang-framestream v0.3.0 go-module +github.com/felixge/httpsnoop v1.0.4 go-module +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module +github.com/go-logr/logr v1.4.1 go-module +github.com/go-logr/stdr v1.2.2 go-module +github.com/go-openapi/jsonpointer v0.19.6 go-module +github.com/go-openapi/jsonreference v0.20.2 go-module +github.com/go-openapi/swag v0.22.3 go-module +github.com/gogo/protobuf v1.3.2 go-module +github.com/golang-jwt/jwt/v4 v4.5.0 go-module +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module +github.com/golang/protobuf v1.5.3 go-module +github.com/google/gnostic-models v0.6.8 go-module +github.com/google/go-cmp v0.6.0 go-module +github.com/google/gofuzz v1.2.0 go-module +github.com/google/s2a-go v0.1.7 go-module +github.com/google/uuid v1.5.0 go-module +github.com/googleapis/enterprise-certificate-proxy v0.3.2 go-module +github.com/googleapis/gax-go/v2 v2.12.0 go-module +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module +github.com/imdario/mergo v0.3.12 go-module +github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module +github.com/jmespath/go-jmespath v0.4.0 go-module +github.com/josharian/intern v1.0.0 go-module +github.com/json-iterator/go v1.1.12 go-module +github.com/mailru/easyjson v0.7.7 go-module +github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 go-module +github.com/miekg/dns v1.1.58 go-module +github.com/mitchellh/go-homedir v1.1.0 go-module +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module +github.com/modern-go/reflect2 v1.0.2 go-module +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module +github.com/opentracing/opentracing-go v1.2.0 go-module +github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module +github.com/openzipkin/zipkin-go v0.4.2 go-module +github.com/oschwald/geoip2-golang v1.9.0 go-module +github.com/oschwald/maxminddb-golang v1.11.0 go-module +github.com/outcaste-io/ristretto v0.2.3 go-module +github.com/philhofer/fwd v1.1.2 go-module +github.com/pkg/errors v0.9.1 go-module +github.com/prometheus/client_golang v1.17.0 go-module +github.com/prometheus/client_model v0.5.0 go-module +github.com/prometheus/common v0.45.0 go-module +github.com/prometheus/procfs v0.11.1 go-module +github.com/quic-go/qtls-go1-20 v0.4.1 go-module +github.com/quic-go/quic-go v0.40.1 go-module +github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module +github.com/spf13/pflag v1.0.5 go-module +github.com/tinylib/msgp v1.1.8 go-module +gnupg 2.2.27-3ubuntu2.1 deb +gnupg-l10n 2.2.27-3ubuntu2.1 deb +gnupg-utils 2.2.27-3ubuntu2.1 deb +go.etcd.io/etcd/api/v3 v3.5.12 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.11 go-module +go.etcd.io/etcd/client/v3 v3.5.11 go-module +go.opencensus.io v0.24.0 go-module +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 go-module +go.opentelemetry.io/otel v1.22.0 go-module +go.opentelemetry.io/otel/metric v1.22.0 go-module +go.opentelemetry.io/otel/trace v1.22.0 go-module +go.uber.org/atomic v1.11.0 go-module +go.uber.org/multierr v1.6.0 go-module +go.uber.org/zap v1.17.0 go-module +golang.org/x/crypto v0.18.0 go-module +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 go-module +golang.org/x/net v0.20.0 go-module +golang.org/x/oauth2 v0.16.0 go-module +golang.org/x/sys v0.16.0 go-module +golang.org/x/term v0.16.0 go-module +golang.org/x/text v0.14.0 go-module +golang.org/x/time v0.5.0 go-module +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module +google.golang.org/api v0.159.0 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac go-module +google.golang.org/grpc v1.61.0 go-module +google.golang.org/protobuf v1.32.0 go-module +gopkg.in/DataDog/dd-trace-go.v1 v1.57.0 go-module +gopkg.in/inf.v0 v0.9.1 go-module +gopkg.in/yaml.v2 v2.4.0 go-module +gopkg.in/yaml.v3 v3.0.1 go-module +gpg 2.2.27-3ubuntu2.1 deb +gpg-agent 2.2.27-3ubuntu2.1 deb +gpg-wks-client 2.2.27-3ubuntu2.1 deb +gpg-wks-server 2.2.27-3ubuntu2.1 deb +gpgconf 2.2.27-3ubuntu2.1 deb +gpgsm 2.2.27-3ubuntu2.1 deb +gpgv 2.2.27-3ubuntu2.1 deb +grep 3.7-1build1 deb +gzip 1.10-4ubuntu4.1 deb +hostname 3.23ubuntu2 deb +ifupdown 0.8.36+nmu1ubuntu3.1 deb +init-system-helpers 1.62 deb +iproute2 5.15.0-1ubuntu2 deb +iptables 1.8.7-1ubuntu5.2 deb +iputils-ping 3:20211215-1 deb +jq 1.6-2.1ubuntu3 deb +k8s.io/api v0.28.4 go-module +k8s.io/apimachinery v0.28.4 go-module +k8s.io/client-go v0.28.3 go-module +k8s.io/klog/v2 v2.110.1 go-module +k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 go-module +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 go-module +kmod 29-1ubuntu1 deb +libacl1 2.3.1-1 deb +libapt-pkg6.0 2.4.11 deb +libasan6 11.4.0-1ubuntu1~22.04 deb +libasan8 12.3.0-1ubuntu1~22.04 deb +libassuan0 2.5.5-1build1 deb +libatomic1 12.3.0-1ubuntu1~22.04 deb +libattr1 1:2.5.1-1build1 deb +libaudit-common 1:3.0.7-1build1 deb +libaudit1 1:3.0.7-1build1 deb +libbinutils 2.38-4ubuntu2.6 deb +libblkid1 2.37.2-4ubuntu3 deb +libbpf0 1:0.5.0-1ubuntu22.04.1 deb +libbrotli1 1.0.9-2build6 deb +libbsd0 0.11.5-1 deb +libbz2-1.0 1.0.8-5build1 deb +libc-bin 2.35-0ubuntu3.1 deb +libc-dev-bin 2.35-0ubuntu3.6 deb +libc6 2.35-0ubuntu3.6 deb +libc6-dev 2.35-0ubuntu3.6 deb +libcap-ng0 0.7.9-2.2build3 deb +libcap2 1:2.44-1ubuntu0.22.04.1 deb +libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb +libcc1-0 12.3.0-1ubuntu1~22.04 deb +libcom-err2 1.46.5-2ubuntu1.1 deb +libcrypt-dev 1:4.4.27-1 deb +libcrypt1 1:4.4.27-1 deb +libctf-nobfd0 2.38-4ubuntu2.6 deb +libctf0 2.38-4ubuntu2.6 deb +libcurl3-gnutls 7.81.0-1ubuntu1.15 deb +libcurl4 7.81.0-1ubuntu1.15 deb +libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb +libdebconfclient0 0.261ubuntu1 deb +libdpkg-perl 1.21.1ubuntu2.2 deb +libelf-dev 0.186-1build1 deb +libelf1 0.186-1build1 deb +liberror-perl 0.17029-1 deb +libexpat1 2.4.7-1ubuntu0.2 deb +libext2fs2 1.46.5-2ubuntu1.1 deb +libffi8 3.4.2-4 deb +libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb +libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb +libgcc-s1 12.3.0-1ubuntu1~22.04 deb +libgcrypt20 1.9.4-3ubuntu3 deb +libgdbm-compat4 1.23-1 deb +libgdbm6 1.23-1 deb +libglib2.0-0 2.72.4-0ubuntu2.2 deb +libgmp10 2:6.2.1+dfsg-3ubuntu1 deb +libgnutls30 3.7.3-4ubuntu1.2 deb +libgomp1 12.3.0-1ubuntu1~22.04 deb +libgpg-error0 1.43-3 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb +libhogweed6 3.7.3-1build2 deb +libidn2-0 2.3.2-2build1 deb +libip4tc2 1.8.7-1ubuntu5.2 deb +libip6tc2 1.8.7-1ubuntu5.2 deb +libisl23 0.24-2build1 deb +libitm1 12.3.0-1ubuntu1~22.04 deb +libjq1 1.6-2.1ubuntu3 deb +libk5crypto3 1.19.2-2ubuntu0.2 deb +libkeyutils1 1.6.1-2ubuntu3 deb +libkmod2 29-1ubuntu1 deb +libkrb5-3 1.19.2-2ubuntu0.2 deb +libkrb5support0 1.19.2-2ubuntu0.2 deb +libksba8 1.6.0-2ubuntu0.2 deb +libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb +libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb +liblsan0 12.3.0-1ubuntu1~22.04 deb +liblz4-1 1.9.3-2build2 deb +liblzma5 5.2.5-2ubuntu1 deb +libmd0 1.0.4-1build1 deb +libmnl0 1.0.4-3build2 deb +libmount1 2.37.2-4ubuntu3 deb +libmpc3 1.2.1-2build1 deb +libmpdec3 2.5.1-2build2 deb +libmpfr6 4.1.0-3build3 deb +libncurses6 6.3-2ubuntu0.1 deb +libncursesw6 6.3-2ubuntu0.1 deb +libnetfilter-conntrack3 1.0.9-1 deb +libnettle8 3.7.3-1build2 deb +libnfnetlink0 1.0.1-3build3 deb +libnftnl11 1.2.1-1build1 deb +libnghttp2-14 1.43.0-1ubuntu0.1 deb +libnpth0 1.6-3build2 deb +libnsl-dev 1.3.0-2build2 deb +libnsl2 1.3.0-2build2 deb +libonig5 6.9.7.1-2build1 deb +libp11-kit0 0.24.0-6build1 deb +libpam-modules 1.4.0-11ubuntu2.3 deb +libpam-modules-bin 1.4.0-11ubuntu2.3 deb +libpam-runtime 1.4.0-11ubuntu2.3 deb +libpam0g 1.4.0-11ubuntu2.3 deb +libpcre2-8-0 10.39-3ubuntu0.1 deb +libpcre3 2:8.39-13ubuntu0.22.04.1 deb +libperl5.34 5.34.0-3ubuntu1.3 deb +libpng16-16 1.6.37-3build5 deb +libprocps8 2:3.3.17-6ubuntu2 deb +libpsl5 0.21.0-1.2build2 deb +libpython3-stdlib 3.10.6-1~22.04 deb +libpython3.10-minimal 3.10.12-1~22.04.3 deb +libpython3.10-stdlib 3.10.12-1~22.04.3 deb +libqrencode4 4.1.1-1 deb +libquadmath0 12.3.0-1ubuntu1~22.04 deb +libreadline8 8.1.2-1 deb +librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb +libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb +libseccomp2 2.5.3-2ubuntu2 deb +libselinux1 3.3-1build2 deb +libsemanage-common 3.3-1build2 deb +libsemanage2 3.3-1build2 deb +libsepol2 3.3-1build1 deb +libsmartcols1 2.37.2-4ubuntu3 deb +libsqlite3-0 3.37.2-2ubuntu0.3 deb +libss2 1.46.5-2ubuntu1.1 deb +libssh-4 0.9.6-2ubuntu0.22.04.3 deb +libssl3 3.0.2-0ubuntu1.10 deb +libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb +libstdc++6 12.3.0-1ubuntu1~22.04 deb +libsystemd0 249.11-0ubuntu3.9 deb +libtasn1-6 4.18.0-4build1 deb +libtinfo6 6.3-2ubuntu0.1 deb +libtirpc-common 1.3.2-2ubuntu0.1 deb +libtirpc-dev 1.3.2-2ubuntu0.1 deb +libtirpc3 1.3.2-2ubuntu0.1 deb +libtsan0 11.4.0-1ubuntu1~22.04 deb +libtsan2 12.3.0-1ubuntu1~22.04 deb +libubsan1 12.3.0-1ubuntu1~22.04 deb +libudev1 249.11-0ubuntu3.9 deb +libunistring2 1.0-1 deb +libuuid1 2.37.2-4ubuntu3 deb +libxtables12 1.8.7-1ubuntu5.2 deb +libxxhash0 0.8.1-1 deb +libzstd1 1.4.8+dfsg-3build1 deb +linux-libc-dev 5.15.0-97.107 deb +locales 2.35-0ubuntu3.6 deb +login 1:4.8.1-2ubuntu2.1 deb +logsave 1.46.5-2ubuntu1.1 deb +lsb-base 11.1.0ubuntu4 deb +lsb-release 11.1.0ubuntu4 deb +lto-disabled-list 24 deb +make 4.3-4.1build1 deb +mawk 1.3.4.20200120-3 deb +media-types 7.0.0 deb +mount 2.37.2-4ubuntu3 deb +ncurses-base 6.3-2ubuntu0.1 deb +ncurses-bin 6.3-2ubuntu0.1 deb +net-tools 1.60+git20181103.0eebece-1ubuntu5 deb +netbase 6.3 deb +netcat 1.218-4ubuntu1 deb +netcat-openbsd 1.218-4ubuntu1 deb +openresolv 3.12.0-2 deb +openssl 3.0.2-0ubuntu1.15 deb +passwd 1:4.8.1-2ubuntu2.1 deb +patch 2.7.6-7build2 deb +perl 5.34.0-3ubuntu1.3 deb +perl-base 5.34.0-3ubuntu1.3 deb +perl-modules-5.34 5.34.0-3ubuntu1.3 deb +pinentry-curses 1.1.1-1build2 deb +pkg-config 0.29.2-1ubuntu3 deb +procps 2:3.3.17-6ubuntu2 deb +publicsuffix 20211207.1025-1 deb +python3 3.10.6-1~22.04 deb +python3-minimal 3.10.6-1~22.04 deb +python3.10 3.10.12-1~22.04.3 deb +python3.10-minimal 3.10.12-1~22.04.3 deb +qrencode 4.1.1-1 deb +readline-common 8.1.2-1 deb +rpcsvc-proto 1.4.2-0ubuntu6 deb +sed 4.8-1ubuntu2 deb +sensible-utils 0.0.17 deb +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module +sigs.k8s.io/yaml v1.3.0 go-module +stdlib go1.20.14 go-module +sysvinit-utils 3.01-1ubuntu1 deb +tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb +tzdata 2023d-0ubuntu0.22.04 deb +ubuntu-keyring 2021.03.26 deb +usrmerge 25ubuntu2 deb +util-linux 2.37.2-4ubuntu3 deb +xz-utils 5.2.5-2ubuntu1 deb +zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb +zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb From ac25951756b3ddda888d31299ade2e47db8c9317 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 7 Mar 2024 11:18:47 +0000 Subject: [PATCH 054/117] Bot Updating Package Versions --- package_versions.txt | 718 +++++++++++++++++++++---------------------- 1 file changed, 356 insertions(+), 362 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index cb8d2910..9ddbf264 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,362 +1,356 @@ -NAME VERSION TYPE -adduser 3.118ubuntu5 deb -apt 2.4.11 deb -apt-utils 2.4.11 deb -base-files 12ubuntu4.3 deb -base-passwd 3.5.52build1 deb -bash 5.1-6ubuntu1 deb -bash 5.1.16 binary -bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.6 deb -binutils-common 2.38-4ubuntu2.6 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb -bsdutils 1:2.37.2-4ubuntu3 deb -build-essential 12.9ubuntu3 deb -bzip2 1.0.8-5build1 deb -ca-certificates 20230311ubuntu0.22.04.1 deb -cloud.google.com/go/compute/metadata v0.2.3 go-module -coreutils 8.32-4.1ubuntu1 deb -cpp 4:11.2.0-1ubuntu1 deb -cpp-11 11.4.0-1ubuntu1~22.04 deb -cpp-12 12.3.0-1ubuntu1~22.04 deb -cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.15 deb -dash 0.5.11+git20210903+057cd650a4ed-3build1 deb -dctrl-tools 2.24-3build2 deb -debconf 1.5.79ubuntu1 deb -debianutils 5.5-1ubuntu2 deb -diffutils 1:3.8-0ubuntu2 deb -dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.6 deb -dkms 2.8.7-2ubuntu2.2 deb -dpkg 1.21.1ubuntu2.2 deb -dpkg-dev 1.21.1ubuntu2.2 deb -e2fsprogs 1.46.5-2ubuntu1.1 deb -findutils 4.8.0-1ubuntu3 deb -g++ 4:11.2.0-1ubuntu1 deb -g++-11 11.4.0-1ubuntu1~22.04 deb -gcc 4:11.2.0-1ubuntu1 deb -gcc-11 11.4.0-1ubuntu1~22.04 deb -gcc-11-base 11.4.0-1ubuntu1~22.04 deb -gcc-12 12.3.0-1ubuntu1~22.04 deb -gcc-12-base 12.3.0-1ubuntu1~22.04 deb -git 1:2.34.1-1ubuntu1.10 deb -git-man 1:2.34.1-1ubuntu1.10 deb -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module -github.com/Azure/go-autorest/autorest v0.11.29 go-module -github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module -github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module -github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module -github.com/Azure/go-autorest/autorest/date v0.3.0 go-module -github.com/Azure/go-autorest/autorest/to v0.2.0 go-module -github.com/Azure/go-autorest/logger v0.2.1 go-module -github.com/Azure/go-autorest/tracing v0.6.0 go-module -github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 go-module -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 go-module -github.com/DataDog/datadog-go/v5 v5.3.0 go-module -github.com/DataDog/go-tuf v1.0.2-0.5.2 go-module -github.com/DataDog/sketches-go v1.4.2 go-module -github.com/antonmedv/expr v1.15.5 go-module -github.com/apparentlymart/go-cidr v1.1.0 go-module -github.com/aws/aws-sdk-go v1.50.10 go-module -github.com/beorn7/perks v1.0.1 go-module -github.com/cespare/xxhash/v2 v2.2.0 go-module -github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20240205171234-8868454177bd go-module -github.com/coreos/go-semver v0.3.0 go-module -github.com/coreos/go-systemd/v22 v22.3.2 go-module -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go-module -github.com/dimchansky/utfbom v1.1.1 go-module -github.com/dnstap/golang-dnstap v0.4.0 go-module -github.com/dustin/go-humanize v1.0.1 go-module -github.com/emicklei/go-restful/v3 v3.11.0 go-module -github.com/farsightsec/golang-framestream v0.3.0 go-module -github.com/felixge/httpsnoop v1.0.4 go-module -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module -github.com/go-logr/logr v1.4.1 go-module -github.com/go-logr/stdr v1.2.2 go-module -github.com/go-openapi/jsonpointer v0.19.6 go-module -github.com/go-openapi/jsonreference v0.20.2 go-module -github.com/go-openapi/swag v0.22.3 go-module -github.com/gogo/protobuf v1.3.2 go-module -github.com/golang-jwt/jwt/v4 v4.5.0 go-module -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module -github.com/golang/protobuf v1.5.3 go-module -github.com/google/gnostic-models v0.6.8 go-module -github.com/google/go-cmp v0.6.0 go-module -github.com/google/gofuzz v1.2.0 go-module -github.com/google/s2a-go v0.1.7 go-module -github.com/google/uuid v1.5.0 go-module -github.com/googleapis/enterprise-certificate-proxy v0.3.2 go-module -github.com/googleapis/gax-go/v2 v2.12.0 go-module -github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module -github.com/imdario/mergo v0.3.12 go-module -github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module -github.com/jmespath/go-jmespath v0.4.0 go-module -github.com/josharian/intern v1.0.0 go-module -github.com/json-iterator/go v1.1.12 go-module -github.com/mailru/easyjson v0.7.7 go-module -github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 go-module -github.com/miekg/dns v1.1.58 go-module -github.com/mitchellh/go-homedir v1.1.0 go-module -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module -github.com/modern-go/reflect2 v1.0.2 go-module -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module -github.com/opentracing/opentracing-go v1.2.0 go-module -github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module -github.com/openzipkin/zipkin-go v0.4.2 go-module -github.com/oschwald/geoip2-golang v1.9.0 go-module -github.com/oschwald/maxminddb-golang v1.11.0 go-module -github.com/outcaste-io/ristretto v0.2.3 go-module -github.com/philhofer/fwd v1.1.2 go-module -github.com/pkg/errors v0.9.1 go-module -github.com/prometheus/client_golang v1.17.0 go-module -github.com/prometheus/client_model v0.5.0 go-module -github.com/prometheus/common v0.45.0 go-module -github.com/prometheus/procfs v0.11.1 go-module -github.com/quic-go/qtls-go1-20 v0.4.1 go-module -github.com/quic-go/quic-go v0.40.1 go-module -github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module -github.com/spf13/pflag v1.0.5 go-module -github.com/tinylib/msgp v1.1.8 go-module -gnupg 2.2.27-3ubuntu2.1 deb -gnupg-l10n 2.2.27-3ubuntu2.1 deb -gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.12 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.11 go-module -go.etcd.io/etcd/client/v3 v3.5.11 go-module -go.opencensus.io v0.24.0 go-module -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 go-module -go.opentelemetry.io/otel v1.22.0 go-module -go.opentelemetry.io/otel/metric v1.22.0 go-module -go.opentelemetry.io/otel/trace v1.22.0 go-module -go.uber.org/atomic v1.11.0 go-module -go.uber.org/multierr v1.6.0 go-module -go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.18.0 go-module -golang.org/x/exp v0.0.0-20230321023759-10a507213a29 go-module -golang.org/x/net v0.20.0 go-module -golang.org/x/oauth2 v0.16.0 go-module -golang.org/x/sys v0.16.0 go-module -golang.org/x/term v0.16.0 go-module -golang.org/x/text v0.14.0 go-module -golang.org/x/time v0.5.0 go-module -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module -google.golang.org/api v0.159.0 go-module -google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 go-module -google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac go-module -google.golang.org/grpc v1.61.0 go-module -google.golang.org/protobuf v1.32.0 go-module -gopkg.in/DataDog/dd-trace-go.v1 v1.57.0 go-module -gopkg.in/inf.v0 v0.9.1 go-module -gopkg.in/yaml.v2 v2.4.0 go-module -gopkg.in/yaml.v3 v3.0.1 go-module -gpg 2.2.27-3ubuntu2.1 deb -gpg-agent 2.2.27-3ubuntu2.1 deb -gpg-wks-client 2.2.27-3ubuntu2.1 deb -gpg-wks-server 2.2.27-3ubuntu2.1 deb -gpgconf 2.2.27-3ubuntu2.1 deb -gpgsm 2.2.27-3ubuntu2.1 deb -gpgv 2.2.27-3ubuntu2.1 deb -grep 3.7-1build1 deb -gzip 1.10-4ubuntu4.1 deb -hostname 3.23ubuntu2 deb -ifupdown 0.8.36+nmu1ubuntu3.1 deb -init-system-helpers 1.62 deb -iproute2 5.15.0-1ubuntu2 deb -iptables 1.8.7-1ubuntu5.2 deb -iputils-ping 3:20211215-1 deb -jq 1.6-2.1ubuntu3 deb -k8s.io/api v0.28.4 go-module -k8s.io/apimachinery v0.28.4 go-module -k8s.io/client-go v0.28.3 go-module -k8s.io/klog/v2 v2.110.1 go-module -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 go-module -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 go-module -kmod 29-1ubuntu1 deb -libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.11 deb -libasan6 11.4.0-1ubuntu1~22.04 deb -libasan8 12.3.0-1ubuntu1~22.04 deb -libassuan0 2.5.5-1build1 deb -libatomic1 12.3.0-1ubuntu1~22.04 deb -libattr1 1:2.5.1-1build1 deb -libaudit-common 1:3.0.7-1build1 deb -libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.6 deb -libblkid1 2.37.2-4ubuntu3 deb -libbpf0 1:0.5.0-1ubuntu22.04.1 deb -libbrotli1 1.0.9-2build6 deb -libbsd0 0.11.5-1 deb -libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.1 deb -libc-dev-bin 2.35-0ubuntu3.6 deb -libc6 2.35-0ubuntu3.6 deb -libc6-dev 2.35-0ubuntu3.6 deb -libcap-ng0 0.7.9-2.2build3 deb -libcap2 1:2.44-1ubuntu0.22.04.1 deb -libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb -libcc1-0 12.3.0-1ubuntu1~22.04 deb -libcom-err2 1.46.5-2ubuntu1.1 deb -libcrypt-dev 1:4.4.27-1 deb -libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.6 deb -libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.15 deb -libcurl4 7.81.0-1ubuntu1.15 deb -libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb -libdebconfclient0 0.261ubuntu1 deb -libdpkg-perl 1.21.1ubuntu2.2 deb -libelf-dev 0.186-1build1 deb -libelf1 0.186-1build1 deb -liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.2 deb -libext2fs2 1.46.5-2ubuntu1.1 deb -libffi8 3.4.2-4 deb -libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb -libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb -libgcc-s1 12.3.0-1ubuntu1~22.04 deb -libgcrypt20 1.9.4-3ubuntu3 deb -libgdbm-compat4 1.23-1 deb -libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2.2 deb -libgmp10 2:6.2.1+dfsg-3ubuntu1 deb -libgnutls30 3.7.3-4ubuntu1.2 deb -libgomp1 12.3.0-1ubuntu1~22.04 deb -libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb -libhogweed6 3.7.3-1build2 deb -libidn2-0 2.3.2-2build1 deb -libip4tc2 1.8.7-1ubuntu5.2 deb -libip6tc2 1.8.7-1ubuntu5.2 deb -libisl23 0.24-2build1 deb -libitm1 12.3.0-1ubuntu1~22.04 deb -libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.2 deb -libkeyutils1 1.6.1-2ubuntu3 deb -libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.2 deb -libkrb5support0 1.19.2-2ubuntu0.2 deb -libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb -libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb -liblsan0 12.3.0-1ubuntu1~22.04 deb -liblz4-1 1.9.3-2build2 deb -liblzma5 5.2.5-2ubuntu1 deb -libmd0 1.0.4-1build1 deb -libmnl0 1.0.4-3build2 deb -libmount1 2.37.2-4ubuntu3 deb -libmpc3 1.2.1-2build1 deb -libmpdec3 2.5.1-2build2 deb -libmpfr6 4.1.0-3build3 deb -libncurses6 6.3-2ubuntu0.1 deb -libncursesw6 6.3-2ubuntu0.1 deb -libnetfilter-conntrack3 1.0.9-1 deb -libnettle8 3.7.3-1build2 deb -libnfnetlink0 1.0.1-3build3 deb -libnftnl11 1.2.1-1build1 deb -libnghttp2-14 1.43.0-1ubuntu0.1 deb -libnpth0 1.6-3build2 deb -libnsl-dev 1.3.0-2build2 deb -libnsl2 1.3.0-2build2 deb -libonig5 6.9.7.1-2build1 deb -libp11-kit0 0.24.0-6build1 deb -libpam-modules 1.4.0-11ubuntu2.3 deb -libpam-modules-bin 1.4.0-11ubuntu2.3 deb -libpam-runtime 1.4.0-11ubuntu2.3 deb -libpam0g 1.4.0-11ubuntu2.3 deb -libpcre2-8-0 10.39-3ubuntu0.1 deb -libpcre3 2:8.39-13ubuntu0.22.04.1 deb -libperl5.34 5.34.0-3ubuntu1.3 deb -libpng16-16 1.6.37-3build5 deb -libprocps8 2:3.3.17-6ubuntu2 deb -libpsl5 0.21.0-1.2build2 deb -libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.12-1~22.04.3 deb -libpython3.10-stdlib 3.10.12-1~22.04.3 deb -libqrencode4 4.1.1-1 deb -libquadmath0 12.3.0-1ubuntu1~22.04 deb -libreadline8 8.1.2-1 deb -librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb -libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb -libseccomp2 2.5.3-2ubuntu2 deb -libselinux1 3.3-1build2 deb -libsemanage-common 3.3-1build2 deb -libsemanage2 3.3-1build2 deb -libsepol2 3.3-1build1 deb -libsmartcols1 2.37.2-4ubuntu3 deb -libsqlite3-0 3.37.2-2ubuntu0.3 deb -libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.10 deb -libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb -libstdc++6 12.3.0-1ubuntu1~22.04 deb -libsystemd0 249.11-0ubuntu3.9 deb -libtasn1-6 4.18.0-4build1 deb -libtinfo6 6.3-2ubuntu0.1 deb -libtirpc-common 1.3.2-2ubuntu0.1 deb -libtirpc-dev 1.3.2-2ubuntu0.1 deb -libtirpc3 1.3.2-2ubuntu0.1 deb -libtsan0 11.4.0-1ubuntu1~22.04 deb -libtsan2 12.3.0-1ubuntu1~22.04 deb -libubsan1 12.3.0-1ubuntu1~22.04 deb -libudev1 249.11-0ubuntu3.9 deb -libunistring2 1.0-1 deb -libuuid1 2.37.2-4ubuntu3 deb -libxtables12 1.8.7-1ubuntu5.2 deb -libxxhash0 0.8.1-1 deb -libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-97.107 deb -locales 2.35-0ubuntu3.6 deb -login 1:4.8.1-2ubuntu2.1 deb -logsave 1.46.5-2ubuntu1.1 deb -lsb-base 11.1.0ubuntu4 deb -lsb-release 11.1.0ubuntu4 deb -lto-disabled-list 24 deb -make 4.3-4.1build1 deb -mawk 1.3.4.20200120-3 deb -media-types 7.0.0 deb -mount 2.37.2-4ubuntu3 deb -ncurses-base 6.3-2ubuntu0.1 deb -ncurses-bin 6.3-2ubuntu0.1 deb -net-tools 1.60+git20181103.0eebece-1ubuntu5 deb -netbase 6.3 deb -netcat 1.218-4ubuntu1 deb -netcat-openbsd 1.218-4ubuntu1 deb -openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.15 deb -passwd 1:4.8.1-2ubuntu2.1 deb -patch 2.7.6-7build2 deb -perl 5.34.0-3ubuntu1.3 deb -perl-base 5.34.0-3ubuntu1.3 deb -perl-modules-5.34 5.34.0-3ubuntu1.3 deb -pinentry-curses 1.1.1-1build2 deb -pkg-config 0.29.2-1ubuntu3 deb -procps 2:3.3.17-6ubuntu2 deb -publicsuffix 20211207.1025-1 deb -python3 3.10.6-1~22.04 deb -python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.12-1~22.04.3 deb -python3.10-minimal 3.10.12-1~22.04.3 deb -qrencode 4.1.1-1 deb -readline-common 8.1.2-1 deb -rpcsvc-proto 1.4.2-0ubuntu6 deb -sed 4.8-1ubuntu2 deb -sensible-utils 0.0.17 deb -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module -sigs.k8s.io/yaml v1.3.0 go-module -stdlib go1.20.14 go-module -sysvinit-utils 3.01-1ubuntu1 deb -tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb -tzdata 2023d-0ubuntu0.22.04 deb -ubuntu-keyring 2021.03.26 deb -usrmerge 25ubuntu2 deb -util-linux 2.37.2-4ubuntu3 deb -xz-utils 5.2.5-2ubuntu1 deb -zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb -zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb +NAME VERSION TYPE +adduser 3.118ubuntu5 deb +apt 2.4.11 deb +apt-utils 2.4.11 deb +base-files 12ubuntu4.3 deb +base-passwd 3.5.52build1 deb +bash 5.1-6ubuntu1 deb +bash 5.1.16 binary +bc 1.07.1-3build1 deb +binutils 2.38-4ubuntu2.6 deb +binutils-common 2.38-4ubuntu2.6 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb +bsdutils 1:2.37.2-4ubuntu3 deb +build-essential 12.9ubuntu3 deb +bzip2 1.0.8-5build1 deb +ca-certificates 20230311ubuntu0.22.04.1 deb +cloud.google.com/go/compute/metadata v0.2.3 go-module +coreutils 8.32-4.1ubuntu1 deb +cpp 4:11.2.0-1ubuntu1 deb +cpp-11 11.4.0-1ubuntu1~22.04 deb +cpp-12 12.3.0-1ubuntu1~22.04 deb +cron 3.0pl1-137ubuntu3 deb +curl 7.81.0-1ubuntu1.15 deb +dash 0.5.11+git20210903+057cd650a4ed-3build1 deb +dctrl-tools 2.24-3build2 deb +debconf 1.5.79ubuntu1 deb +debianutils 5.5-1ubuntu2 deb +diffutils 1:3.8-0ubuntu2 deb +dirmngr 2.2.27-3ubuntu2.1 deb +distro-info-data 0.52ubuntu0.6 deb +dkms 2.8.7-2ubuntu2.2 deb +dpkg 1.21.1ubuntu2.2 deb +dpkg-dev 1.21.1ubuntu2.2 deb +e2fsprogs 1.46.5-2ubuntu1.1 deb +findutils 4.8.0-1ubuntu3 deb +g++ 4:11.2.0-1ubuntu1 deb +g++-11 11.4.0-1ubuntu1~22.04 deb +gcc 4:11.2.0-1ubuntu1 deb +gcc-11 11.4.0-1ubuntu1~22.04 deb +gcc-11-base 11.4.0-1ubuntu1~22.04 deb +gcc-12 12.3.0-1ubuntu1~22.04 deb +gcc-12-base 12.3.0-1ubuntu1~22.04 deb +git 1:2.34.1-1ubuntu1.10 deb +git-man 1:2.34.1-1ubuntu1.10 deb +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module +github.com/Azure/go-autorest/autorest v0.11.29 go-module +github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module +github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module +github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module +github.com/Azure/go-autorest/autorest/date v0.3.0 go-module +github.com/Azure/go-autorest/autorest/to v0.2.0 go-module +github.com/Azure/go-autorest/logger v0.2.1 go-module +github.com/Azure/go-autorest/tracing v0.6.0 go-module +github.com/DataDog/datadog-agent/pkg/obfuscate v0.45.0-rc.1 go-module +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.0-devel.0.20230725154044-2549ba9058df go-module +github.com/DataDog/datadog-go/v5 v5.1.1 go-module +github.com/DataDog/go-tuf v1.0.1-0.5.2 go-module +github.com/DataDog/sketches-go v1.2.1 go-module +github.com/antonmedv/expr v1.13.0 go-module +github.com/apparentlymart/go-cidr v1.1.0 go-module +github.com/aws/aws-sdk-go v1.44.322 go-module +github.com/beorn7/perks v1.0.1 go-module +github.com/cespare/xxhash/v2 v2.2.0 go-module +github.com/coredns/caddy v1.1.1 go-module +github.com/coredns/coredns v0.0.0-20230815193032-ae2bbc29be1a go-module +github.com/coreos/go-semver v0.3.0 go-module +github.com/coreos/go-systemd/v22 v22.3.2 go-module +github.com/davecgh/go-spew v1.1.1 go-module +github.com/dimchansky/utfbom v1.1.1 go-module +github.com/dnstap/golang-dnstap v0.4.0 go-module +github.com/dustin/go-humanize v1.0.1 go-module +github.com/emicklei/go-restful/v3 v3.10.2 go-module +github.com/farsightsec/golang-framestream v0.3.0 go-module +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module +github.com/go-logr/logr v1.2.4 go-module +github.com/go-openapi/jsonpointer v0.19.6 go-module +github.com/go-openapi/jsonreference v0.20.1 go-module +github.com/go-openapi/swag v0.22.3 go-module +github.com/gogo/protobuf v1.3.2 go-module +github.com/golang-jwt/jwt/v4 v4.5.0 go-module +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module +github.com/golang/protobuf v1.5.3 go-module +github.com/google/gnostic v0.5.7-v3refs go-module +github.com/google/go-cmp v0.5.9 go-module +github.com/google/gofuzz v1.2.0 go-module +github.com/google/s2a-go v0.1.4 go-module +github.com/google/uuid v1.3.0 go-module +github.com/googleapis/enterprise-certificate-proxy v0.2.5 go-module +github.com/googleapis/gax-go/v2 v2.12.0 go-module +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module +github.com/imdario/mergo v0.3.12 go-module +github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module +github.com/jmespath/go-jmespath v0.4.0 go-module +github.com/josharian/intern v1.0.0 go-module +github.com/json-iterator/go v1.1.12 go-module +github.com/mailru/easyjson v0.7.7 go-module +github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module +github.com/miekg/dns v1.1.55 go-module +github.com/mitchellh/go-homedir v1.1.0 go-module +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module +github.com/modern-go/reflect2 v1.0.2 go-module +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module +github.com/opentracing/opentracing-go v1.2.0 go-module +github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module +github.com/openzipkin/zipkin-go v0.4.2 go-module +github.com/oschwald/geoip2-golang v1.9.0 go-module +github.com/oschwald/maxminddb-golang v1.11.0 go-module +github.com/outcaste-io/ristretto v0.2.1 go-module +github.com/philhofer/fwd v1.1.2 go-module +github.com/pkg/errors v0.9.1 go-module +github.com/prometheus/client_golang v1.16.0 go-module +github.com/prometheus/client_model v0.4.0 go-module +github.com/prometheus/common v0.44.0 go-module +github.com/prometheus/procfs v0.10.1 go-module +github.com/quic-go/qtls-go1-20 v0.3.1 go-module +github.com/quic-go/quic-go v0.37.4 go-module +github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module +github.com/spf13/pflag v1.0.5 go-module +github.com/tinylib/msgp v1.1.8 go-module +gnupg 2.2.27-3ubuntu2.1 deb +gnupg-l10n 2.2.27-3ubuntu2.1 deb +gnupg-utils 2.2.27-3ubuntu2.1 deb +go.etcd.io/etcd/api/v3 v3.5.9 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.9 go-module +go.etcd.io/etcd/client/v3 v3.5.9 go-module +go.opencensus.io v0.24.0 go-module +go.uber.org/atomic v1.11.0 go-module +go.uber.org/multierr v1.6.0 go-module +go.uber.org/zap v1.17.0 go-module +golang.org/x/crypto v0.12.0 go-module +golang.org/x/exp v0.0.0-20221205204356-47842c84f3db go-module +golang.org/x/net v0.14.0 go-module +golang.org/x/oauth2 v0.11.0 go-module +golang.org/x/sys v0.11.0 go-module +golang.org/x/term v0.11.0 go-module +golang.org/x/text v0.12.0 go-module +golang.org/x/time v0.3.0 go-module +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module +google.golang.org/api v0.136.0 go-module +google.golang.org/appengine v1.6.7 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 go-module +google.golang.org/grpc v1.57.0 go-module +google.golang.org/protobuf v1.31.0 go-module +gopkg.in/DataDog/dd-trace-go.v1 v1.54.0 go-module +gopkg.in/inf.v0 v0.9.1 go-module +gopkg.in/yaml.v2 v2.4.0 go-module +gopkg.in/yaml.v3 v3.0.1 go-module +gpg 2.2.27-3ubuntu2.1 deb +gpg-agent 2.2.27-3ubuntu2.1 deb +gpg-wks-client 2.2.27-3ubuntu2.1 deb +gpg-wks-server 2.2.27-3ubuntu2.1 deb +gpgconf 2.2.27-3ubuntu2.1 deb +gpgsm 2.2.27-3ubuntu2.1 deb +gpgv 2.2.27-3ubuntu2.1 deb +grep 3.7-1build1 deb +gzip 1.10-4ubuntu4.1 deb +hostname 3.23ubuntu2 deb +ifupdown 0.8.36+nmu1ubuntu3.1 deb +init-system-helpers 1.62 deb +iproute2 5.15.0-1ubuntu2 deb +iptables 1.8.7-1ubuntu5.2 deb +iputils-ping 3:20211215-1 deb +jq 1.6-2.1ubuntu3 deb +k8s.io/api v0.27.4 go-module +k8s.io/apimachinery v0.27.4 go-module +k8s.io/client-go v0.27.4 go-module +k8s.io/klog/v2 v2.100.1 go-module +k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f go-module +k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module +kmod 29-1ubuntu1 deb +libacl1 2.3.1-1 deb +libapt-pkg6.0 2.4.11 deb +libasan6 11.4.0-1ubuntu1~22.04 deb +libasan8 12.3.0-1ubuntu1~22.04 deb +libassuan0 2.5.5-1build1 deb +libatomic1 12.3.0-1ubuntu1~22.04 deb +libattr1 1:2.5.1-1build1 deb +libaudit-common 1:3.0.7-1build1 deb +libaudit1 1:3.0.7-1build1 deb +libbinutils 2.38-4ubuntu2.6 deb +libblkid1 2.37.2-4ubuntu3 deb +libbpf0 1:0.5.0-1ubuntu22.04.1 deb +libbrotli1 1.0.9-2build6 deb +libbsd0 0.11.5-1 deb +libbz2-1.0 1.0.8-5build1 deb +libc-bin 2.35-0ubuntu3.1 deb +libc-dev-bin 2.35-0ubuntu3.6 deb +libc6 2.35-0ubuntu3.6 deb +libc6-dev 2.35-0ubuntu3.6 deb +libcap-ng0 0.7.9-2.2build3 deb +libcap2 1:2.44-1ubuntu0.22.04.1 deb +libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb +libcc1-0 12.3.0-1ubuntu1~22.04 deb +libcom-err2 1.46.5-2ubuntu1.1 deb +libcrypt-dev 1:4.4.27-1 deb +libcrypt1 1:4.4.27-1 deb +libctf-nobfd0 2.38-4ubuntu2.6 deb +libctf0 2.38-4ubuntu2.6 deb +libcurl3-gnutls 7.81.0-1ubuntu1.15 deb +libcurl4 7.81.0-1ubuntu1.15 deb +libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb +libdebconfclient0 0.261ubuntu1 deb +libdpkg-perl 1.21.1ubuntu2.2 deb +libelf-dev 0.186-1build1 deb +libelf1 0.186-1build1 deb +liberror-perl 0.17029-1 deb +libexpat1 2.4.7-1ubuntu0.2 deb +libext2fs2 1.46.5-2ubuntu1.1 deb +libffi8 3.4.2-4 deb +libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb +libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb +libgcc-s1 12.3.0-1ubuntu1~22.04 deb +libgcrypt20 1.9.4-3ubuntu3 deb +libgdbm-compat4 1.23-1 deb +libgdbm6 1.23-1 deb +libglib2.0-0 2.72.4-0ubuntu2.2 deb +libgmp10 2:6.2.1+dfsg-3ubuntu1 deb +libgnutls30 3.7.3-4ubuntu1.2 deb +libgomp1 12.3.0-1ubuntu1~22.04 deb +libgpg-error0 1.43-3 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb +libhogweed6 3.7.3-1build2 deb +libidn2-0 2.3.2-2build1 deb +libip4tc2 1.8.7-1ubuntu5.2 deb +libip6tc2 1.8.7-1ubuntu5.2 deb +libisl23 0.24-2build1 deb +libitm1 12.3.0-1ubuntu1~22.04 deb +libjq1 1.6-2.1ubuntu3 deb +libk5crypto3 1.19.2-2ubuntu0.2 deb +libkeyutils1 1.6.1-2ubuntu3 deb +libkmod2 29-1ubuntu1 deb +libkrb5-3 1.19.2-2ubuntu0.2 deb +libkrb5support0 1.19.2-2ubuntu0.2 deb +libksba8 1.6.0-2ubuntu0.2 deb +libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb +libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb +liblsan0 12.3.0-1ubuntu1~22.04 deb +liblz4-1 1.9.3-2build2 deb +liblzma5 5.2.5-2ubuntu1 deb +libmd0 1.0.4-1build1 deb +libmnl0 1.0.4-3build2 deb +libmount1 2.37.2-4ubuntu3 deb +libmpc3 1.2.1-2build1 deb +libmpdec3 2.5.1-2build2 deb +libmpfr6 4.1.0-3build3 deb +libncurses6 6.3-2ubuntu0.1 deb +libncursesw6 6.3-2ubuntu0.1 deb +libnetfilter-conntrack3 1.0.9-1 deb +libnettle8 3.7.3-1build2 deb +libnfnetlink0 1.0.1-3build3 deb +libnftnl11 1.2.1-1build1 deb +libnghttp2-14 1.43.0-1ubuntu0.1 deb +libnpth0 1.6-3build2 deb +libnsl-dev 1.3.0-2build2 deb +libnsl2 1.3.0-2build2 deb +libonig5 6.9.7.1-2build1 deb +libp11-kit0 0.24.0-6build1 deb +libpam-modules 1.4.0-11ubuntu2.3 deb +libpam-modules-bin 1.4.0-11ubuntu2.3 deb +libpam-runtime 1.4.0-11ubuntu2.3 deb +libpam0g 1.4.0-11ubuntu2.3 deb +libpcre2-8-0 10.39-3ubuntu0.1 deb +libpcre3 2:8.39-13ubuntu0.22.04.1 deb +libperl5.34 5.34.0-3ubuntu1.3 deb +libpng16-16 1.6.37-3build5 deb +libprocps8 2:3.3.17-6ubuntu2 deb +libpsl5 0.21.0-1.2build2 deb +libpython3-stdlib 3.10.6-1~22.04 deb +libpython3.10-minimal 3.10.12-1~22.04.3 deb +libpython3.10-stdlib 3.10.12-1~22.04.3 deb +libqrencode4 4.1.1-1 deb +libquadmath0 12.3.0-1ubuntu1~22.04 deb +libreadline8 8.1.2-1 deb +librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb +libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb +libseccomp2 2.5.3-2ubuntu2 deb +libselinux1 3.3-1build2 deb +libsemanage-common 3.3-1build2 deb +libsemanage2 3.3-1build2 deb +libsepol2 3.3-1build1 deb +libsmartcols1 2.37.2-4ubuntu3 deb +libsqlite3-0 3.37.2-2ubuntu0.3 deb +libss2 1.46.5-2ubuntu1.1 deb +libssh-4 0.9.6-2ubuntu0.22.04.3 deb +libssl3 3.0.2-0ubuntu1.10 deb +libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb +libstdc++6 12.3.0-1ubuntu1~22.04 deb +libsystemd0 249.11-0ubuntu3.9 deb +libtasn1-6 4.18.0-4build1 deb +libtinfo6 6.3-2ubuntu0.1 deb +libtirpc-common 1.3.2-2ubuntu0.1 deb +libtirpc-dev 1.3.2-2ubuntu0.1 deb +libtirpc3 1.3.2-2ubuntu0.1 deb +libtsan0 11.4.0-1ubuntu1~22.04 deb +libtsan2 12.3.0-1ubuntu1~22.04 deb +libubsan1 12.3.0-1ubuntu1~22.04 deb +libudev1 249.11-0ubuntu3.9 deb +libunistring2 1.0-1 deb +libuuid1 2.37.2-4ubuntu3 deb +libxtables12 1.8.7-1ubuntu5.2 deb +libxxhash0 0.8.1-1 deb +libzstd1 1.4.8+dfsg-3build1 deb +linux-libc-dev 5.15.0-97.107 deb +locales 2.35-0ubuntu3.6 deb +login 1:4.8.1-2ubuntu2.1 deb +logsave 1.46.5-2ubuntu1.1 deb +lsb-base 11.1.0ubuntu4 deb +lsb-release 11.1.0ubuntu4 deb +lto-disabled-list 24 deb +make 4.3-4.1build1 deb +mawk 1.3.4.20200120-3 deb +media-types 7.0.0 deb +mount 2.37.2-4ubuntu3 deb +ncurses-base 6.3-2ubuntu0.1 deb +ncurses-bin 6.3-2ubuntu0.1 deb +net-tools 1.60+git20181103.0eebece-1ubuntu5 deb +netbase 6.3 deb +netcat 1.218-4ubuntu1 deb +netcat-openbsd 1.218-4ubuntu1 deb +openresolv 3.12.0-2 deb +openssl 3.0.2-0ubuntu1.15 deb +passwd 1:4.8.1-2ubuntu2.1 deb +patch 2.7.6-7build2 deb +perl 5.34.0-3ubuntu1.3 deb +perl-base 5.34.0-3ubuntu1.3 deb +perl-modules-5.34 5.34.0-3ubuntu1.3 deb +pinentry-curses 1.1.1-1build2 deb +pkg-config 0.29.2-1ubuntu3 deb +procps 2:3.3.17-6ubuntu2 deb +publicsuffix 20211207.1025-1 deb +python3 3.10.6-1~22.04 deb +python3-minimal 3.10.6-1~22.04 deb +python3.10 3.10.12-1~22.04.3 deb +python3.10-minimal 3.10.12-1~22.04.3 deb +qrencode 4.1.1-1 deb +readline-common 8.1.2-1 deb +rpcsvc-proto 1.4.2-0ubuntu6 deb +sed 4.8-1ubuntu2 deb +sensible-utils 0.0.17 deb +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module +sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module +sigs.k8s.io/yaml v1.3.0 go-module +stdlib go1.20.7 go-module +sysvinit-utils 3.01-1ubuntu1 deb +tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb +tzdata 2024a-0ubuntu0.22.04 deb +ubuntu-keyring 2021.03.26 deb +usrmerge 25ubuntu2 deb +util-linux 2.37.2-4ubuntu3 deb +xz-utils 5.2.5-2ubuntu1 deb +zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb +zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb From 29c94046dd0f4dcd65589dc25764d24ff15c0b35 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Mar 2024 11:18:50 +0000 Subject: [PATCH 055/117] Bot Updating Templated Files --- Jenkinsfile | 61 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cc2bef3f..108246fe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -268,8 +268,15 @@ pipeline { set -e TEMPDIR=$(mktemp -d) docker pull ghcr.io/linuxserver/jenkins-builder:latest - docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=legacy -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest - # Stage 1 - Jenkinsfile update + # Cloned repo paths for templating: + # ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch legacy of ${LS_USER}/${LS_REPO} for running the jenkins builder on + # ${TEMPDIR}/repo/${LS_REPO}: Cloned branch legacy of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github + # ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github + # ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos + # ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github + git clone --branch legacy --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME} + docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true ghcr.io/linuxserver/jenkins-builder:latest + echo "Starting Stage 1 - Jenkinsfile update" if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then mkdir -p ${TEMPDIR}/repo git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} @@ -281,13 +288,13 @@ pipeline { git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Updating Jenkinsfile" + echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit" rm -Rf ${TEMPDIR} exit 0 else echo "Jenkinsfile is up to date." fi - # Stage 2 - Delete old templates + echo "Starting Stage 2 - Delete old templates" OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then @@ -306,13 +313,13 @@ pipeline { git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Deleting old and deprecated templates" + echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit" rm -Rf ${TEMPDIR} exit 0 else echo "No templates to delete" fi - # Stage 3 - Update templates + echo "Starting Stage 3 - Update templates" CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) cd ${TEMPDIR}/docker-${CONTAINER_NAME} NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) @@ -336,9 +343,14 @@ pipeline { git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Updating templates and exiting build, new one will trigger based on commit" + rm -Rf ${TEMPDIR} + exit 0 else echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "No templates to update" fi + echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub" mkdir -p ${TEMPDIR}/docs git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then @@ -346,6 +358,7 @@ pipeline { cd ${TEMPDIR}/docs/docker-documentation GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') git add docs/images/docker-${CONTAINER_NAME}.md + echo "Updating docs repo" git commit -m 'Bot Updating Documentation' git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \ @@ -353,6 +366,8 @@ pipeline { sleep $((RANDOM % MAXWAIT)) && \ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase && \ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}) + else + echo "Docs update not needed, skipping" fi mkdir -p ${TEMPDIR}/unraid git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates @@ -363,6 +378,7 @@ pipeline { sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml fi if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then + echo "Updating Unraid template" cd ${TEMPDIR}/unraid/templates/ GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then @@ -382,16 +398,27 @@ pipeline { sleep $((RANDOM % MAXWAIT)) && \ git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \ git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}) + else + echo "No updates to Unraid template needed, skipping" fi - # Stage 4 - Sync Readme to Docker Hub if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then - if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) > 25000 ]]; then + if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) -gt 25000 ]]; then echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub" DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite" else echo "Syncing readme to Docker Hub" DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md" fi + if curl -s https://hub.docker.com/v2/namespaces/${DOCKERHUB_IMAGE%%/*}/repositories/${DOCKERHUB_IMAGE##*/}/tags | jq -r '.message' | grep -q 404; then + echo "Docker Hub endpoint doesn't exist. Creating endpoint first." + DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') + curl -s \ + -H "Authorization: JWT ${DH_TOKEN}" \ + -H "Content-Type: application/json" \ + -X POST \ + -d '{"name":"'${DOCKERHUB_IMAGE##*/}'", "namespace":"'${DOCKERHUB_IMAGE%%/*}'"}' \ + https://hub.docker.com/v2/repositories/ || : + fi DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') curl -s \ -H "Authorization: JWT ${DH_TOKEN}" \ @@ -456,14 +483,16 @@ pipeline { } steps{ sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \ - -d '{"namespace_id":'${GITLAB_NAMESPACE}',\ - "name":"'${LS_REPO}'", - "mirror":true,\ - "import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\ - "issues_access_level":"disabled",\ - "merge_requests_access_level":"disabled",\ - "repository_access_level":"enabled",\ - "visibility":"public"}' ''' + -d '{"namespace_id":'${GITLAB_NAMESPACE}',\ + "name":"'${LS_REPO}'", + "mirror":true,\ + "import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\ + "issues_access_level":"disabled",\ + "merge_requests_access_level":"disabled",\ + "repository_access_level":"enabled",\ + "visibility":"public"}' ''' + sh '''curl -H "Private-Token: ${GITLAB_TOKEN}" -X PUT "https://gitlab.com/api/v4/projects/Linuxserver.io%2F${LS_REPO}" \ + -d "mirror=true&import_url=https://github.com/linuxserver/${LS_REPO}.git" ''' } } /* ############### From c5dfb30adda7c5c1abe32babc915456fa5ce26f3 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Mar 2024 11:22:42 +0000 Subject: [PATCH 056/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 9ddbf264..ad07379e 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -30,7 +30,7 @@ dirmngr 2.2.27-3ubuntu2.1 distro-info-data 0.52ubuntu0.6 deb dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.2 deb -dpkg-dev 1.21.1ubuntu2.2 deb +dpkg-dev 1.21.1ubuntu2.3 deb e2fsprogs 1.46.5-2ubuntu1.1 deb findutils 4.8.0-1ubuntu3 deb g++ 4:11.2.0-1ubuntu1 deb @@ -202,7 +202,7 @@ libcurl3-gnutls 7.81.0-1ubuntu1.15 libcurl4 7.81.0-1ubuntu1.15 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb -libdpkg-perl 1.21.1ubuntu2.2 deb +libdpkg-perl 1.21.1ubuntu2.3 deb libelf-dev 0.186-1build1 deb libelf1 0.186-1build1 deb liberror-perl 0.17029-1 deb @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-97.107 deb +linux-libc-dev 5.15.0-100.110 deb locales 2.35-0ubuntu3.6 deb login 1:4.8.1-2ubuntu2.1 deb logsave 1.46.5-2ubuntu1.1 deb From 2cc6ec32a071486b228e117ecde1ea74705de2e3 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 21 Mar 2024 11:19:05 +0000 Subject: [PATCH 057/117] Bot Updating Package Versions --- package_versions.txt | 52 ++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index ad07379e..a6238cb1 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -2,9 +2,9 @@ NAME VERSION adduser 3.118ubuntu5 deb apt 2.4.11 deb apt-utils 2.4.11 deb -base-files 12ubuntu4.3 deb +base-files 12ubuntu4.6 deb base-passwd 3.5.52build1 deb -bash 5.1-6ubuntu1 deb +bash 5.1-6ubuntu1.1 deb bash 5.1.16 binary bc 1.07.1-3build1 deb binutils 2.38-4ubuntu2.6 deb @@ -15,7 +15,7 @@ build-essential 12.9ubuntu3 bzip2 1.0.8-5build1 deb ca-certificates 20230311ubuntu0.22.04.1 deb cloud.google.com/go/compute/metadata v0.2.3 go-module -coreutils 8.32-4.1ubuntu1 deb +coreutils 8.32-4.1ubuntu1.1 deb cpp 4:11.2.0-1ubuntu1 deb cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb @@ -29,7 +29,7 @@ diffutils 1:3.8-0ubuntu2 dirmngr 2.2.27-3ubuntu2.1 deb distro-info-data 0.52ubuntu0.6 deb dkms 2.8.7-2ubuntu2.2 deb -dpkg 1.21.1ubuntu2.2 deb +dpkg 1.21.1ubuntu2.3 deb dpkg-dev 1.21.1ubuntu2.3 deb e2fsprogs 1.46.5-2ubuntu1.1 deb findutils 4.8.0-1ubuntu3 deb @@ -185,7 +185,7 @@ libbpf0 1:0.5.0-1ubuntu22.04.1 libbrotli1 1.0.9-2build6 deb libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.1 deb +libc-bin 2.35-0ubuntu3.6 deb libc-dev-bin 2.35-0ubuntu3.6 deb libc6 2.35-0ubuntu3.6 deb libc6-dev 2.35-0ubuntu3.6 deb @@ -206,7 +206,7 @@ libdpkg-perl 1.21.1ubuntu2.3 libelf-dev 0.186-1build1 deb libelf1 0.186-1build1 deb liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.2 deb +libexpat1 2.4.7-1ubuntu0.3 deb libext2fs2 1.46.5-2ubuntu1.1 deb libffi8 3.4.2-4 deb libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb @@ -217,10 +217,10 @@ libgdbm-compat4 1.23-1 libgdbm6 1.23-1 deb libglib2.0-0 2.72.4-0ubuntu2.2 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb -libgnutls30 3.7.3-4ubuntu1.2 deb +libgnutls30 3.7.3-4ubuntu1.4 deb libgomp1 12.3.0-1ubuntu1~22.04 deb libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.2 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb libhogweed6 3.7.3-1build2 deb libidn2-0 2.3.2-2build1 deb libip4tc2 1.8.7-1ubuntu5.2 deb @@ -228,14 +228,14 @@ libip6tc2 1.8.7-1ubuntu5.2 libisl23 0.24-2build1 deb libitm1 12.3.0-1ubuntu1~22.04 deb libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.2 deb +libk5crypto3 1.19.2-2ubuntu0.3 deb libkeyutils1 1.6.1-2ubuntu3 deb libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.2 deb -libkrb5support0 1.19.2-2ubuntu0.2 deb +libkrb5-3 1.19.2-2ubuntu0.3 deb +libkrb5support0 1.19.2-2ubuntu0.3 deb libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.16+dfsg-0ubuntu0.22.04.2 deb -libldap-common 2.5.16+dfsg-0ubuntu0.22.04.2 deb +libldap-2.5-0 2.5.17+dfsg-0ubuntu0.22.04.1 deb +libldap-common 2.5.17+dfsg-0ubuntu0.22.04.1 deb liblsan0 12.3.0-1ubuntu1~22.04 deb liblz4-1 1.9.3-2build2 deb liblzma5 5.2.5-2ubuntu1 deb @@ -257,15 +257,15 @@ libnsl-dev 1.3.0-2build2 libnsl2 1.3.0-2build2 deb libonig5 6.9.7.1-2build1 deb libp11-kit0 0.24.0-6build1 deb -libpam-modules 1.4.0-11ubuntu2.3 deb -libpam-modules-bin 1.4.0-11ubuntu2.3 deb -libpam-runtime 1.4.0-11ubuntu2.3 deb -libpam0g 1.4.0-11ubuntu2.3 deb +libpam-modules 1.4.0-11ubuntu2.4 deb +libpam-modules-bin 1.4.0-11ubuntu2.4 deb +libpam-runtime 1.4.0-11ubuntu2.4 deb +libpam0g 1.4.0-11ubuntu2.4 deb libpcre2-8-0 10.39-3ubuntu0.1 deb libpcre3 2:8.39-13ubuntu0.22.04.1 deb libperl5.34 5.34.0-3ubuntu1.3 deb libpng16-16 1.6.37-3build5 deb -libprocps8 2:3.3.17-6ubuntu2 deb +libprocps8 2:3.3.17-6ubuntu2.1 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04 deb libpython3.10-minimal 3.10.12-1~22.04.3 deb @@ -286,10 +286,10 @@ libsmartcols1 2.37.2-4ubuntu3 libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.10 deb +libssl3 3.0.2-0ubuntu1.15 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb -libsystemd0 249.11-0ubuntu3.9 deb +libsystemd0 249.11-0ubuntu3.12 deb libtasn1-6 4.18.0-4build1 deb libtinfo6 6.3-2ubuntu0.1 deb libtirpc-common 1.3.2-2ubuntu0.1 deb @@ -298,15 +298,15 @@ libtirpc3 1.3.2-2ubuntu0.1 libtsan0 11.4.0-1ubuntu1~22.04 deb libtsan2 12.3.0-1ubuntu1~22.04 deb libubsan1 12.3.0-1ubuntu1~22.04 deb -libudev1 249.11-0ubuntu3.9 deb +libudev1 249.11-0ubuntu3.12 deb libunistring2 1.0-1 deb libuuid1 2.37.2-4ubuntu3 deb libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-100.110 deb +linux-libc-dev 5.15.0-101.111 deb locales 2.35-0ubuntu3.6 deb -login 1:4.8.1-2ubuntu2.1 deb +login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb lsb-release 11.1.0ubuntu4 deb @@ -323,14 +323,14 @@ netcat 1.218-4ubuntu1 netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb openssl 3.0.2-0ubuntu1.15 deb -passwd 1:4.8.1-2ubuntu2.1 deb +passwd 1:4.8.1-2ubuntu2.2 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.3 deb perl-base 5.34.0-3ubuntu1.3 deb perl-modules-5.34 5.34.0-3ubuntu1.3 deb pinentry-curses 1.1.1-1build2 deb pkg-config 0.29.2-1ubuntu3 deb -procps 2:3.3.17-6ubuntu2 deb +procps 2:3.3.17-6ubuntu2.1 deb publicsuffix 20211207.1025-1 deb python3 3.10.6-1~22.04 deb python3-minimal 3.10.6-1~22.04 deb @@ -346,7 +346,7 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.3 sigs.k8s.io/yaml v1.3.0 go-module stdlib go1.20.7 go-module sysvinit-utils 3.01-1ubuntu1 deb -tar 1.34+dfsg-1ubuntu0.1.22.04.1 deb +tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb tzdata 2024a-0ubuntu0.22.04 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb From 75bdab570304670bd214abbeef4f3ea23f59542c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 28 Mar 2024 11:21:25 +0000 Subject: [PATCH 058/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index a6238cb1..9c77d0f8 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -198,7 +198,7 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.15 deb +libcurl3-gnutls 7.81.0-1ubuntu1.16 deb libcurl4 7.81.0-1ubuntu1.15 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb From e57b479e6652f7e8eac4afa3ad0dff03449b04b8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 4 Apr 2024 11:19:06 +0000 Subject: [PATCH 059/117] Bot Updating Package Versions --- package_versions.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 9c77d0f8..9907d9ee 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,7 +1,7 @@ NAME VERSION TYPE adduser 3.118ubuntu5 deb -apt 2.4.11 deb -apt-utils 2.4.11 deb +apt 2.4.12 deb +apt-utils 2.4.12 deb base-files 12ubuntu4.6 deb base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1.1 deb @@ -10,17 +10,17 @@ bc 1.07.1-3build1 binutils 2.38-4ubuntu2.6 deb binutils-common 2.38-4ubuntu2.6 deb binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb -bsdutils 1:2.37.2-4ubuntu3 deb +bsdutils 1:2.37.2-4ubuntu3.3 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb ca-certificates 20230311ubuntu0.22.04.1 deb cloud.google.com/go/compute/metadata v0.2.3 go-module -coreutils 8.32-4.1ubuntu1.1 deb +coreutils 8.32-4.1ubuntu1.2 deb cpp 4:11.2.0-1ubuntu1 deb cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.15 deb +curl 7.81.0-1ubuntu1.16 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -171,7 +171,7 @@ k8s.io/kube-openapi v0.0.0-20230501164219-8 k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.11 deb +libapt-pkg6.0 2.4.12 deb libasan6 11.4.0-1ubuntu1~22.04 deb libasan8 12.3.0-1ubuntu1~22.04 deb libassuan0 2.5.5-1build1 deb @@ -180,7 +180,7 @@ libattr1 1:2.5.1-1build1 libaudit-common 1:3.0.7-1build1 deb libaudit1 1:3.0.7-1build1 deb libbinutils 2.38-4ubuntu2.6 deb -libblkid1 2.37.2-4ubuntu3 deb +libblkid1 2.37.2-4ubuntu3.3 deb libbpf0 1:0.5.0-1ubuntu22.04.1 deb libbrotli1 1.0.9-2build6 deb libbsd0 0.11.5-1 deb @@ -199,7 +199,7 @@ libcrypt1 1:4.4.27-1 libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb libcurl3-gnutls 7.81.0-1ubuntu1.16 deb -libcurl4 7.81.0-1ubuntu1.15 deb +libcurl4 7.81.0-1ubuntu1.16 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.3 deb @@ -241,7 +241,7 @@ liblz4-1 1.9.3-2build2 liblzma5 5.2.5-2ubuntu1 deb libmd0 1.0.4-1build1 deb libmnl0 1.0.4-3build2 deb -libmount1 2.37.2-4ubuntu3 deb +libmount1 2.37.2-4ubuntu3.3 deb libmpc3 1.2.1-2build1 deb libmpdec3 2.5.1-2build2 deb libmpfr6 4.1.0-3build3 deb @@ -282,7 +282,7 @@ libselinux1 3.3-1build2 libsemanage-common 3.3-1build2 deb libsemanage2 3.3-1build2 deb libsepol2 3.3-1build1 deb -libsmartcols1 2.37.2-4ubuntu3 deb +libsmartcols1 2.37.2-4ubuntu3.3 deb libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb @@ -300,7 +300,7 @@ libtsan2 12.3.0-1ubuntu1~22.04 libubsan1 12.3.0-1ubuntu1~22.04 deb libudev1 249.11-0ubuntu3.12 deb libunistring2 1.0-1 deb -libuuid1 2.37.2-4ubuntu3 deb +libuuid1 2.37.2-4ubuntu3.3 deb libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb @@ -314,7 +314,7 @@ lto-disabled-list 24 make 4.3-4.1build1 deb mawk 1.3.4.20200120-3 deb media-types 7.0.0 deb -mount 2.37.2-4ubuntu3 deb +mount 2.37.2-4ubuntu3.3 deb ncurses-base 6.3-2ubuntu0.1 deb ncurses-bin 6.3-2ubuntu0.1 deb net-tools 1.60+git20181103.0eebece-1ubuntu5 deb @@ -350,7 +350,7 @@ tar 1.34+dfsg-1ubuntu0.1.22 tzdata 2024a-0ubuntu0.22.04 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb -util-linux 2.37.2-4ubuntu3 deb +util-linux 2.37.2-4ubuntu3.3 deb xz-utils 5.2.5-2ubuntu1 deb zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb From 039f55d308bb072204049a6aa78e8dcef0b20ea8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 11 Apr 2024 11:19:49 +0000 Subject: [PATCH 060/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 9907d9ee..ff214442 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3.3 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-101.111 deb +linux-libc-dev 5.15.0-102.112 deb locales 2.35-0ubuntu3.6 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From 55453d6c485b644f5e7334810d4b06d3a29b0807 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 18 Apr 2024 11:20:02 +0000 Subject: [PATCH 061/117] Bot Updating Package Versions --- package_versions.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index ff214442..9d3fa534 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -10,7 +10,7 @@ bc 1.07.1-3build1 binutils 2.38-4ubuntu2.6 deb binutils-common 2.38-4ubuntu2.6 deb binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb -bsdutils 1:2.37.2-4ubuntu3.3 deb +bsdutils 1:2.37.2-4ubuntu3.4 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb ca-certificates 20230311ubuntu0.22.04.1 deb @@ -180,7 +180,7 @@ libattr1 1:2.5.1-1build1 libaudit-common 1:3.0.7-1build1 deb libaudit1 1:3.0.7-1build1 deb libbinutils 2.38-4ubuntu2.6 deb -libblkid1 2.37.2-4ubuntu3.3 deb +libblkid1 2.37.2-4ubuntu3.4 deb libbpf0 1:0.5.0-1ubuntu22.04.1 deb libbrotli1 1.0.9-2build6 deb libbsd0 0.11.5-1 deb @@ -217,7 +217,7 @@ libgdbm-compat4 1.23-1 libgdbm6 1.23-1 deb libglib2.0-0 2.72.4-0ubuntu2.2 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb -libgnutls30 3.7.3-4ubuntu1.4 deb +libgnutls30 3.7.3-4ubuntu1.5 deb libgomp1 12.3.0-1ubuntu1~22.04 deb libgpg-error0 1.43-3 deb libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb @@ -241,7 +241,7 @@ liblz4-1 1.9.3-2build2 liblzma5 5.2.5-2ubuntu1 deb libmd0 1.0.4-1build1 deb libmnl0 1.0.4-3build2 deb -libmount1 2.37.2-4ubuntu3.3 deb +libmount1 2.37.2-4ubuntu3.4 deb libmpc3 1.2.1-2build1 deb libmpdec3 2.5.1-2build2 deb libmpfr6 4.1.0-3build3 deb @@ -282,7 +282,7 @@ libselinux1 3.3-1build2 libsemanage-common 3.3-1build2 deb libsemanage2 3.3-1build2 deb libsepol2 3.3-1build1 deb -libsmartcols1 2.37.2-4ubuntu3.3 deb +libsmartcols1 2.37.2-4ubuntu3.4 deb libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb @@ -300,7 +300,7 @@ libtsan2 12.3.0-1ubuntu1~22.04 libubsan1 12.3.0-1ubuntu1~22.04 deb libudev1 249.11-0ubuntu3.12 deb libunistring2 1.0-1 deb -libuuid1 2.37.2-4ubuntu3.3 deb +libuuid1 2.37.2-4ubuntu3.4 deb libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb @@ -314,7 +314,7 @@ lto-disabled-list 24 make 4.3-4.1build1 deb mawk 1.3.4.20200120-3 deb media-types 7.0.0 deb -mount 2.37.2-4ubuntu3.3 deb +mount 2.37.2-4ubuntu3.4 deb ncurses-base 6.3-2ubuntu0.1 deb ncurses-bin 6.3-2ubuntu0.1 deb net-tools 1.60+git20181103.0eebece-1ubuntu5 deb @@ -350,7 +350,7 @@ tar 1.34+dfsg-1ubuntu0.1.22 tzdata 2024a-0ubuntu0.22.04 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb -util-linux 2.37.2-4ubuntu3.3 deb +util-linux 2.37.2-4ubuntu3.4 deb xz-utils 5.2.5-2ubuntu1 deb zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb From d3b4cda399e2d0cda1a37f9072e0eae60cc5810c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 25 Apr 2024 11:18:55 +0000 Subject: [PATCH 062/117] Bot Updating Package Versions --- package_versions.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 9d3fa534..eb0c006b 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -185,10 +185,10 @@ libbpf0 1:0.5.0-1ubuntu22.04.1 libbrotli1 1.0.9-2build6 deb libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.6 deb -libc-dev-bin 2.35-0ubuntu3.6 deb -libc6 2.35-0ubuntu3.6 deb -libc6-dev 2.35-0ubuntu3.6 deb +libc-bin 2.35-0ubuntu3.7 deb +libc-dev-bin 2.35-0ubuntu3.7 deb +libc6 2.35-0ubuntu3.7 deb +libc6-dev 2.35-0ubuntu3.7 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb @@ -304,8 +304,8 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-102.112 deb -locales 2.35-0ubuntu3.6 deb +linux-libc-dev 5.15.0-105.115 deb +locales 2.35-0ubuntu3.7 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb From c12960f52651847e81bee16bdccc348ca7b6480c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 2 May 2024 11:18:08 +0000 Subject: [PATCH 063/117] Bot Updating Templated Files --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 108246fe..864afea4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -275,7 +275,7 @@ pipeline { # ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos # ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github git clone --branch legacy --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME} - docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true ghcr.io/linuxserver/jenkins-builder:latest + docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest echo "Starting Stage 1 - Jenkinsfile update" if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then mkdir -p ${TEMPDIR}/repo @@ -608,7 +608,7 @@ pipeline { sh '''#! /bin/bash set -e TEMPDIR=$(mktemp -d) - if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then + if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" != "true" ]; then LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG} else LOCAL_CONTAINER=${IMAGE}:${META_TAG} From 30612df32f910bd585eab6a4555637ee14407d2f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 2 May 2024 11:22:06 +0000 Subject: [PATCH 064/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index eb0c006b..db68830c 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -251,7 +251,7 @@ libnetfilter-conntrack3 1.0.9-1 libnettle8 3.7.3-1build2 deb libnfnetlink0 1.0.1-3build3 deb libnftnl11 1.2.1-1build1 deb -libnghttp2-14 1.43.0-1ubuntu0.1 deb +libnghttp2-14 1.43.0-1ubuntu0.2 deb libnpth0 1.6-3build2 deb libnsl-dev 1.3.0-2build2 deb libnsl2 1.3.0-2build2 deb From 1c848731498c7a4d6c00ae9a1c38eb755a99d612 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 9 May 2024 11:19:06 +0000 Subject: [PATCH 065/117] Bot Updating Templated Files --- Jenkinsfile | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 864afea4..af9afc81 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -382,11 +382,15 @@ pipeline { cd ${TEMPDIR}/unraid/templates/ GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - echo "Image is on the ignore list, marking Unraid template as deprecated" - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add -u unraid/${CONTAINER_NAME}.xml - git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : - git commit -m 'Bot Moving Deprecated Unraid Template' || : + if [[ -f ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ]]; then + echo "Image is on the ignore list, marking Unraid template as deprecated" + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add -u unraid/${CONTAINER_NAME}.xml + git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : + git commit -m 'Bot Moving Deprecated Unraid Template' || : + else + echo "Image is on the ignore list, but no template exist, skipping deprecation" + fi else cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ git add unraid/${CONTAINER_NAME}.xml From bb86cacd18ffdad3acf458fccfe6c82b50391fc8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 9 May 2024 11:22:42 +0000 Subject: [PATCH 066/117] Bot Updating Package Versions --- package_versions.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index db68830c..0763458d 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -14,6 +14,7 @@ bsdutils 1:2.37.2-4ubuntu3.4 build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb ca-certificates 20230311ubuntu0.22.04.1 deb +catatonit 0.1.7-1 deb cloud.google.com/go/compute/metadata v0.2.3 go-module coreutils 8.32-4.1ubuntu1.2 deb cpp 4:11.2.0-1ubuntu1 deb @@ -27,7 +28,7 @@ debconf 1.5.79ubuntu1 debianutils 5.5-1ubuntu2 deb diffutils 1:3.8-0ubuntu2 deb dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.6 deb +distro-info-data 0.52ubuntu0.7 deb dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.3 deb dpkg-dev 1.21.1ubuntu2.3 deb @@ -304,7 +305,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-105.115 deb +linux-libc-dev 5.15.0-106.116 deb locales 2.35-0ubuntu3.7 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From c9fae5ec6911ca0fc4d63aa35f6e799ebad2bc1f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 16 May 2024 11:19:38 +0000 Subject: [PATCH 067/117] Bot Updating Templated Files --- Jenkinsfile | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index af9afc81..95ed1fce 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -381,16 +381,14 @@ pipeline { echo "Updating Unraid template" cd ${TEMPDIR}/unraid/templates/ GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') - if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - if [[ -f ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ]]; then - echo "Image is on the ignore list, marking Unraid template as deprecated" - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add -u unraid/${CONTAINER_NAME}.xml - git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : - git commit -m 'Bot Moving Deprecated Unraid Template' || : - else - echo "Image is on the ignore list, but no template exist, skipping deprecation" - fi + if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then + echo "Image is on the ignore list, and already in the deprecation folder." + elif grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then + echo "Image is on the ignore list, marking Unraid template as deprecated" + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add -u unraid/${CONTAINER_NAME}.xml + git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : + git commit -m 'Bot Moving Deprecated Unraid Template' || : else cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ git add unraid/${CONTAINER_NAME}.xml From 8c82338ff5c24f492ed09c632fa7c56fe6eaafb7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 16 May 2024 11:23:51 +0000 Subject: [PATCH 068/117] Bot Updating Package Versions --- package_versions.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 0763458d..d13b0557 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -5,7 +5,6 @@ apt-utils 2.4.12 base-files 12ubuntu4.6 deb base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1.1 deb -bash 5.1.16 binary bc 1.07.1-3build1 deb binutils 2.38-4ubuntu2.6 deb binutils-common 2.38-4ubuntu2.6 deb @@ -216,7 +215,7 @@ libgcc-s1 12.3.0-1ubuntu1~22.04 libgcrypt20 1.9.4-3ubuntu3 deb libgdbm-compat4 1.23-1 deb libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2.2 deb +libglib2.0-0 2.72.4-0ubuntu2.3 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb libgnutls30 3.7.3-4ubuntu1.5 deb libgomp1 12.3.0-1ubuntu1~22.04 deb @@ -305,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-106.116 deb +linux-libc-dev 5.15.0-107.117 deb locales 2.35-0ubuntu3.7 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From 5ca3142206cd4e058d52e4ab048b0b3b0fbbe019 Mon Sep 17 00:00:00 2001 From: quietsy Date: Sat, 18 May 2024 09:21:17 +0300 Subject: [PATCH 069/117] Fix predown --- README.md | 2 +- readme-vars.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9eaa966f..f995651f 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ When routing via Wireguard from another container using the `service` option in Address = 9.8.7.6/32 DNS = 8.8.8.8 PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route add $HOMENET3 via $DROUTE;ip route add $HOMENET2 via $DROUTE; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d $HOMENET -j ACCEPT;iptables -A OUTPUT -d $HOMENET2 -j ACCEPT; iptables -A OUTPUT -d $HOMENET3 -j ACCEPT; iptables -A OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT - PreDown = HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route del $HOMENET3 via $DROUTE;ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT; iptables -D OUTPUT -d $HOMENET2 -j ACCEPT; iptables -D OUTPUT -d $HOMENET3 -j ACCEPT + PreDown = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route del $HOMENET3 via $DROUTE;ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT; iptables -D OUTPUT -d $HOMENET2 -j ACCEPT; iptables -D OUTPUT -d $HOMENET3 -j ACCEPT ``` ## Site-to-site VPN diff --git a/readme-vars.yml b/readme-vars.yml index 7730eeb1..5d205009 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -108,7 +108,7 @@ app_setup_block: | Address = 9.8.7.6/32 DNS = 8.8.8.8 PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route add $HOMENET3 via $DROUTE;ip route add $HOMENET2 via $DROUTE; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d $HOMENET -j ACCEPT;iptables -A OUTPUT -d $HOMENET2 -j ACCEPT; iptables -A OUTPUT -d $HOMENET3 -j ACCEPT; iptables -A OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT - PreDown = HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route del $HOMENET3 via $DROUTE;ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT; iptables -D OUTPUT -d $HOMENET2 -j ACCEPT; iptables -D OUTPUT -d $HOMENET3 -j ACCEPT + PreDown = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route del $HOMENET3 via $DROUTE;ip route del $HOMENET2 via $DROUTE; ip route del $HOMENET via $DROUTE; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -d $HOMENET -j ACCEPT; iptables -D OUTPUT -d $HOMENET2 -j ACCEPT; iptables -D OUTPUT -d $HOMENET3 -j ACCEPT ``` ## Site-to-site VPN From 6192e1d38ff6c055cb93b43ec595ff7bf7f17d80 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 23 May 2024 11:20:42 +0000 Subject: [PATCH 070/117] Bot Updating Templated Files --- Jenkinsfile | 41 +++++++++++------------------------------ 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 95ed1fce..56586f6d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -295,7 +295,7 @@ pipeline { echo "Jenkinsfile is up to date." fi echo "Starting Stage 2 - Delete old templates" - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -525,6 +525,7 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \ + --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } @@ -556,6 +557,7 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \ + --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } @@ -584,6 +586,7 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \ + --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" retry(5) { @@ -707,7 +710,7 @@ pipeline { --shm-size=1gb \ -v /var/run/docker.sock:/var/run/docker.sock \ -e IMAGE=\"${IMAGE}\" \ - -e DELAY_START=\"${CI_DELAY}\" \ + -e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \ -e TAGS=\"${CI_TAGS}\" \ -e META_TAG=\"${META_TAG}\" \ -e PORT=\"${CI_PORT}\" \ @@ -815,35 +818,13 @@ pipeline { docker push ${MANIFESTIMAGE}:amd64-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi - docker manifest push --purge ${MANIFESTIMAGE}:legacy || : - docker manifest create ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm64v8-legacy - docker manifest annotate ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:arm64v8-legacy --os linux --arch arm64 --variant v8 - docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 - docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 - if [ -n "${SEMVER}" ]; then - docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 - fi - token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token') - digest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-legacy") - if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then - docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-legacy || : - docker manifest create ${MANIFESTIMAGE}:arm32v7-legacy ${MANIFESTIMAGE}:amd64-legacy - docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-legacy - fi - docker manifest push --purge ${MANIFESTIMAGE}:legacy - docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} - docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} + done + for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do + docker buildx imagetools create -t ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm64v8-legacy + docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} + docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then - docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} + docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi done ''' From 803950e1eca285839e88e8b91b14d22eb5065293 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 23 May 2024 11:22:01 +0000 Subject: [PATCH 071/117] Bot Updating Templated Files --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f995651f..497579b5 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Find us at: # [linuxserver/wireguard](https://github.com/linuxserver/docker-wireguard) -[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fwireguard?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fwireguard) +[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fwireguard?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh) [![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-wireguard.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-wireguard) [![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-wireguard.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-wireguard/releases) [![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-wireguard/packages) From ff6f28291f9a48ae0516c4dac80e43f0b4f7c26d Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 30 May 2024 11:22:01 +0000 Subject: [PATCH 072/117] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index d13b0557..7982502a 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -40,8 +40,8 @@ gcc-11 11.4.0-1ubuntu1~22.04 gcc-11-base 11.4.0-1ubuntu1~22.04 deb gcc-12 12.3.0-1ubuntu1~22.04 deb gcc-12-base 12.3.0-1ubuntu1~22.04 deb -git 1:2.34.1-1ubuntu1.10 deb -git-man 1:2.34.1-1ubuntu1.10 deb +git 1:2.34.1-1ubuntu1.11 deb +git-man 1:2.34.1-1ubuntu1.11 deb github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module github.com/Azure/go-autorest/autorest v0.11.29 go-module github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module @@ -186,9 +186,9 @@ libbrotli1 1.0.9-2build6 libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb libc-bin 2.35-0ubuntu3.7 deb -libc-dev-bin 2.35-0ubuntu3.7 deb -libc6 2.35-0ubuntu3.7 deb -libc6-dev 2.35-0ubuntu3.7 deb +libc-dev-bin 2.35-0ubuntu3.8 deb +libc6 2.35-0ubuntu3.8 deb +libc6-dev 2.35-0ubuntu3.8 deb libcap-ng0 0.7.9-2.2build3 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb From f2478cff81db6175e665486be3d0e88c8c4be54f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 6 Jun 2024 11:21:02 +0000 Subject: [PATCH 073/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 7982502a..ab511e58 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -185,7 +185,7 @@ libbpf0 1:0.5.0-1ubuntu22.04.1 libbrotli1 1.0.9-2build6 deb libbsd0 0.11.5-1 deb libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.7 deb +libc-bin 2.35-0ubuntu3.8 deb libc-dev-bin 2.35-0ubuntu3.8 deb libc6 2.35-0ubuntu3.8 deb libc6-dev 2.35-0ubuntu3.8 deb @@ -304,8 +304,8 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-107.117 deb -locales 2.35-0ubuntu3.7 deb +linux-libc-dev 5.15.0-112.122 deb +locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb lsb-base 11.1.0ubuntu4 deb From fdaf369cf5a9d7e112995df7ff28aeb4a1379142 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 27 Jun 2024 11:20:26 +0000 Subject: [PATCH 074/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index ab511e58..ebdee1db 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-112.122 deb +linux-libc-dev 5.15.0-113.123 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From 8d40739720f405695dfa1ae96d5caf5eb1405f9f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 11 Jul 2024 11:21:36 +0000 Subject: [PATCH 075/117] Bot Updating Package Versions --- package_versions.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index ebdee1db..4a4cbc5f 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -268,8 +268,8 @@ libpng16-16 1.6.37-3build5 libprocps8 2:3.3.17-6ubuntu2.1 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.12-1~22.04.3 deb -libpython3.10-stdlib 3.10.12-1~22.04.3 deb +libpython3.10-minimal 3.10.12-1~22.04.4 deb +libpython3.10-stdlib 3.10.12-1~22.04.4 deb libqrencode4 4.1.1-1 deb libquadmath0 12.3.0-1ubuntu1~22.04 deb libreadline8 8.1.2-1 deb @@ -286,7 +286,7 @@ libsmartcols1 2.37.2-4ubuntu3.4 libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.15 deb +libssl3 3.0.2-0ubuntu1.16 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.12 deb @@ -322,7 +322,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.15 deb +openssl 3.0.2-0ubuntu1.16 deb passwd 1:4.8.1-2ubuntu2.2 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.3 deb @@ -334,8 +334,8 @@ procps 2:3.3.17-6ubuntu2.1 publicsuffix 20211207.1025-1 deb python3 3.10.6-1~22.04 deb python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.12-1~22.04.3 deb -python3.10-minimal 3.10.12-1~22.04.3 deb +python3.10 3.10.12-1~22.04.4 deb +python3.10-minimal 3.10.12-1~22.04.4 deb qrencode 4.1.1-1 deb readline-common 8.1.2-1 deb rpcsvc-proto 1.4.2-0ubuntu6 deb @@ -347,7 +347,7 @@ sigs.k8s.io/yaml v1.3.0 stdlib go1.20.7 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb -tzdata 2024a-0ubuntu0.22.04 deb +tzdata 2024a-0ubuntu0.22.04.1 deb ubuntu-keyring 2021.03.26 deb usrmerge 25ubuntu2 deb util-linux 2.37.2-4ubuntu3.4 deb From b9d0743d00b96dc5975a1ca60949f6685afe2c94 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 18 Jul 2024 11:20:30 +0000 Subject: [PATCH 076/117] Bot Updating Templated Files --- Jenkinsfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 56586f6d..df1bba92 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -245,7 +245,7 @@ pipeline { -v ${WORKSPACE}:/mnt \ -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ - ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ + ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ apk add --no-cache python3 && \ python3 -m venv /lsiopy && \ pip install --no-cache-dir -U pip && \ @@ -352,7 +352,7 @@ pipeline { fi echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub" mkdir -p ${TEMPDIR}/docs - git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation + git clone --depth=1 https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ cd ${TEMPDIR}/docs/docker-documentation @@ -370,8 +370,8 @@ pipeline { echo "Docs update not needed, skipping" fi mkdir -p ${TEMPDIR}/unraid - git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates - git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates + git clone --depth=1 https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates + git clone --depth=1 https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then @@ -703,7 +703,7 @@ pipeline { set -e docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} + docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi docker run --rm \ @@ -794,7 +794,7 @@ pipeline { echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} + docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do From a69377c60a6d91d730c4a5c55c5650931725a71e Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 18 Jul 2024 11:21:34 +0000 Subject: [PATCH 077/117] Bot Updating Templated Files --- .github/workflows/permissions.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml index 1447bc55..02e1bdb9 100755 --- a/.github/workflows/permissions.yml +++ b/.github/workflows/permissions.yml @@ -5,6 +5,8 @@ on: - '**/run' - '**/finish' - '**/check' + - 'root/migrations/*' + jobs: permission_check: uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1 From f8e7ad556121cbe3a4a63981a63293e3c4c4f173 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 18 Jul 2024 11:29:45 +0000 Subject: [PATCH 078/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 4a4cbc5f..2dc5e92f 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -234,8 +234,8 @@ libkmod2 29-1ubuntu1 libkrb5-3 1.19.2-2ubuntu0.3 deb libkrb5support0 1.19.2-2ubuntu0.3 deb libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.17+dfsg-0ubuntu0.22.04.1 deb -libldap-common 2.5.17+dfsg-0ubuntu0.22.04.1 deb +libldap-2.5-0 2.5.18+dfsg-0ubuntu0.22.04.1 deb +libldap-common 2.5.18+dfsg-0ubuntu0.22.04.1 deb liblsan0 12.3.0-1ubuntu1~22.04 deb liblz4-1 1.9.3-2build2 deb liblzma5 5.2.5-2ubuntu1 deb @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-113.123 deb +linux-libc-dev 5.15.0-116.126 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From f4f14279d4ca7eb0feaaf910f4b751ab8d96eb04 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 25 Jul 2024 11:22:36 +0000 Subject: [PATCH 079/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 2dc5e92f..bba5b49c 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -304,7 +304,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-116.126 deb +linux-libc-dev 5.15.0-117.127 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From 80f3b714af245d2f9f1fdcf8db7dbbebd8617a85 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 1 Aug 2024 11:23:58 +0000 Subject: [PATCH 080/117] Bot Updating Package Versions --- package_versions.txt | 720 ++++++++++++++++++++++--------------------- 1 file changed, 364 insertions(+), 356 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index bba5b49c..5eaae82b 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,356 +1,364 @@ -NAME VERSION TYPE -adduser 3.118ubuntu5 deb -apt 2.4.12 deb -apt-utils 2.4.12 deb -base-files 12ubuntu4.6 deb -base-passwd 3.5.52build1 deb -bash 5.1-6ubuntu1.1 deb -bc 1.07.1-3build1 deb -binutils 2.38-4ubuntu2.6 deb -binutils-common 2.38-4ubuntu2.6 deb -binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb -bsdutils 1:2.37.2-4ubuntu3.4 deb -build-essential 12.9ubuntu3 deb -bzip2 1.0.8-5build1 deb -ca-certificates 20230311ubuntu0.22.04.1 deb -catatonit 0.1.7-1 deb -cloud.google.com/go/compute/metadata v0.2.3 go-module -coreutils 8.32-4.1ubuntu1.2 deb -cpp 4:11.2.0-1ubuntu1 deb -cpp-11 11.4.0-1ubuntu1~22.04 deb -cpp-12 12.3.0-1ubuntu1~22.04 deb -cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.16 deb -dash 0.5.11+git20210903+057cd650a4ed-3build1 deb -dctrl-tools 2.24-3build2 deb -debconf 1.5.79ubuntu1 deb -debianutils 5.5-1ubuntu2 deb -diffutils 1:3.8-0ubuntu2 deb -dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.7 deb -dkms 2.8.7-2ubuntu2.2 deb -dpkg 1.21.1ubuntu2.3 deb -dpkg-dev 1.21.1ubuntu2.3 deb -e2fsprogs 1.46.5-2ubuntu1.1 deb -findutils 4.8.0-1ubuntu3 deb -g++ 4:11.2.0-1ubuntu1 deb -g++-11 11.4.0-1ubuntu1~22.04 deb -gcc 4:11.2.0-1ubuntu1 deb -gcc-11 11.4.0-1ubuntu1~22.04 deb -gcc-11-base 11.4.0-1ubuntu1~22.04 deb -gcc-12 12.3.0-1ubuntu1~22.04 deb -gcc-12-base 12.3.0-1ubuntu1~22.04 deb -git 1:2.34.1-1ubuntu1.11 deb -git-man 1:2.34.1-1ubuntu1.11 deb -github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module -github.com/Azure/go-autorest/autorest v0.11.29 go-module -github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module -github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 go-module -github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 go-module -github.com/Azure/go-autorest/autorest/date v0.3.0 go-module -github.com/Azure/go-autorest/autorest/to v0.2.0 go-module -github.com/Azure/go-autorest/logger v0.2.1 go-module -github.com/Azure/go-autorest/tracing v0.6.0 go-module -github.com/DataDog/datadog-agent/pkg/obfuscate v0.45.0-rc.1 go-module -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.0-devel.0.20230725154044-2549ba9058df go-module -github.com/DataDog/datadog-go/v5 v5.1.1 go-module -github.com/DataDog/go-tuf v1.0.1-0.5.2 go-module -github.com/DataDog/sketches-go v1.2.1 go-module -github.com/antonmedv/expr v1.13.0 go-module -github.com/apparentlymart/go-cidr v1.1.0 go-module -github.com/aws/aws-sdk-go v1.44.322 go-module -github.com/beorn7/perks v1.0.1 go-module -github.com/cespare/xxhash/v2 v2.2.0 go-module -github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20230815193032-ae2bbc29be1a go-module -github.com/coreos/go-semver v0.3.0 go-module -github.com/coreos/go-systemd/v22 v22.3.2 go-module -github.com/davecgh/go-spew v1.1.1 go-module -github.com/dimchansky/utfbom v1.1.1 go-module -github.com/dnstap/golang-dnstap v0.4.0 go-module -github.com/dustin/go-humanize v1.0.1 go-module -github.com/emicklei/go-restful/v3 v3.10.2 go-module -github.com/farsightsec/golang-framestream v0.3.0 go-module -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module -github.com/go-logr/logr v1.2.4 go-module -github.com/go-openapi/jsonpointer v0.19.6 go-module -github.com/go-openapi/jsonreference v0.20.1 go-module -github.com/go-openapi/swag v0.22.3 go-module -github.com/gogo/protobuf v1.3.2 go-module -github.com/golang-jwt/jwt/v4 v4.5.0 go-module -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module -github.com/golang/protobuf v1.5.3 go-module -github.com/google/gnostic v0.5.7-v3refs go-module -github.com/google/go-cmp v0.5.9 go-module -github.com/google/gofuzz v1.2.0 go-module -github.com/google/s2a-go v0.1.4 go-module -github.com/google/uuid v1.3.0 go-module -github.com/googleapis/enterprise-certificate-proxy v0.2.5 go-module -github.com/googleapis/gax-go/v2 v2.12.0 go-module -github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module -github.com/imdario/mergo v0.3.12 go-module -github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module -github.com/jmespath/go-jmespath v0.4.0 go-module -github.com/josharian/intern v1.0.0 go-module -github.com/json-iterator/go v1.1.12 go-module -github.com/mailru/easyjson v0.7.7 go-module -github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module -github.com/miekg/dns v1.1.55 go-module -github.com/mitchellh/go-homedir v1.1.0 go-module -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module -github.com/modern-go/reflect2 v1.0.2 go-module -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module -github.com/opentracing/opentracing-go v1.2.0 go-module -github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module -github.com/openzipkin/zipkin-go v0.4.2 go-module -github.com/oschwald/geoip2-golang v1.9.0 go-module -github.com/oschwald/maxminddb-golang v1.11.0 go-module -github.com/outcaste-io/ristretto v0.2.1 go-module -github.com/philhofer/fwd v1.1.2 go-module -github.com/pkg/errors v0.9.1 go-module -github.com/prometheus/client_golang v1.16.0 go-module -github.com/prometheus/client_model v0.4.0 go-module -github.com/prometheus/common v0.44.0 go-module -github.com/prometheus/procfs v0.10.1 go-module -github.com/quic-go/qtls-go1-20 v0.3.1 go-module -github.com/quic-go/quic-go v0.37.4 go-module -github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module -github.com/spf13/pflag v1.0.5 go-module -github.com/tinylib/msgp v1.1.8 go-module -gnupg 2.2.27-3ubuntu2.1 deb -gnupg-l10n 2.2.27-3ubuntu2.1 deb -gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.9 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.9 go-module -go.etcd.io/etcd/client/v3 v3.5.9 go-module -go.opencensus.io v0.24.0 go-module -go.uber.org/atomic v1.11.0 go-module -go.uber.org/multierr v1.6.0 go-module -go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.12.0 go-module -golang.org/x/exp v0.0.0-20221205204356-47842c84f3db go-module -golang.org/x/net v0.14.0 go-module -golang.org/x/oauth2 v0.11.0 go-module -golang.org/x/sys v0.11.0 go-module -golang.org/x/term v0.11.0 go-module -golang.org/x/text v0.12.0 go-module -golang.org/x/time v0.3.0 go-module -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module -google.golang.org/api v0.136.0 go-module -google.golang.org/appengine v1.6.7 go-module -google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 go-module -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 go-module -google.golang.org/grpc v1.57.0 go-module -google.golang.org/protobuf v1.31.0 go-module -gopkg.in/DataDog/dd-trace-go.v1 v1.54.0 go-module -gopkg.in/inf.v0 v0.9.1 go-module -gopkg.in/yaml.v2 v2.4.0 go-module -gopkg.in/yaml.v3 v3.0.1 go-module -gpg 2.2.27-3ubuntu2.1 deb -gpg-agent 2.2.27-3ubuntu2.1 deb -gpg-wks-client 2.2.27-3ubuntu2.1 deb -gpg-wks-server 2.2.27-3ubuntu2.1 deb -gpgconf 2.2.27-3ubuntu2.1 deb -gpgsm 2.2.27-3ubuntu2.1 deb -gpgv 2.2.27-3ubuntu2.1 deb -grep 3.7-1build1 deb -gzip 1.10-4ubuntu4.1 deb -hostname 3.23ubuntu2 deb -ifupdown 0.8.36+nmu1ubuntu3.1 deb -init-system-helpers 1.62 deb -iproute2 5.15.0-1ubuntu2 deb -iptables 1.8.7-1ubuntu5.2 deb -iputils-ping 3:20211215-1 deb -jq 1.6-2.1ubuntu3 deb -k8s.io/api v0.27.4 go-module -k8s.io/apimachinery v0.27.4 go-module -k8s.io/client-go v0.27.4 go-module -k8s.io/klog/v2 v2.100.1 go-module -k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f go-module -k8s.io/utils v0.0.0-20230209194617-a36077c30491 go-module -kmod 29-1ubuntu1 deb -libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.12 deb -libasan6 11.4.0-1ubuntu1~22.04 deb -libasan8 12.3.0-1ubuntu1~22.04 deb -libassuan0 2.5.5-1build1 deb -libatomic1 12.3.0-1ubuntu1~22.04 deb -libattr1 1:2.5.1-1build1 deb -libaudit-common 1:3.0.7-1build1 deb -libaudit1 1:3.0.7-1build1 deb -libbinutils 2.38-4ubuntu2.6 deb -libblkid1 2.37.2-4ubuntu3.4 deb -libbpf0 1:0.5.0-1ubuntu22.04.1 deb -libbrotli1 1.0.9-2build6 deb -libbsd0 0.11.5-1 deb -libbz2-1.0 1.0.8-5build1 deb -libc-bin 2.35-0ubuntu3.8 deb -libc-dev-bin 2.35-0ubuntu3.8 deb -libc6 2.35-0ubuntu3.8 deb -libc6-dev 2.35-0ubuntu3.8 deb -libcap-ng0 0.7.9-2.2build3 deb -libcap2 1:2.44-1ubuntu0.22.04.1 deb -libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb -libcc1-0 12.3.0-1ubuntu1~22.04 deb -libcom-err2 1.46.5-2ubuntu1.1 deb -libcrypt-dev 1:4.4.27-1 deb -libcrypt1 1:4.4.27-1 deb -libctf-nobfd0 2.38-4ubuntu2.6 deb -libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.16 deb -libcurl4 7.81.0-1ubuntu1.16 deb -libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb -libdebconfclient0 0.261ubuntu1 deb -libdpkg-perl 1.21.1ubuntu2.3 deb -libelf-dev 0.186-1build1 deb -libelf1 0.186-1build1 deb -liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.3 deb -libext2fs2 1.46.5-2ubuntu1.1 deb -libffi8 3.4.2-4 deb -libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb -libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb -libgcc-s1 12.3.0-1ubuntu1~22.04 deb -libgcrypt20 1.9.4-3ubuntu3 deb -libgdbm-compat4 1.23-1 deb -libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2.3 deb -libgmp10 2:6.2.1+dfsg-3ubuntu1 deb -libgnutls30 3.7.3-4ubuntu1.5 deb -libgomp1 12.3.0-1ubuntu1~22.04 deb -libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb -libhogweed6 3.7.3-1build2 deb -libidn2-0 2.3.2-2build1 deb -libip4tc2 1.8.7-1ubuntu5.2 deb -libip6tc2 1.8.7-1ubuntu5.2 deb -libisl23 0.24-2build1 deb -libitm1 12.3.0-1ubuntu1~22.04 deb -libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.3 deb -libkeyutils1 1.6.1-2ubuntu3 deb -libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.3 deb -libkrb5support0 1.19.2-2ubuntu0.3 deb -libksba8 1.6.0-2ubuntu0.2 deb -libldap-2.5-0 2.5.18+dfsg-0ubuntu0.22.04.1 deb -libldap-common 2.5.18+dfsg-0ubuntu0.22.04.1 deb -liblsan0 12.3.0-1ubuntu1~22.04 deb -liblz4-1 1.9.3-2build2 deb -liblzma5 5.2.5-2ubuntu1 deb -libmd0 1.0.4-1build1 deb -libmnl0 1.0.4-3build2 deb -libmount1 2.37.2-4ubuntu3.4 deb -libmpc3 1.2.1-2build1 deb -libmpdec3 2.5.1-2build2 deb -libmpfr6 4.1.0-3build3 deb -libncurses6 6.3-2ubuntu0.1 deb -libncursesw6 6.3-2ubuntu0.1 deb -libnetfilter-conntrack3 1.0.9-1 deb -libnettle8 3.7.3-1build2 deb -libnfnetlink0 1.0.1-3build3 deb -libnftnl11 1.2.1-1build1 deb -libnghttp2-14 1.43.0-1ubuntu0.2 deb -libnpth0 1.6-3build2 deb -libnsl-dev 1.3.0-2build2 deb -libnsl2 1.3.0-2build2 deb -libonig5 6.9.7.1-2build1 deb -libp11-kit0 0.24.0-6build1 deb -libpam-modules 1.4.0-11ubuntu2.4 deb -libpam-modules-bin 1.4.0-11ubuntu2.4 deb -libpam-runtime 1.4.0-11ubuntu2.4 deb -libpam0g 1.4.0-11ubuntu2.4 deb -libpcre2-8-0 10.39-3ubuntu0.1 deb -libpcre3 2:8.39-13ubuntu0.22.04.1 deb -libperl5.34 5.34.0-3ubuntu1.3 deb -libpng16-16 1.6.37-3build5 deb -libprocps8 2:3.3.17-6ubuntu2.1 deb -libpsl5 0.21.0-1.2build2 deb -libpython3-stdlib 3.10.6-1~22.04 deb -libpython3.10-minimal 3.10.12-1~22.04.4 deb -libpython3.10-stdlib 3.10.12-1~22.04.4 deb -libqrencode4 4.1.1-1 deb -libquadmath0 12.3.0-1ubuntu1~22.04 deb -libreadline8 8.1.2-1 deb -librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb -libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb -libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb -libseccomp2 2.5.3-2ubuntu2 deb -libselinux1 3.3-1build2 deb -libsemanage-common 3.3-1build2 deb -libsemanage2 3.3-1build2 deb -libsepol2 3.3-1build1 deb -libsmartcols1 2.37.2-4ubuntu3.4 deb -libsqlite3-0 3.37.2-2ubuntu0.3 deb -libss2 1.46.5-2ubuntu1.1 deb -libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.16 deb -libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb -libstdc++6 12.3.0-1ubuntu1~22.04 deb -libsystemd0 249.11-0ubuntu3.12 deb -libtasn1-6 4.18.0-4build1 deb -libtinfo6 6.3-2ubuntu0.1 deb -libtirpc-common 1.3.2-2ubuntu0.1 deb -libtirpc-dev 1.3.2-2ubuntu0.1 deb -libtirpc3 1.3.2-2ubuntu0.1 deb -libtsan0 11.4.0-1ubuntu1~22.04 deb -libtsan2 12.3.0-1ubuntu1~22.04 deb -libubsan1 12.3.0-1ubuntu1~22.04 deb -libudev1 249.11-0ubuntu3.12 deb -libunistring2 1.0-1 deb -libuuid1 2.37.2-4ubuntu3.4 deb -libxtables12 1.8.7-1ubuntu5.2 deb -libxxhash0 0.8.1-1 deb -libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-117.127 deb -locales 2.35-0ubuntu3.8 deb -login 1:4.8.1-2ubuntu2.2 deb -logsave 1.46.5-2ubuntu1.1 deb -lsb-base 11.1.0ubuntu4 deb -lsb-release 11.1.0ubuntu4 deb -lto-disabled-list 24 deb -make 4.3-4.1build1 deb -mawk 1.3.4.20200120-3 deb -media-types 7.0.0 deb -mount 2.37.2-4ubuntu3.4 deb -ncurses-base 6.3-2ubuntu0.1 deb -ncurses-bin 6.3-2ubuntu0.1 deb -net-tools 1.60+git20181103.0eebece-1ubuntu5 deb -netbase 6.3 deb -netcat 1.218-4ubuntu1 deb -netcat-openbsd 1.218-4ubuntu1 deb -openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.16 deb -passwd 1:4.8.1-2ubuntu2.2 deb -patch 2.7.6-7build2 deb -perl 5.34.0-3ubuntu1.3 deb -perl-base 5.34.0-3ubuntu1.3 deb -perl-modules-5.34 5.34.0-3ubuntu1.3 deb -pinentry-curses 1.1.1-1build2 deb -pkg-config 0.29.2-1ubuntu3 deb -procps 2:3.3.17-6ubuntu2.1 deb -publicsuffix 20211207.1025-1 deb -python3 3.10.6-1~22.04 deb -python3-minimal 3.10.6-1~22.04 deb -python3.10 3.10.12-1~22.04.4 deb -python3.10-minimal 3.10.12-1~22.04.4 deb -qrencode 4.1.1-1 deb -readline-common 8.1.2-1 deb -rpcsvc-proto 1.4.2-0ubuntu6 deb -sed 4.8-1ubuntu2 deb -sensible-utils 0.0.17 deb -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 go-module -sigs.k8s.io/yaml v1.3.0 go-module -stdlib go1.20.7 go-module -sysvinit-utils 3.01-1ubuntu1 deb -tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb -tzdata 2024a-0ubuntu0.22.04.1 deb -ubuntu-keyring 2021.03.26 deb -usrmerge 25ubuntu2 deb -util-linux 2.37.2-4ubuntu3.4 deb -xz-utils 5.2.5-2ubuntu1 deb -zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb -zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb +NAME VERSION TYPE +adduser 3.118ubuntu5 deb +apt 2.4.12 deb +apt-utils 2.4.12 deb +base-files 12ubuntu4.6 deb +base-passwd 3.5.52build1 deb +bash 5.1-6ubuntu1.1 deb +bc 1.07.1-3build1 deb +binutils 2.38-4ubuntu2.6 deb +binutils-common 2.38-4ubuntu2.6 deb +binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 deb +bsdutils 1:2.37.2-4ubuntu3.4 deb +build-essential 12.9ubuntu3 deb +bzip2 1.0.8-5build1 deb +ca-certificates 20230311ubuntu0.22.04.1 deb +catatonit 0.1.7-1 deb +cloud.google.com/go/compute/metadata v0.2.3 go-module +coreutils 8.32-4.1ubuntu1.2 deb +cpp 4:11.2.0-1ubuntu1 deb +cpp-11 11.4.0-1ubuntu1~22.04 deb +cpp-12 12.3.0-1ubuntu1~22.04 deb +cron 3.0pl1-137ubuntu3 deb +curl 7.81.0-1ubuntu1.16 deb +dash 0.5.11+git20210903+057cd650a4ed-3build1 deb +dctrl-tools 2.24-3build2 deb +debconf 1.5.79ubuntu1 deb +debianutils 5.5-1ubuntu2 deb +diffutils 1:3.8-0ubuntu2 deb +dirmngr 2.2.27-3ubuntu2.1 deb +distro-info-data 0.52ubuntu0.7 deb +dkms 2.8.7-2ubuntu2.2 deb +dpkg 1.21.1ubuntu2.3 deb +dpkg-dev 1.21.1ubuntu2.3 deb +e2fsprogs 1.46.5-2ubuntu1.1 deb +findutils 4.8.0-1ubuntu3 deb +g++ 4:11.2.0-1ubuntu1 deb +g++-11 11.4.0-1ubuntu1~22.04 deb +gcc 4:11.2.0-1ubuntu1 deb +gcc-11 11.4.0-1ubuntu1~22.04 deb +gcc-11-base 11.4.0-1ubuntu1~22.04 deb +gcc-12 12.3.0-1ubuntu1~22.04 deb +gcc-12-base 12.3.0-1ubuntu1~22.04 deb +git 1:2.34.1-1ubuntu1.11 deb +git-man 1:2.34.1-1ubuntu1.11 deb +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible go-module +github.com/Azure/go-autorest/autorest v0.11.29 go-module +github.com/Azure/go-autorest/autorest/adal v0.9.22 go-module +github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 go-module +github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 go-module +github.com/Azure/go-autorest/autorest/date v0.3.0 go-module +github.com/Azure/go-autorest/autorest/to v0.2.0 go-module +github.com/Azure/go-autorest/logger v0.2.1 go-module +github.com/Azure/go-autorest/tracing v0.6.0 go-module +github.com/DataDog/appsec-internal-go v1.5.0 go-module +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 go-module +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 go-module +github.com/DataDog/datadog-go/v5 v5.3.0 go-module +github.com/DataDog/go-libddwaf/v2 v2.4.2 go-module +github.com/DataDog/go-tuf v1.0.2-0.5.2 go-module +github.com/DataDog/sketches-go v1.4.2 go-module +github.com/antonmedv/expr v1.15.5 go-module +github.com/apparentlymart/go-cidr v1.1.0 go-module +github.com/aws/aws-sdk-go v1.54.11 go-module +github.com/beorn7/perks v1.0.1 go-module +github.com/cespare/xxhash/v2 v2.2.0 go-module +github.com/coredns/caddy v1.1.1 go-module +github.com/coredns/coredns v0.0.0-20240702120856-a6338e924e29 go-module +github.com/coreos/go-semver v0.3.0 go-module +github.com/coreos/go-systemd/v22 v22.3.2 go-module +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go-module +github.com/dimchansky/utfbom v1.1.1 go-module +github.com/dnstap/golang-dnstap v0.4.0 go-module +github.com/dustin/go-humanize v1.0.1 go-module +github.com/emicklei/go-restful/v3 v3.11.0 go-module +github.com/farsightsec/golang-framestream v0.3.0 go-module +github.com/felixge/httpsnoop v1.0.4 go-module +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module +github.com/go-logr/logr v1.4.1 go-module +github.com/go-logr/stdr v1.2.2 go-module +github.com/go-openapi/jsonpointer v0.19.6 go-module +github.com/go-openapi/jsonreference v0.20.2 go-module +github.com/go-openapi/swag v0.22.3 go-module +github.com/gogo/protobuf v1.3.2 go-module +github.com/golang-jwt/jwt/v4 v4.5.0 go-module +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module +github.com/golang/protobuf v1.5.4 go-module +github.com/google/gnostic-models v0.6.8 go-module +github.com/google/go-cmp v0.6.0 go-module +github.com/google/gofuzz v1.2.0 go-module +github.com/google/s2a-go v0.1.7 go-module +github.com/google/uuid v1.6.0 go-module +github.com/googleapis/enterprise-certificate-proxy v0.3.2 go-module +github.com/googleapis/gax-go/v2 v2.12.3 go-module +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module +github.com/hashicorp/errwrap v1.1.0 go-module +github.com/hashicorp/go-multierror v1.1.1 go-module +github.com/imdario/mergo v0.3.12 go-module +github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module +github.com/jmespath/go-jmespath v0.4.0 go-module +github.com/josharian/intern v1.0.0 go-module +github.com/json-iterator/go v1.1.12 go-module +github.com/mailru/easyjson v0.7.7 go-module +github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module +github.com/miekg/dns v1.1.59 go-module +github.com/mitchellh/go-homedir v1.1.0 go-module +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module +github.com/modern-go/reflect2 v1.0.2 go-module +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 go-module +github.com/opentracing/opentracing-go v1.2.0 go-module +github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module +github.com/openzipkin/zipkin-go v0.4.3 go-module +github.com/oschwald/geoip2-golang v1.9.0 go-module +github.com/oschwald/maxminddb-golang v1.11.0 go-module +github.com/outcaste-io/ristretto v0.2.3 go-module +github.com/philhofer/fwd v1.1.2 go-module +github.com/pkg/errors v0.9.1 go-module +github.com/prometheus/client_golang v1.19.1 go-module +github.com/prometheus/client_model v0.6.1 go-module +github.com/prometheus/common v0.53.0 go-module +github.com/prometheus/procfs v0.12.0 go-module +github.com/quic-go/quic-go v0.44.0 go-module +github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module +github.com/spf13/pflag v1.0.5 go-module +github.com/tinylib/msgp v1.1.8 go-module +gnupg 2.2.27-3ubuntu2.1 deb +gnupg-l10n 2.2.27-3ubuntu2.1 deb +gnupg-utils 2.2.27-3ubuntu2.1 deb +go.etcd.io/etcd/api/v3 v3.5.13 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.13 go-module +go.etcd.io/etcd/client/v3 v3.5.13 go-module +go.opencensus.io v0.24.0 go-module +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 go-module +go.opentelemetry.io/otel v1.24.0 go-module +go.opentelemetry.io/otel/metric v1.24.0 go-module +go.opentelemetry.io/otel/trace v1.24.0 go-module +go.uber.org/atomic v1.11.0 go-module +go.uber.org/multierr v1.6.0 go-module +go.uber.org/zap v1.17.0 go-module +golang.org/x/crypto v0.23.0 go-module +golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 go-module +golang.org/x/net v0.25.0 go-module +golang.org/x/oauth2 v0.18.0 go-module +golang.org/x/sys v0.20.0 go-module +golang.org/x/term v0.20.0 go-module +golang.org/x/text v0.15.0 go-module +golang.org/x/time v0.5.0 go-module +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module +google.golang.org/api v0.172.0 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be go-module +google.golang.org/grpc v1.63.2 go-module +google.golang.org/protobuf v1.33.0 go-module +gopkg.in/DataDog/dd-trace-go.v1 v1.64.0 go-module +gopkg.in/inf.v0 v0.9.1 go-module +gopkg.in/yaml.v2 v2.4.0 go-module +gopkg.in/yaml.v3 v3.0.1 go-module +gpg 2.2.27-3ubuntu2.1 deb +gpg-agent 2.2.27-3ubuntu2.1 deb +gpg-wks-client 2.2.27-3ubuntu2.1 deb +gpg-wks-server 2.2.27-3ubuntu2.1 deb +gpgconf 2.2.27-3ubuntu2.1 deb +gpgsm 2.2.27-3ubuntu2.1 deb +gpgv 2.2.27-3ubuntu2.1 deb +grep 3.7-1build1 deb +gzip 1.10-4ubuntu4.1 deb +hostname 3.23ubuntu2 deb +ifupdown 0.8.36+nmu1ubuntu3.1 deb +init-system-helpers 1.62 deb +iproute2 5.15.0-1ubuntu2 deb +iptables 1.8.7-1ubuntu5.2 deb +iputils-ping 3:20211215-1 deb +jq 1.6-2.1ubuntu3 deb +k8s.io/api v0.29.3 go-module +k8s.io/apimachinery v0.29.3 go-module +k8s.io/client-go v0.29.3 go-module +k8s.io/klog/v2 v2.120.1 go-module +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 go-module +k8s.io/utils v0.0.0-20230726121419-3b25d923346b go-module +kmod 29-1ubuntu1 deb +libacl1 2.3.1-1 deb +libapt-pkg6.0 2.4.12 deb +libasan6 11.4.0-1ubuntu1~22.04 deb +libasan8 12.3.0-1ubuntu1~22.04 deb +libassuan0 2.5.5-1build1 deb +libatomic1 12.3.0-1ubuntu1~22.04 deb +libattr1 1:2.5.1-1build1 deb +libaudit-common 1:3.0.7-1build1 deb +libaudit1 1:3.0.7-1build1 deb +libbinutils 2.38-4ubuntu2.6 deb +libblkid1 2.37.2-4ubuntu3.4 deb +libbpf0 1:0.5.0-1ubuntu22.04.1 deb +libbrotli1 1.0.9-2build6 deb +libbsd0 0.11.5-1 deb +libbz2-1.0 1.0.8-5build1 deb +libc-bin 2.35-0ubuntu3.8 deb +libc-dev-bin 2.35-0ubuntu3.8 deb +libc6 2.35-0ubuntu3.8 deb +libc6-dev 2.35-0ubuntu3.8 deb +libcap-ng0 0.7.9-2.2build3 deb +libcap2 1:2.44-1ubuntu0.22.04.1 deb +libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb +libcc1-0 12.3.0-1ubuntu1~22.04 deb +libcom-err2 1.46.5-2ubuntu1.1 deb +libcrypt-dev 1:4.4.27-1 deb +libcrypt1 1:4.4.27-1 deb +libctf-nobfd0 2.38-4ubuntu2.6 deb +libctf0 2.38-4ubuntu2.6 deb +libcurl3-gnutls 7.81.0-1ubuntu1.16 deb +libcurl4 7.81.0-1ubuntu1.16 deb +libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb +libdebconfclient0 0.261ubuntu1 deb +libdpkg-perl 1.21.1ubuntu2.3 deb +libelf-dev 0.186-1build1 deb +libelf1 0.186-1build1 deb +liberror-perl 0.17029-1 deb +libexpat1 2.4.7-1ubuntu0.3 deb +libext2fs2 1.46.5-2ubuntu1.1 deb +libffi8 3.4.2-4 deb +libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb +libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb +libgcc-s1 12.3.0-1ubuntu1~22.04 deb +libgcrypt20 1.9.4-3ubuntu3 deb +libgdbm-compat4 1.23-1 deb +libgdbm6 1.23-1 deb +libglib2.0-0 2.72.4-0ubuntu2.3 deb +libgmp10 2:6.2.1+dfsg-3ubuntu1 deb +libgnutls30 3.7.3-4ubuntu1.5 deb +libgomp1 12.3.0-1ubuntu1~22.04 deb +libgpg-error0 1.43-3 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb +libhogweed6 3.7.3-1build2 deb +libidn2-0 2.3.2-2build1 deb +libip4tc2 1.8.7-1ubuntu5.2 deb +libip6tc2 1.8.7-1ubuntu5.2 deb +libisl23 0.24-2build1 deb +libitm1 12.3.0-1ubuntu1~22.04 deb +libjq1 1.6-2.1ubuntu3 deb +libk5crypto3 1.19.2-2ubuntu0.3 deb +libkeyutils1 1.6.1-2ubuntu3 deb +libkmod2 29-1ubuntu1 deb +libkrb5-3 1.19.2-2ubuntu0.3 deb +libkrb5support0 1.19.2-2ubuntu0.3 deb +libksba8 1.6.0-2ubuntu0.2 deb +libldap-2.5-0 2.5.18+dfsg-0ubuntu0.22.04.2 deb +libldap-common 2.5.18+dfsg-0ubuntu0.22.04.2 deb +liblsan0 12.3.0-1ubuntu1~22.04 deb +liblz4-1 1.9.3-2build2 deb +liblzma5 5.2.5-2ubuntu1 deb +libmd0 1.0.4-1build1 deb +libmnl0 1.0.4-3build2 deb +libmount1 2.37.2-4ubuntu3.4 deb +libmpc3 1.2.1-2build1 deb +libmpdec3 2.5.1-2build2 deb +libmpfr6 4.1.0-3build3 deb +libncurses6 6.3-2ubuntu0.1 deb +libncursesw6 6.3-2ubuntu0.1 deb +libnetfilter-conntrack3 1.0.9-1 deb +libnettle8 3.7.3-1build2 deb +libnfnetlink0 1.0.1-3build3 deb +libnftnl11 1.2.1-1build1 deb +libnghttp2-14 1.43.0-1ubuntu0.2 deb +libnpth0 1.6-3build2 deb +libnsl-dev 1.3.0-2build2 deb +libnsl2 1.3.0-2build2 deb +libonig5 6.9.7.1-2build1 deb +libp11-kit0 0.24.0-6build1 deb +libpam-modules 1.4.0-11ubuntu2.4 deb +libpam-modules-bin 1.4.0-11ubuntu2.4 deb +libpam-runtime 1.4.0-11ubuntu2.4 deb +libpam0g 1.4.0-11ubuntu2.4 deb +libpcre2-8-0 10.39-3ubuntu0.1 deb +libpcre3 2:8.39-13ubuntu0.22.04.1 deb +libperl5.34 5.34.0-3ubuntu1.3 deb +libpng16-16 1.6.37-3build5 deb +libprocps8 2:3.3.17-6ubuntu2.1 deb +libpsl5 0.21.0-1.2build2 deb +libpython3-stdlib 3.10.6-1~22.04 deb +libpython3.10-minimal 3.10.12-1~22.04.5 deb +libpython3.10-stdlib 3.10.12-1~22.04.5 deb +libqrencode4 4.1.1-1 deb +libquadmath0 12.3.0-1ubuntu1~22.04 deb +libreadline8 8.1.2-1 deb +librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb +libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb +libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb +libseccomp2 2.5.3-2ubuntu2 deb +libselinux1 3.3-1build2 deb +libsemanage-common 3.3-1build2 deb +libsemanage2 3.3-1build2 deb +libsepol2 3.3-1build1 deb +libsmartcols1 2.37.2-4ubuntu3.4 deb +libsqlite3-0 3.37.2-2ubuntu0.3 deb +libss2 1.46.5-2ubuntu1.1 deb +libssh-4 0.9.6-2ubuntu0.22.04.3 deb +libssl3 3.0.2-0ubuntu1.16 deb +libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb +libstdc++6 12.3.0-1ubuntu1~22.04 deb +libsystemd0 249.11-0ubuntu3.12 deb +libtasn1-6 4.18.0-4build1 deb +libtinfo6 6.3-2ubuntu0.1 deb +libtirpc-common 1.3.2-2ubuntu0.1 deb +libtirpc-dev 1.3.2-2ubuntu0.1 deb +libtirpc3 1.3.2-2ubuntu0.1 deb +libtsan0 11.4.0-1ubuntu1~22.04 deb +libtsan2 12.3.0-1ubuntu1~22.04 deb +libubsan1 12.3.0-1ubuntu1~22.04 deb +libudev1 249.11-0ubuntu3.12 deb +libunistring2 1.0-1 deb +libuuid1 2.37.2-4ubuntu3.4 deb +libxtables12 1.8.7-1ubuntu5.2 deb +libxxhash0 0.8.1-1 deb +libzstd1 1.4.8+dfsg-3build1 deb +linux-libc-dev 5.15.0-117.127 deb +locales 2.35-0ubuntu3.8 deb +login 1:4.8.1-2ubuntu2.2 deb +logsave 1.46.5-2ubuntu1.1 deb +lsb-base 11.1.0ubuntu4 deb +lsb-release 11.1.0ubuntu4 deb +lto-disabled-list 24 deb +make 4.3-4.1build1 deb +mawk 1.3.4.20200120-3 deb +media-types 7.0.0 deb +mount 2.37.2-4ubuntu3.4 deb +ncurses-base 6.3-2ubuntu0.1 deb +ncurses-bin 6.3-2ubuntu0.1 deb +net-tools 1.60+git20181103.0eebece-1ubuntu5 deb +netbase 6.3 deb +netcat 1.218-4ubuntu1 deb +netcat-openbsd 1.218-4ubuntu1 deb +openresolv 3.12.0-2 deb +openssl 3.0.2-0ubuntu1.16 deb +passwd 1:4.8.1-2ubuntu2.2 deb +patch 2.7.6-7build2 deb +perl 5.34.0-3ubuntu1.3 deb +perl-base 5.34.0-3ubuntu1.3 deb +perl-modules-5.34 5.34.0-3ubuntu1.3 deb +pinentry-curses 1.1.1-1build2 deb +pkg-config 0.29.2-1ubuntu3 deb +procps 2:3.3.17-6ubuntu2.1 deb +publicsuffix 20211207.1025-1 deb +python3 3.10.6-1~22.04 deb +python3-minimal 3.10.6-1~22.04 deb +python3.10 3.10.12-1~22.04.5 deb +python3.10-minimal 3.10.12-1~22.04.5 deb +qrencode 4.1.1-1 deb +readline-common 8.1.2-1 deb +rpcsvc-proto 1.4.2-0ubuntu6 deb +sed 4.8-1ubuntu2 deb +sensible-utils 0.0.17 deb +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module +sigs.k8s.io/structured-merge-diff/v4 v4.4.1 go-module +sigs.k8s.io/yaml v1.3.0 go-module +stdlib go1.21.11 go-module +sysvinit-utils 3.01-1ubuntu1 deb +tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb +tzdata 2024a-0ubuntu0.22.04.1 deb +ubuntu-keyring 2021.03.26 deb +usrmerge 25ubuntu2 deb +util-linux 2.37.2-4ubuntu3.4 deb +xz-utils 5.2.5-2ubuntu1 deb +zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb +zlib1g-dev 1:1.2.11.dfsg-2ubuntu9.2 deb From a8d15fbaded136e3ce0d6648f58d759536c748c8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 8 Aug 2024 11:23:32 +0000 Subject: [PATCH 081/117] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 5eaae82b..32314240 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -20,7 +20,7 @@ cpp 4:11.2.0-1ubuntu1 cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.16 deb +curl 7.81.0-1ubuntu1.17 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -206,8 +206,8 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.16 deb -libcurl4 7.81.0-1ubuntu1.16 deb +libcurl3-gnutls 7.81.0-1ubuntu1.17 deb +libcurl4 7.81.0-1ubuntu1.17 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.3 deb @@ -294,7 +294,7 @@ libsmartcols1 2.37.2-4ubuntu3.4 libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.1 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.16 deb +libssl3 3.0.2-0ubuntu1.17 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.12 deb @@ -330,7 +330,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.16 deb +openssl 3.0.2-0ubuntu1.17 deb passwd 1:4.8.1-2ubuntu2.2 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.3 deb From bdfa4ff7661453001fc3a018c966d97ff95e1ee9 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 15 Aug 2024 11:22:17 +0000 Subject: [PATCH 082/117] Bot Updating Package Versions --- package_versions.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 32314240..8cc361e3 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -228,7 +228,7 @@ libgmp10 2:6.2.1+dfsg-3ubu libgnutls30 3.7.3-4ubuntu1.5 deb libgomp1 12.3.0-1ubuntu1~22.04 deb libgpg-error0 1.43-3 deb -libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb +libgssapi-krb5-2 1.19.2-2ubuntu0.4 deb libhogweed6 3.7.3-1build2 deb libidn2-0 2.3.2-2build1 deb libip4tc2 1.8.7-1ubuntu5.2 deb @@ -236,11 +236,11 @@ libip6tc2 1.8.7-1ubuntu5.2 libisl23 0.24-2build1 deb libitm1 12.3.0-1ubuntu1~22.04 deb libjq1 1.6-2.1ubuntu3 deb -libk5crypto3 1.19.2-2ubuntu0.3 deb +libk5crypto3 1.19.2-2ubuntu0.4 deb libkeyutils1 1.6.1-2ubuntu3 deb libkmod2 29-1ubuntu1 deb -libkrb5-3 1.19.2-2ubuntu0.3 deb -libkrb5support0 1.19.2-2ubuntu0.3 deb +libkrb5-3 1.19.2-2ubuntu0.4 deb +libkrb5support0 1.19.2-2ubuntu0.4 deb libksba8 1.6.0-2ubuntu0.2 deb libldap-2.5-0 2.5.18+dfsg-0ubuntu0.22.04.2 deb libldap-common 2.5.18+dfsg-0ubuntu0.22.04.2 deb @@ -312,7 +312,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-117.127 deb +linux-libc-dev 5.15.0-118.128 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From 69715d5f82116679f32c55fb42b99d589c1aa7c7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 22 Aug 2024 11:20:04 +0000 Subject: [PATCH 083/117] Bot Updating Templated Files --- Jenkinsfile | 62 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index df1bba92..72aa6ecb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,6 +17,8 @@ pipeline { GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') GITLAB_NAMESPACE=credentials('gitlab-namespace-id') DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat') + QUAYIO_API_TOKEN=credentials('quayio-repo-api-token') + GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f') CONTAINER_NAME = 'wireguard' BUILD_VERSION_ARG = 'WIREGUARD_VERSION' LS_USER = 'linuxserver' @@ -36,9 +38,23 @@ pipeline { CI_WEBPATH='' } stages { + stage("Set git config"){ + steps{ + sh '''#!/bin/bash + cat ${GIT_SIGNING_KEY} > /config/.ssh/id_sign + chmod 600 /config/.ssh/id_sign + ssh-keygen -y -f /config/.ssh/id_sign > /config/.ssh/id_sign.pub + echo "Using $(ssh-keygen -lf /config/.ssh/id_sign) to sign commits" + git config --global gpg.format ssh + git config --global user.signingkey /config/.ssh/id_sign + git config --global commit.gpgsign true + ''' + } + } // Setup all the basic environment variables needed for the build stage("Set ENV Variables base"){ steps{ + echo "Running on node: ${NODE_NAME}" sh '''#! /bin/bash containers=$(docker ps -aq) if [[ -n "${containers}" ]]; then @@ -381,9 +397,9 @@ pipeline { echo "Updating Unraid template" cd ${TEMPDIR}/unraid/templates/ GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') - if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then + if grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then echo "Image is on the ignore list, and already in the deprecation folder." - elif grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then + elif grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then echo "Image is on the ignore list, marking Unraid template as deprecated" cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ git add -u unraid/${CONTAINER_NAME}.xml @@ -476,10 +492,10 @@ pipeline { } } /* ####################### - GitLab Mirroring + GitLab Mirroring and Quay.io Repo Visibility ####################### */ - // Ping into Gitlab to mirror this repo and have a registry endpoint - stage("GitLab Mirror"){ + // Ping into Gitlab to mirror this repo and have a registry endpoint & mark this repo on Quay.io as public + stage("GitLab Mirror and Quay.io Visibility"){ when { environment name: 'EXIT_STATUS', value: '' } @@ -495,6 +511,8 @@ pipeline { "visibility":"public"}' ''' sh '''curl -H "Private-Token: ${GITLAB_TOKEN}" -X PUT "https://gitlab.com/api/v4/projects/Linuxserver.io%2F${LS_REPO}" \ -d "mirror=true&import_url=https://github.com/linuxserver/${LS_REPO}.git" ''' + sh '''curl -H "Content-Type: application/json" -H "Authorization: Bearer ${QUAYIO_API_TOKEN}" -X POST "https://quay.io/api/v1/repository${QUAYIMAGE/quay.io/}/changevisibility" \ + -d '{"visibility":"public"}' ||: ''' } } /* ############### @@ -589,7 +607,7 @@ pipeline { --provenance=false --sbom=false \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" - retry(5) { + retry_backoff(5,5) { sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" } sh '''#! /bin/bash @@ -745,7 +763,7 @@ pipeline { passwordVariable: 'QUAYPASS' ] ]) { - retry(5) { + retry_backoff(5,5) { sh '''#! /bin/bash set -e echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin @@ -763,7 +781,7 @@ pipeline { docker push ${PUSHIMAGE}:${META_TAG} docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then - docker push ${PUSHIMAGE}:${SEMVER} + docker push ${PUSHIMAGE}:${SEMVER} fi done ''' @@ -786,7 +804,7 @@ pipeline { passwordVariable: 'QUAYPASS' ] ]) { - retry(5) { + retry_backoff(5,5) { sh '''#! /bin/bash set -e echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin @@ -849,7 +867,7 @@ pipeline { "object": "'${COMMIT_SHA}'",\ "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to legacy",\ "type": "commit",\ - "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' + "tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' echo "Pushing New release for Tag" sh '''#! /bin/bash echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json @@ -981,6 +999,13 @@ EOF ###################### */ post { always { + sh '''#!/bin/bash + rm -rf /config/.ssh/id_sign + rm -rf /config/.ssh/id_sign.pub + git config --global --unset gpg.format + git config --global --unset user.signingkey + git config --global --unset commit.gpgsign + ''' script{ if (env.EXIT_STATUS == "ABORTED"){ sh 'echo "build aborted"' @@ -1010,3 +1035,20 @@ EOF } } } + +def retry_backoff(int max_attempts, int power_base, Closure c) { + int n = 0 + while (n < max_attempts) { + try { + c() + return + } catch (err) { + if ((n + 1) >= max_attempts) { + throw err + } + sleep(power_base ** n) + n++ + } + } + return +} From b853ba74543ff25b9c802c2a9a1190d5b7c21d34 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 22 Aug 2024 11:22:06 +0000 Subject: [PATCH 084/117] Bot Updating Templated Files --- .github/workflows/external_trigger.yml | 45 +++++++++---------- .../workflows/external_trigger_scheduler.yml | 24 +++++----- .github/workflows/package_trigger.yml | 22 ++++----- .../workflows/package_trigger_scheduler.yml | 18 ++++---- 4 files changed, 54 insertions(+), 55 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 3eb19374..9976cf16 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -12,17 +12,20 @@ jobs: - name: External Trigger if: github.ref == 'refs/heads/legacy' run: | + printf "# External trigger for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY }}" ]; then - echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY is set; skipping trigger. ****" - echo "Github secret \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Github secret \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 fi - echo "**** External trigger running off of legacy branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\". ****" - echo "External trigger running off of legacy branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY - echo "**** Retrieving external version ****" + echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY + echo "> External trigger running off of legacy branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY + printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/WireGuard/wireguard-tools/tags | jq -r .[0].name) + echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then - echo "**** Can't retrieve external version, exiting ****" + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY FAILURE_REASON="Can't retrieve external version for wireguard branch legacy" GHA_TRIGGER_URL="https://github.com/linuxserver/docker-wireguard/actions/runs/${{ github.run_id }}" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, @@ -31,9 +34,8 @@ jobs: exit 1 fi EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g') - echo "**** External version: ${EXT_RELEASE} ****" - echo "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY - echo "**** Retrieving last pushed version ****" + echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY + echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY image="linuxserver/wireguard" tag="legacy" token=$(curl -sX GET \ @@ -60,37 +62,34 @@ jobs: IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}') IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}') if [ -z "${IMAGE_VERSION}" ]; then - echo "**** Can't retrieve last pushed version, exiting ****" + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY FAILURE_REASON="Can't retrieve last pushed version for wireguard tag legacy" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} exit 1 fi - echo "**** Last pushed version: ${IMAGE_VERSION} ****" - echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY + echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then - echo "**** Version ${EXT_RELEASE} already pushed, exiting ****" - echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY + echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY exit 0 elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/lastBuild/api/json | jq -r '.building') == "true" ]; then - echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****" - echo "New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY + echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY exit 0 else - echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****" - echo "New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build" >> $GITHUB_STEP_SUMMARY + printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY + echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY response=$(curl -iX POST \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=false \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") - echo "**** Jenkins job queue url: ${response%$'\r'} ****" - echo "**** Sleeping 10 seconds until job starts ****" + echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY + echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY sleep 10 buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl="${buildurl%$'\r'}" - echo "**** Jenkins job build url: ${buildurl} ****" - echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY - echo "**** Attempting to change the Jenkins job description ****" + echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY + echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY curl -iX POST \ "${buildurl}submitDescription" \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml index 865ed22a..5de13c75 100755 --- a/.github/workflows/external_trigger_scheduler.yml +++ b/.github/workflows/external_trigger_scheduler.yml @@ -15,31 +15,31 @@ jobs: - name: External Trigger Scheduler run: | - echo "**** Branches found: ****" - git for-each-ref --format='%(refname:short)' refs/remotes - for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) + printf "# External trigger scheduler for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY + printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY + for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) do - br=$(echo "$br" | sed 's|origin/||g') - echo "**** Evaluating branch ${br} ****" + if [[ "${br}" == "HEAD" ]]; then + printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY + continue + fi + printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml) ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch') ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type') if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then - echo "**** Branch ${br} appears to be live and trigger is not os; checking workflow. ****" + echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then - echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****." - echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY + echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY curl -iX POST \ -H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Accept: application/vnd.github.v3+json" \ -d "{\"ref\":\"refs/heads/${br}\"}" \ https://api.github.com/repos/linuxserver/docker-wireguard/actions/workflows/external_trigger.yml/dispatches else - echo "**** Workflow doesn't exist; skipping trigger. ****" - echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY + echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY fi else - echo "**** ${br} is either a dev branch, or has no external version; skipping trigger. ****" - echo "Skipping branch ${br} due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY + echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY fi done diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml index 00f63cdf..a56953f5 100755 --- a/.github/workflows/package_trigger.yml +++ b/.github/workflows/package_trigger.yml @@ -12,29 +12,29 @@ jobs: - name: Package Trigger if: github.ref == 'refs/heads/legacy' run: | + printf "# Package trigger for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY }}" ]; then - echo "**** Github secret PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY is set; skipping trigger. ****" - echo "Github secret \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Github secret \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 fi if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/lastBuild/api/json | jq -r '.building') == "true" ]; then - echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****" - echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY exit 0 fi - echo "**** Package trigger running off of legacy branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\". ****" - echo "Package trigger running off of legacy branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY + echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY + echo "> Package trigger running off of legacy branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY response=$(curl -iX POST \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=true \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") - echo "**** Jenkins job queue url: ${response%$'\r'} ****" - echo "**** Sleeping 10 seconds until job starts ****" + echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY + echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY sleep 10 buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') buildurl="${buildurl%$'\r'}" - echo "**** Jenkins job build url: ${buildurl} ****" - echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY - echo "**** Attempting to change the Jenkins job description ****" + echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY + echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY curl -iX POST \ "${buildurl}submitDescription" \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index b5f1571c..17db1bf9 100755 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -15,17 +15,19 @@ jobs: - name: Package Trigger Scheduler run: | - echo "**** Branches found: ****" - git for-each-ref --format='%(refname:short)' refs/remotes - for br in $(git for-each-ref --format='%(refname:short)' refs/remotes) + printf "# Package trigger scheduler for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY + printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY + for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) do - br=$(echo "$br" | sed 's|origin/||g') - echo "**** Evaluating branch ${br} ****" + if [[ "${br}" == "HEAD" ]]; then + printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY + continue + fi + printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml | yq -r '.ls_branch') if [ "${br}" == "${ls_branch}" ]; then - echo "**** Branch ${br} appears to be live; checking workflow. ****" + echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then - echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****" echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY triggered_branches="${triggered_branches}${br} " curl -iX POST \ @@ -35,11 +37,9 @@ jobs: https://api.github.com/repos/linuxserver/docker-wireguard/actions/workflows/package_trigger.yml/dispatches sleep 30 else - echo "**** Workflow doesn't exist; skipping trigger. ****" echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY fi else - echo "**** ${br} appears to be a dev branch; skipping trigger. ****" echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY fi done From 05191a9106648afc3398f54380e3ab7d6b60290f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 22 Aug 2024 11:27:06 +0000 Subject: [PATCH 085/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 8cc361e3..1218df03 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -312,7 +312,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-118.128 deb +linux-libc-dev 5.15.0-119.129 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.1 deb From b10373ca22c2f1c6ea4f26c2cc8ad23f7ab79a40 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 29 Aug 2024 11:25:26 +0000 Subject: [PATCH 086/117] Bot Updating Package Versions --- package_versions.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 1218df03..cf0eed25 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -31,7 +31,7 @@ distro-info-data 0.52ubuntu0.7 dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.3 deb dpkg-dev 1.21.1ubuntu2.3 deb -e2fsprogs 1.46.5-2ubuntu1.1 deb +e2fsprogs 1.46.5-2ubuntu1.2 deb findutils 4.8.0-1ubuntu3 deb g++ 4:11.2.0-1ubuntu1 deb g++-11 11.4.0-1ubuntu1~22.04 deb @@ -201,7 +201,7 @@ libcap-ng0 0.7.9-2.2build3 libcap2 1:2.44-1ubuntu0.22.04.1 deb libcap2-bin 1:2.44-1ubuntu0.22.04.1 deb libcc1-0 12.3.0-1ubuntu1~22.04 deb -libcom-err2 1.46.5-2ubuntu1.1 deb +libcom-err2 1.46.5-2ubuntu1.2 deb libcrypt-dev 1:4.4.27-1 deb libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.6 deb @@ -215,7 +215,7 @@ libelf-dev 0.186-1build1 libelf1 0.186-1build1 deb liberror-perl 0.17029-1 deb libexpat1 2.4.7-1ubuntu0.3 deb -libext2fs2 1.46.5-2ubuntu1.1 deb +libext2fs2 1.46.5-2ubuntu1.2 deb libffi8 3.4.2-4 deb libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb libgcc-12-dev 12.3.0-1ubuntu1~22.04 deb @@ -275,7 +275,7 @@ libperl5.34 5.34.0-3ubuntu1.3 libpng16-16 1.6.37-3build5 deb libprocps8 2:3.3.17-6ubuntu2.1 deb libpsl5 0.21.0-1.2build2 deb -libpython3-stdlib 3.10.6-1~22.04 deb +libpython3-stdlib 3.10.6-1~22.04.1 deb libpython3.10-minimal 3.10.12-1~22.04.5 deb libpython3.10-stdlib 3.10.12-1~22.04.5 deb libqrencode4 4.1.1-1 deb @@ -292,7 +292,7 @@ libsemanage2 3.3-1build2 libsepol2 3.3-1build1 deb libsmartcols1 2.37.2-4ubuntu3.4 deb libsqlite3-0 3.37.2-2ubuntu0.3 deb -libss2 1.46.5-2ubuntu1.1 deb +libss2 1.46.5-2ubuntu1.2 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb libssl3 3.0.2-0ubuntu1.17 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb @@ -315,7 +315,7 @@ libzstd1 1.4.8+dfsg-3build linux-libc-dev 5.15.0-119.129 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb -logsave 1.46.5-2ubuntu1.1 deb +logsave 1.46.5-2ubuntu1.2 deb lsb-base 11.1.0ubuntu4 deb lsb-release 11.1.0ubuntu4 deb lto-disabled-list 24 deb @@ -340,8 +340,8 @@ pinentry-curses 1.1.1-1build2 pkg-config 0.29.2-1ubuntu3 deb procps 2:3.3.17-6ubuntu2.1 deb publicsuffix 20211207.1025-1 deb -python3 3.10.6-1~22.04 deb -python3-minimal 3.10.6-1~22.04 deb +python3 3.10.6-1~22.04.1 deb +python3-minimal 3.10.6-1~22.04.1 deb python3.10 3.10.12-1~22.04.5 deb python3.10-minimal 3.10.12-1~22.04.5 deb qrencode 4.1.1-1 deb From f2985577b69573af10cab8ca8c7446e41efbab6e Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 5 Sep 2024 11:23:26 +0000 Subject: [PATCH 087/117] Bot Updating Package Versions --- package_versions.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index cf0eed25..a881b21d 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -294,7 +294,7 @@ libsmartcols1 2.37.2-4ubuntu3.4 libsqlite3-0 3.37.2-2ubuntu0.3 deb libss2 1.46.5-2ubuntu1.2 deb libssh-4 0.9.6-2ubuntu0.22.04.3 deb -libssl3 3.0.2-0ubuntu1.17 deb +libssl3 3.0.2-0ubuntu1.18 deb libstdc++-11-dev 11.4.0-1ubuntu1~22.04 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb libsystemd0 249.11-0ubuntu3.12 deb @@ -330,7 +330,7 @@ netbase 6.3 netcat 1.218-4ubuntu1 deb netcat-openbsd 1.218-4ubuntu1 deb openresolv 3.12.0-2 deb -openssl 3.0.2-0ubuntu1.17 deb +openssl 3.0.2-0ubuntu1.18 deb passwd 1:4.8.1-2ubuntu2.2 deb patch 2.7.6-7build2 deb perl 5.34.0-3ubuntu1.3 deb From b35ac2595b2b49ac6a6e1334b04e4b9b122660f7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 12 Sep 2024 11:23:08 +0000 Subject: [PATCH 088/117] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index a881b21d..36b875e3 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,8 +1,8 @@ NAME VERSION TYPE adduser 3.118ubuntu5 deb -apt 2.4.12 deb -apt-utils 2.4.12 deb -base-files 12ubuntu4.6 deb +apt 2.4.13 deb +apt-utils 2.4.13 deb +base-files 12ubuntu4.7 deb base-passwd 3.5.52build1 deb bash 5.1-6ubuntu1.1 deb bc 1.07.1-3build1 deb @@ -179,7 +179,7 @@ k8s.io/kube-openapi v0.0.0-2023101017 k8s.io/utils v0.0.0-20230726121419-3b25d923346b go-module kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb -libapt-pkg6.0 2.4.12 deb +libapt-pkg6.0 2.4.13 deb libasan6 11.4.0-1ubuntu1~22.04 deb libasan8 12.3.0-1ubuntu1~22.04 deb libassuan0 2.5.5-1build1 deb From 696e324aa5a2c9db4243ec97fab806dbdd775149 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 19 Sep 2024 11:24:22 +0000 Subject: [PATCH 089/117] Bot Updating Package Versions --- package_versions.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 36b875e3..424743b6 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -20,7 +20,7 @@ cpp 4:11.2.0-1ubuntu1 cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.17 deb +curl 7.81.0-1ubuntu1.18 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -206,15 +206,15 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.17 deb -libcurl4 7.81.0-1ubuntu1.17 deb +libcurl3-gnutls 7.81.0-1ubuntu1.18 deb +libcurl4 7.81.0-1ubuntu1.18 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.3 deb libelf-dev 0.186-1build1 deb libelf1 0.186-1build1 deb liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.3 deb +libexpat1 2.4.7-1ubuntu0.4 deb libext2fs2 1.46.5-2ubuntu1.2 deb libffi8 3.4.2-4 deb libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb @@ -276,8 +276,8 @@ libpng16-16 1.6.37-3build5 libprocps8 2:3.3.17-6ubuntu2.1 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04.1 deb -libpython3.10-minimal 3.10.12-1~22.04.5 deb -libpython3.10-stdlib 3.10.12-1~22.04.5 deb +libpython3.10-minimal 3.10.12-1~22.04.6 deb +libpython3.10-stdlib 3.10.12-1~22.04.6 deb libqrencode4 4.1.1-1 deb libquadmath0 12.3.0-1ubuntu1~22.04 deb libreadline8 8.1.2-1 deb @@ -312,7 +312,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-119.129 deb +linux-libc-dev 5.15.0-122.132 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.2 deb @@ -342,8 +342,8 @@ procps 2:3.3.17-6ubuntu2 publicsuffix 20211207.1025-1 deb python3 3.10.6-1~22.04.1 deb python3-minimal 3.10.6-1~22.04.1 deb -python3.10 3.10.12-1~22.04.5 deb -python3.10-minimal 3.10.12-1~22.04.5 deb +python3.10 3.10.12-1~22.04.6 deb +python3.10-minimal 3.10.12-1~22.04.6 deb qrencode 4.1.1-1 deb readline-common 8.1.2-1 deb rpcsvc-proto 1.4.2-0ubuntu6 deb From 315fb69ad76b1f1e572e2ad8368c620efd58bf81 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 3 Oct 2024 11:21:08 +0000 Subject: [PATCH 090/117] Bot Updating Templated Files --- Jenkinsfile | 60 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 72aa6ecb..4dc4eca5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -81,7 +81,7 @@ pipeline { env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.PULL_REQUEST = env.CHANGE_ID - env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml ./root/donate.txt' + env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./root/donate.txt' } sh '''#! /bin/bash echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" ''' @@ -311,7 +311,7 @@ pipeline { echo "Jenkinsfile is up to date." fi echo "Starting Stage 2 - Delete old templates" - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml" + OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml .github/workflows/package_trigger.yml" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -719,6 +719,14 @@ pipeline { } sh '''#! /bin/bash set -e + if grep -q 'docker-baseimage' <<< "${LS_REPO}"; then + echo "Detected baseimage, setting LSIO_FIRST_PARTY=true" + if [ -n "${CI_DOCKERENV}" ]; then + CI_DOCKERENV="LSIO_FIRST_PARTY=true|${CI_DOCKERENV}" + else + CI_DOCKERENV="LSIO_FIRST_PARTY=true" + fi + fi docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 @@ -731,6 +739,7 @@ pipeline { -e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \ -e TAGS=\"${CI_TAGS}\" \ -e META_TAG=\"${META_TAG}\" \ + -e RELEASE_TAG=\"legacy\" \ -e PORT=\"${CI_PORT}\" \ -e SSL=\"${CI_SSL}\" \ -e BASE=\"${DIST_IMAGE}\" \ @@ -740,6 +749,7 @@ pipeline { -e WEB_SCREENSHOT=\"${CI_WEB}\" \ -e WEB_AUTH=\"${CI_AUTH}\" \ -e WEB_PATH=\"${CI_WEBPATH}\" \ + -e NODE_NAME=\"${NODE_NAME}\" \ -t ghcr.io/linuxserver/ci:latest \ python3 test_build.py''' } @@ -1007,17 +1017,45 @@ EOF git config --global --unset commit.gpgsign ''' script{ + env.JOB_DATE = sh( + script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''', + returnStdout: true).trim() if (env.EXIT_STATUS == "ABORTED"){ sh 'echo "build aborted"' - } - else if (currentBuild.currentResult == "SUCCESS"){ - sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 1681177,\ - "description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\ - "username": "Jenkins"}' ${BUILDS_DISCORD} ''' - } - else { - sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 16711680,\ - "description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\ + }else{ + if (currentBuild.currentResult == "SUCCESS"){ + if (env.GITHUBIMAGE =~ /lspipepr/){ + env.JOB_WEBHOOK_STATUS='Success' + env.JOB_WEBHOOK_COLOUR=3957028 + env.JOB_WEBHOOK_FOOTER='PR Build' + }else if (env.GITHUBIMAGE =~ /lsiodev/){ + env.JOB_WEBHOOK_STATUS='Success' + env.JOB_WEBHOOK_COLOUR=3957028 + env.JOB_WEBHOOK_FOOTER='Dev Build' + }else{ + env.JOB_WEBHOOK_STATUS='Success' + env.JOB_WEBHOOK_COLOUR=1681177 + env.JOB_WEBHOOK_FOOTER='Live Build' + } + }else{ + if (env.GITHUBIMAGE =~ /lspipepr/){ + env.JOB_WEBHOOK_STATUS='Failure' + env.JOB_WEBHOOK_COLOUR=12669523 + env.JOB_WEBHOOK_FOOTER='PR Build' + }else if (env.GITHUBIMAGE =~ /lsiodev/){ + env.JOB_WEBHOOK_STATUS='Failure' + env.JOB_WEBHOOK_COLOUR=12669523 + env.JOB_WEBHOOK_FOOTER='Dev Build' + }else{ + env.JOB_WEBHOOK_STATUS='Failure' + env.JOB_WEBHOOK_COLOUR=16711680 + env.JOB_WEBHOOK_FOOTER='Live Build' + } + } + sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"'color'": '${JOB_WEBHOOK_COLOUR}',\ + "footer": {"text" : "'"${JOB_WEBHOOK_FOOTER}"'"},\ + "timestamp": "'${JOB_DATE}'",\ + "description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** '${JOB_WEBHOOK_STATUS}'\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\ "username": "Jenkins"}' ${BUILDS_DISCORD} ''' } } From d8b56430fd8e9edcb1f1e17ae12b00092bfee65c Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 3 Oct 2024 11:22:19 +0000 Subject: [PATCH 091/117] Bot Updating Templated Files --- .github/workflows/package_trigger.yml | 42 --------------------------- 1 file changed, 42 deletions(-) delete mode 100755 .github/workflows/package_trigger.yml diff --git a/.github/workflows/package_trigger.yml b/.github/workflows/package_trigger.yml deleted file mode 100755 index a56953f5..00000000 --- a/.github/workflows/package_trigger.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Package Trigger Main - -on: - workflow_dispatch: - -jobs: - package-trigger-legacy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - - - name: Package Trigger - if: github.ref == 'refs/heads/legacy' - run: | - printf "# Package trigger for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY - if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY }}" ]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Github secret \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY - exit 0 - fi - if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/lastBuild/api/json | jq -r '.building') == "true" ]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY - exit 0 - fi - echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY - echo "> Package trigger running off of legacy branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY - response=$(curl -iX POST \ - https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=true \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") - echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY - echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY - sleep 10 - buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') - buildurl="${buildurl%$'\r'}" - echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY - echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY - curl -iX POST \ - "${buildurl}submitDescription" \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ - --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ - --data-urlencode "Submit=Submit" From e85ad2d9200b02926e72962ec57b716dcc7a0f1f Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 3 Oct 2024 11:24:02 +0000 Subject: [PATCH 092/117] Bot Updating Templated Files --- .github/workflows/external_trigger.yml | 64 +++++++++++-------- .../workflows/package_trigger_scheduler.yml | 64 ++++++++++++++----- README.md | 3 +- 3 files changed, 89 insertions(+), 42 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 9976cf16..7027ad7e 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -11,15 +11,17 @@ jobs: - name: External Trigger if: github.ref == 'refs/heads/legacy' + env: + SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }} run: | printf "# External trigger for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY - if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY }}" ]; then + if grep -q "^wireguard_legacy" <<< "${SKIP_EXTERNAL_TRIGGER}"; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Github secret \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY + echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`wireguard_legacy\`; skipping trigger." >> $GITHUB_STEP_SUMMARY exit 0 fi echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY - echo "> External trigger running off of legacy branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_WIREGUARD_LEGACY\`" >> $GITHUB_STEP_SUMMARY + echo "> External trigger running off of legacy branch. To disable this trigger, add \`wireguard_legacy\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/WireGuard/wireguard-tools/tags | jq -r .[0].name) echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY @@ -78,26 +80,38 @@ jobs: echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY exit 0 else - printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY - echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY - response=$(curl -iX POST \ - https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=false \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") - echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY - echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY - sleep 10 - buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') - buildurl="${buildurl%$'\r'}" - echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY - echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY - curl -iX POST \ - "${buildurl}submitDescription" \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ - --data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ - --data-urlencode "Submit=Submit" - echo "**** Notifying Discord ****" - TRIGGER_REASON="A version change was detected for wireguard tag legacy. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}" - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, - "description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} + if [[ "${artifacts_found}" == "false" ]]; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY + FAILURE_REASON="New version ${EXT_RELEASE} for wireguard tag legacy is detected, however not all artifacts are uploaded to upstream release yet. Will try again later." + curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, + "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], + "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} + else + printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY + echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY + if "${artifacts_found}" == "true" ]]; then + echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY + fi + response=$(curl -iX POST \ + https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=false \ + --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") + echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY + echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY + sleep 10 + buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') + buildurl="${buildurl%$'\r'}" + echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY + echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY + curl -iX POST \ + "${buildurl}submitDescription" \ + --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ + --data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ + --data-urlencode "Submit=Submit" + echo "**** Notifying Discord ****" + TRIGGER_REASON="A version change was detected for wireguard tag legacy. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}" + curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, + "description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}], + "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} + fi fi diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index 17db1bf9..4b2eb33b 100755 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -14,6 +14,8 @@ jobs: fetch-depth: '0' - name: Package Trigger Scheduler + env: + SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }} run: | printf "# Package trigger scheduler for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY @@ -24,27 +26,57 @@ jobs: continue fi printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY - ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml | yq -r '.ls_branch') - if [ "${br}" == "${ls_branch}" ]; then + JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml) + if [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY - if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then - echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY + if [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY + skipped_branches="${skipped_branches}${br} " + elif grep -q "^wireguard_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`wireguard_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY + skipped_branches="${skipped_branches}${br} " + elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/lastBuild/api/json | jq -r '.building') == "true" ]; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY + skipped_branches="${skipped_branches}${br} " + else + echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY + echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY + printf "> To disable, add \`wireguard_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY triggered_branches="${triggered_branches}${br} " + response=$(curl -iX POST \ + https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ + --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") + echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY + echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY + sleep 10 + buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') + buildurl="${buildurl%$'\r'}" + echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY + echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY curl -iX POST \ - -H "Authorization: token ${{ secrets.CR_PAT }}" \ - -H "Accept: application/vnd.github.v3+json" \ - -d "{\"ref\":\"refs/heads/${br}\"}" \ - https://api.github.com/repos/linuxserver/docker-wireguard/actions/workflows/package_trigger.yml/dispatches - sleep 30 - else - echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY + "${buildurl}submitDescription" \ + --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ + --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ + --data-urlencode "Submit=Submit" + sleep 20 fi else echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY fi done - echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" - echo "**** Notifying Discord ****" - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, - "description": "**Package Check Build(s) Triggered for wireguard** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-wireguard/activity/"' \n"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} + if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then + if [[ -n "${triggered_branches}" ]]; then + NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n" + fi + if [[ -n "${skipped_branches}" ]]; then + NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n" + fi + echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" + echo "**** Notifying Discord ****" + curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, + "description": "**Package Check Build(s) Triggered for wireguard** \n'"${NOTIFY_BRANCHES}"'**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-wireguard/activity/"' \n"}], + "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} + fi diff --git a/README.md b/README.md index 497579b5..4236466c 100644 --- a/README.md +++ b/README.md @@ -359,7 +359,8 @@ Below are the instructions for updating containers: ### Image Update Notifications - Diun (Docker Image Update Notifier) -**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. +>[!TIP] +>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported. ## Building locally From 73cfa8eb9bb5e3caf2ba1bf43a5f5190afef6038 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 3 Oct 2024 11:27:11 +0000 Subject: [PATCH 093/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 424743b6..d44b99c2 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -12,7 +12,7 @@ binutils-x86-64-linux-gnu 2.38-4ubuntu2.6 bsdutils 1:2.37.2-4ubuntu3.4 deb build-essential 12.9ubuntu3 deb bzip2 1.0.8-5build1 deb -ca-certificates 20230311ubuntu0.22.04.1 deb +ca-certificates 20240203~22.04.1 deb catatonit 0.1.7-1 deb cloud.google.com/go/compute/metadata v0.2.3 go-module coreutils 8.32-4.1ubuntu1.2 deb From 77512e93583eab1d9ff34ce35d450d8bb1db7697 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 17 Oct 2024 11:24:11 +0000 Subject: [PATCH 094/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index d44b99c2..51c2cd77 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -312,7 +312,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-122.132 deb +linux-libc-dev 5.15.0-124.134 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.2 deb From 378cdf4cfac38eb004a4f00c8a9162894231df56 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 24 Oct 2024 11:22:47 +0000 Subject: [PATCH 095/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 51c2cd77..838beed1 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -27,7 +27,7 @@ debconf 1.5.79ubuntu1 debianutils 5.5-1ubuntu2 deb diffutils 1:3.8-0ubuntu2 deb dirmngr 2.2.27-3ubuntu2.1 deb -distro-info-data 0.52ubuntu0.7 deb +distro-info-data 0.52ubuntu0.8 deb dkms 2.8.7-2ubuntu2.2 deb dpkg 1.21.1ubuntu2.3 deb dpkg-dev 1.21.1ubuntu2.3 deb From e61905c8f559fc3cf01cf19b53276f1681bc09c0 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Nov 2024 11:21:39 +0000 Subject: [PATCH 096/117] Bot Updating Templated Files --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4dc4eca5..1c0aeecd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -884,7 +884,7 @@ pipeline { echo '{"tag_name":"'${META_TAG}'",\ "target_commitish": "legacy",\ "name": "'${META_TAG}'",\ - "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start + "body": "**CI Report:**\\n\\n'${CI_URL:-N/A}'\\n\\n**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start printf '","draft": false,"prerelease": true}' >> releasebody.json paste -d'\\0' start releasebody.json > releasebody.json.done curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' From b6fed65ff5abf3defac7a1f2f090df29ec1160a0 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Nov 2024 11:23:01 +0000 Subject: [PATCH 097/117] Bot Updating Templated Files --- .github/CONTRIBUTING.md | 4 ++-- .github/workflows/package_trigger_scheduler.yml | 5 +++-- README.md | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 2c4a465f..803bd2c7 100755 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -105,10 +105,10 @@ docker build \ -t linuxserver/wireguard:latest . ``` -The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static` +The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static` ```bash -docker run --rm --privileged multiarch/qemu-user-static:register --reset +docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset ``` Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`. diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index 4b2eb33b..ca7bb09f 100755 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -70,13 +70,14 @@ jobs: if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then if [[ -n "${triggered_branches}" ]]; then NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n" + NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-wireguard/activity/ \n" + echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" fi if [[ -n "${skipped_branches}" ]]; then NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n" fi - echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" echo "**** Notifying Discord ****" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, - "description": "**Package Check Build(s) Triggered for wireguard** \n'"${NOTIFY_BRANCHES}"'**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-wireguard/activity/"' \n"}], + "description": "**Package Check Build(s) for wireguard** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}], "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} fi diff --git a/README.md b/README.md index 4236466c..8117fd57 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Keep in mind that this var will only be considered when the confs are regenerate Don't forget to set the necessary POSTUP and POSTDOWN rules in your client's peer conf for lan access. + ## Usage To help you get started creating a container from this image you can either use docker-compose or the docker cli. @@ -375,10 +376,10 @@ docker build \ -t lscr.io/linuxserver/wireguard:legacy . ``` -The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static` +The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static` ```bash -docker run --rm --privileged multiarch/qemu-user-static:register --reset +docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset ``` Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`. From e95bad61f905d362ba9ac7df5233403265fb1212 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 14 Nov 2024 11:25:56 +0000 Subject: [PATCH 098/117] Bot Updating Package Versions --- package_versions.txt | 138 +++++++++++++++++++++++++------------------ 1 file changed, 81 insertions(+), 57 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 838beed1..37090c39 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -14,7 +14,9 @@ build-essential 12.9ubuntu3 bzip2 1.0.8-5build1 deb ca-certificates 20240203~22.04.1 deb catatonit 0.1.7-1 deb -cloud.google.com/go/compute/metadata v0.2.3 go-module +cloud.google.com/go/auth v0.9.8 go-module +cloud.google.com/go/auth/oauth2adapt v0.2.4 go-module +cloud.google.com/go/compute/metadata v0.5.2 go-module coreutils 8.32-4.1ubuntu1.2 deb cpp 4:11.2.0-1ubuntu1 deb cpp-11 11.4.0-1ubuntu1~22.04 deb @@ -51,58 +53,77 @@ github.com/Azure/go-autorest/autorest/date v0.3.0 github.com/Azure/go-autorest/autorest/to v0.2.0 go-module github.com/Azure/go-autorest/logger v0.2.1 go-module github.com/Azure/go-autorest/tracing v0.6.0 go-module -github.com/DataDog/appsec-internal-go v1.5.0 go-module +github.com/DataDog/appsec-internal-go v1.8.0 go-module github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 go-module -github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 go-module +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.57.0 go-module github.com/DataDog/datadog-go/v5 v5.3.0 go-module -github.com/DataDog/go-libddwaf/v2 v2.4.2 go-module -github.com/DataDog/go-tuf v1.0.2-0.5.2 go-module -github.com/DataDog/sketches-go v1.4.2 go-module -github.com/antonmedv/expr v1.15.5 go-module +github.com/DataDog/go-libddwaf/v3 v3.4.0 go-module +github.com/DataDog/go-tuf v1.1.0-0.5.2 go-module +github.com/DataDog/sketches-go v1.4.5 go-module github.com/apparentlymart/go-cidr v1.1.0 go-module -github.com/aws/aws-sdk-go v1.54.11 go-module +github.com/aws/aws-sdk-go v1.55.5 go-module +github.com/aws/aws-sdk-go-v2 v1.31.0 go-module +github.com/aws/aws-sdk-go-v2/config v1.27.39 go-module +github.com/aws/aws-sdk-go-v2/credentials v1.17.37 go-module +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14 go-module +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 go-module +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 go-module +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 go-module +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 go-module +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 go-module +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.33.3 go-module +github.com/aws/aws-sdk-go-v2/service/sso v1.23.3 go-module +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.3 go-module +github.com/aws/aws-sdk-go-v2/service/sts v1.31.3 go-module +github.com/aws/smithy-go v1.21.0 go-module github.com/beorn7/perks v1.0.1 go-module -github.com/cespare/xxhash/v2 v2.2.0 go-module +github.com/cespare/xxhash/v2 v2.3.0 go-module github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20240702120856-a6338e924e29 go-module +github.com/coredns/coredns v0.0.0-20241113013115-6e11ebddfc13 go-module github.com/coreos/go-semver v0.3.0 go-module github.com/coreos/go-systemd/v22 v22.3.2 go-module github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go-module github.com/dimchansky/utfbom v1.1.1 go-module github.com/dnstap/golang-dnstap v0.4.0 go-module github.com/dustin/go-humanize v1.0.1 go-module +github.com/eapache/queue/v2 v2.0.0-20230407133247-75960ed334e4 go-module github.com/emicklei/go-restful/v3 v3.11.0 go-module +github.com/expr-lang/expr v1.16.9 go-module github.com/farsightsec/golang-framestream v0.3.0 go-module github.com/felixge/httpsnoop v1.0.4 go-module github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 go-module -github.com/go-logr/logr v1.4.1 go-module +github.com/fxamacker/cbor/v2 v2.7.0 go-module +github.com/go-logr/logr v1.4.2 go-module github.com/go-logr/stdr v1.2.2 go-module github.com/go-openapi/jsonpointer v0.19.6 go-module github.com/go-openapi/jsonreference v0.20.2 go-module -github.com/go-openapi/swag v0.22.3 go-module +github.com/go-openapi/swag v0.22.4 go-module github.com/gogo/protobuf v1.3.2 go-module -github.com/golang-jwt/jwt/v4 v4.5.0 go-module +github.com/golang-jwt/jwt/v4 v4.5.1 go-module github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go-module github.com/golang/protobuf v1.5.4 go-module github.com/google/gnostic-models v0.6.8 go-module github.com/google/go-cmp v0.6.0 go-module github.com/google/gofuzz v1.2.0 go-module -github.com/google/s2a-go v0.1.7 go-module +github.com/google/s2a-go v0.1.8 go-module github.com/google/uuid v1.6.0 go-module -github.com/googleapis/enterprise-certificate-proxy v0.3.2 go-module -github.com/googleapis/gax-go/v2 v2.12.3 go-module +github.com/googleapis/enterprise-certificate-proxy v0.3.4 go-module +github.com/googleapis/gax-go/v2 v2.13.0 go-module github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module -github.com/hashicorp/errwrap v1.1.0 go-module -github.com/hashicorp/go-multierror v1.1.1 go-module +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 go-module +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 go-module +github.com/hashicorp/go-sockaddr v1.0.2 go-module github.com/imdario/mergo v0.3.12 go-module github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9 go-module github.com/jmespath/go-jmespath v0.4.0 go-module github.com/josharian/intern v1.0.0 go-module github.com/json-iterator/go v1.1.12 go-module +github.com/klauspost/compress v1.17.9 go-module github.com/mailru/easyjson v0.7.7 go-module github.com/matttproud/golang_protobuf_extensions v1.0.4 go-module -github.com/miekg/dns v1.1.59 go-module +github.com/miekg/dns v1.1.62 go-module github.com/mitchellh/go-homedir v1.1.0 go-module +github.com/mitchellh/mapstructure v1.5.0 go-module github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go-module github.com/modern-go/reflect2 v1.0.2 go-module github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module @@ -110,48 +131,51 @@ github.com/opentracing-contrib/go-observer v0.0.0-2017062212 github.com/opentracing/opentracing-go v1.2.0 go-module github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 go-module github.com/openzipkin/zipkin-go v0.4.3 go-module -github.com/oschwald/geoip2-golang v1.9.0 go-module -github.com/oschwald/maxminddb-golang v1.11.0 go-module +github.com/oschwald/geoip2-golang v1.11.0 go-module +github.com/oschwald/maxminddb-golang v1.13.0 go-module github.com/outcaste-io/ristretto v0.2.3 go-module -github.com/philhofer/fwd v1.1.2 go-module +github.com/philhofer/fwd v1.1.3-0.20240612014219-fbbf4953d986 go-module github.com/pkg/errors v0.9.1 go-module -github.com/prometheus/client_golang v1.19.1 go-module +github.com/prometheus/client_golang v1.20.5 go-module github.com/prometheus/client_model v0.6.1 go-module -github.com/prometheus/common v0.53.0 go-module -github.com/prometheus/procfs v0.12.0 go-module -github.com/quic-go/quic-go v0.44.0 go-module +github.com/prometheus/common v0.60.1 go-module +github.com/prometheus/procfs v0.15.1 go-module +github.com/quic-go/quic-go v0.48.1 go-module +github.com/ryanuber/go-glob v1.0.0 go-module github.com/secure-systems-lab/go-securesystemslib v0.7.0 go-module github.com/spf13/pflag v1.0.5 go-module -github.com/tinylib/msgp v1.1.8 go-module +github.com/tinylib/msgp v1.2.1 go-module +github.com/x448/float16 v0.8.4 go-module gnupg 2.2.27-3ubuntu2.1 deb gnupg-l10n 2.2.27-3ubuntu2.1 deb gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.13 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.13 go-module -go.etcd.io/etcd/client/v3 v3.5.13 go-module +go.etcd.io/etcd/api/v3 v3.5.16 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.16 go-module +go.etcd.io/etcd/client/v3 v3.5.16 go-module go.opencensus.io v0.24.0 go-module -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 go-module -go.opentelemetry.io/otel v1.24.0 go-module -go.opentelemetry.io/otel/metric v1.24.0 go-module -go.opentelemetry.io/otel/trace v1.24.0 go-module +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 go-module +go.opentelemetry.io/otel v1.29.0 go-module +go.opentelemetry.io/otel/metric v1.29.0 go-module +go.opentelemetry.io/otel/trace v1.29.0 go-module go.uber.org/atomic v1.11.0 go-module go.uber.org/multierr v1.6.0 go-module go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.23.0 go-module +golang.org/x/crypto v0.28.0 go-module golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 go-module -golang.org/x/net v0.25.0 go-module -golang.org/x/oauth2 v0.18.0 go-module -golang.org/x/sys v0.20.0 go-module -golang.org/x/term v0.20.0 go-module -golang.org/x/text v0.15.0 go-module -golang.org/x/time v0.5.0 go-module -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 go-module -google.golang.org/api v0.172.0 go-module -google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 go-module -google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be go-module -google.golang.org/grpc v1.63.2 go-module -google.golang.org/protobuf v1.33.0 go-module -gopkg.in/DataDog/dd-trace-go.v1 v1.64.0 go-module +golang.org/x/mod v0.18.0 go-module +golang.org/x/net v0.30.0 go-module +golang.org/x/oauth2 v0.23.0 go-module +golang.org/x/sys v0.26.0 go-module +golang.org/x/term v0.25.0 go-module +golang.org/x/text v0.19.0 go-module +golang.org/x/time v0.7.0 go-module +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 go-module +google.golang.org/api v0.201.0 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20240930140551-af27646dc61f go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 go-module +google.golang.org/grpc v1.67.1 go-module +google.golang.org/protobuf v1.35.1 go-module +gopkg.in/DataDog/dd-trace-go.v1 v1.69.1 go-module gopkg.in/inf.v0 v0.9.1 go-module gopkg.in/yaml.v2 v2.4.0 go-module gopkg.in/yaml.v3 v3.0.1 go-module @@ -171,12 +195,12 @@ iproute2 5.15.0-1ubuntu2 iptables 1.8.7-1ubuntu5.2 deb iputils-ping 3:20211215-1 deb jq 1.6-2.1ubuntu3 deb -k8s.io/api v0.29.3 go-module -k8s.io/apimachinery v0.29.3 go-module -k8s.io/client-go v0.29.3 go-module -k8s.io/klog/v2 v2.120.1 go-module -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 go-module -k8s.io/utils v0.0.0-20230726121419-3b25d923346b go-module +k8s.io/api v0.31.2 go-module +k8s.io/apimachinery v0.31.2 go-module +k8s.io/client-go v0.31.2 go-module +k8s.io/klog/v2 v2.130.1 go-module +k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 go-module +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 go-module kmod 29-1ubuntu1 deb libacl1 2.3.1-1 deb libapt-pkg6.0 2.4.13 deb @@ -312,7 +336,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-124.134 deb +linux-libc-dev 5.15.0-125.135 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.2 deb @@ -351,8 +375,8 @@ sed 4.8-1ubuntu2 sensible-utils 0.0.17 deb sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module sigs.k8s.io/structured-merge-diff/v4 v4.4.1 go-module -sigs.k8s.io/yaml v1.3.0 go-module -stdlib go1.21.11 go-module +sigs.k8s.io/yaml v1.4.0 go-module +stdlib go1.23.2 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb tzdata 2024a-0ubuntu0.22.04.1 deb From 97d4e02e483d321b5a332691dd75d2345b0b8770 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 21 Nov 2024 11:24:53 +0000 Subject: [PATCH 099/117] Bot Updating Package Versions --- package_versions.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 37090c39..b79f87fc 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -230,7 +230,7 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.18 deb +libcurl3-gnutls 7.81.0-1ubuntu1.19 deb libcurl4 7.81.0-1ubuntu1.18 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb @@ -247,7 +247,7 @@ libgcc-s1 12.3.0-1ubuntu1~2 libgcrypt20 1.9.4-3ubuntu3 deb libgdbm-compat4 1.23-1 deb libgdbm6 1.23-1 deb -libglib2.0-0 2.72.4-0ubuntu2.3 deb +libglib2.0-0 2.72.4-0ubuntu2.4 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb libgnutls30 3.7.3-4ubuntu1.5 deb libgomp1 12.3.0-1ubuntu1~22.04 deb @@ -300,8 +300,8 @@ libpng16-16 1.6.37-3build5 libprocps8 2:3.3.17-6ubuntu2.1 deb libpsl5 0.21.0-1.2build2 deb libpython3-stdlib 3.10.6-1~22.04.1 deb -libpython3.10-minimal 3.10.12-1~22.04.6 deb -libpython3.10-stdlib 3.10.12-1~22.04.6 deb +libpython3.10-minimal 3.10.12-1~22.04.7 deb +libpython3.10-stdlib 3.10.12-1~22.04.7 deb libqrencode4 4.1.1-1 deb libquadmath0 12.3.0-1ubuntu1~22.04 deb libreadline8 8.1.2-1 deb @@ -336,7 +336,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-125.135 deb +linux-libc-dev 5.15.0-126.136 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.2 deb @@ -366,8 +366,8 @@ procps 2:3.3.17-6ubuntu2 publicsuffix 20211207.1025-1 deb python3 3.10.6-1~22.04.1 deb python3-minimal 3.10.6-1~22.04.1 deb -python3.10 3.10.12-1~22.04.6 deb -python3.10-minimal 3.10.12-1~22.04.6 deb +python3.10 3.10.12-1~22.04.7 deb +python3.10-minimal 3.10.12-1~22.04.7 deb qrencode 4.1.1-1 deb readline-common 8.1.2-1 deb rpcsvc-proto 1.4.2-0ubuntu6 deb From 1b88ee716e0c025c78252dd5adfbc216339febae Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 28 Nov 2024 11:25:22 +0000 Subject: [PATCH 100/117] Bot Updating Package Versions --- package_versions.txt | 69 ++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index b79f87fc..42b04d1f 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -14,8 +14,8 @@ build-essential 12.9ubuntu3 bzip2 1.0.8-5build1 deb ca-certificates 20240203~22.04.1 deb catatonit 0.1.7-1 deb -cloud.google.com/go/auth v0.9.8 go-module -cloud.google.com/go/auth/oauth2adapt v0.2.4 go-module +cloud.google.com/go/auth v0.10.2 go-module +cloud.google.com/go/auth/oauth2adapt v0.2.5 go-module cloud.google.com/go/compute/metadata v0.5.2 go-module coreutils 8.32-4.1ubuntu1.2 deb cpp 4:11.2.0-1ubuntu1 deb @@ -62,24 +62,24 @@ github.com/DataDog/go-tuf v1.1.0-0.5.2 github.com/DataDog/sketches-go v1.4.5 go-module github.com/apparentlymart/go-cidr v1.1.0 go-module github.com/aws/aws-sdk-go v1.55.5 go-module -github.com/aws/aws-sdk-go-v2 v1.31.0 go-module -github.com/aws/aws-sdk-go-v2/config v1.27.39 go-module -github.com/aws/aws-sdk-go-v2/credentials v1.17.37 go-module -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.14 go-module -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.18 go-module -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.18 go-module +github.com/aws/aws-sdk-go-v2 v1.32.5 go-module +github.com/aws/aws-sdk-go-v2/config v1.28.5 go-module +github.com/aws/aws-sdk-go-v2/credentials v1.17.46 go-module +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 go-module +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.24 go-module +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.24 go-module github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 go-module -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.5 go-module -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.20 go-module -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.33.3 go-module -github.com/aws/aws-sdk-go-v2/service/sso v1.23.3 go-module -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.27.3 go-module -github.com/aws/aws-sdk-go-v2/service/sts v1.31.3 go-module -github.com/aws/smithy-go v1.21.0 go-module +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 go-module +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.5 go-module +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.5 go-module +github.com/aws/aws-sdk-go-v2/service/sso v1.24.6 go-module +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.5 go-module +github.com/aws/aws-sdk-go-v2/service/sts v1.33.1 go-module +github.com/aws/smithy-go v1.22.1 go-module github.com/beorn7/perks v1.0.1 go-module github.com/cespare/xxhash/v2 v2.3.0 go-module -github.com/coredns/caddy v1.1.1 go-module -github.com/coredns/coredns v0.0.0-20241113013115-6e11ebddfc13 go-module +github.com/coredns/caddy v1.1.2-0.20241029205200-8de985351a98 go-module +github.com/coredns/coredns v0.0.0-20241121192733-51e11f166ef6 go-module github.com/coreos/go-semver v0.3.0 go-module github.com/coreos/go-systemd/v22 v22.3.2 go-module github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go-module @@ -108,7 +108,7 @@ github.com/google/gofuzz v1.2.0 github.com/google/s2a-go v0.1.8 go-module github.com/google/uuid v1.6.0 go-module github.com/googleapis/enterprise-certificate-proxy v0.3.4 go-module -github.com/googleapis/gax-go/v2 v2.13.0 go-module +github.com/googleapis/gax-go/v2 v2.14.0 go-module github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 go-module github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 go-module github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 go-module @@ -149,32 +149,33 @@ github.com/x448/float16 v0.8.4 gnupg 2.2.27-3ubuntu2.1 deb gnupg-l10n 2.2.27-3ubuntu2.1 deb gnupg-utils 2.2.27-3ubuntu2.1 deb -go.etcd.io/etcd/api/v3 v3.5.16 go-module -go.etcd.io/etcd/client/pkg/v3 v3.5.16 go-module -go.etcd.io/etcd/client/v3 v3.5.16 go-module +go.etcd.io/etcd/api/v3 v3.5.17 go-module +go.etcd.io/etcd/client/pkg/v3 v3.5.17 go-module +go.etcd.io/etcd/client/v3 v3.5.17 go-module go.opencensus.io v0.24.0 go-module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 go-module go.opentelemetry.io/otel v1.29.0 go-module go.opentelemetry.io/otel/metric v1.29.0 go-module go.opentelemetry.io/otel/trace v1.29.0 go-module go.uber.org/atomic v1.11.0 go-module +go.uber.org/automaxprocs v1.6.0 go-module go.uber.org/multierr v1.6.0 go-module go.uber.org/zap v1.17.0 go-module -golang.org/x/crypto v0.28.0 go-module +golang.org/x/crypto v0.29.0 go-module golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 go-module golang.org/x/mod v0.18.0 go-module -golang.org/x/net v0.30.0 go-module -golang.org/x/oauth2 v0.23.0 go-module -golang.org/x/sys v0.26.0 go-module -golang.org/x/term v0.25.0 go-module -golang.org/x/text v0.19.0 go-module -golang.org/x/time v0.7.0 go-module +golang.org/x/net v0.31.0 go-module +golang.org/x/oauth2 v0.24.0 go-module +golang.org/x/sys v0.27.0 go-module +golang.org/x/term v0.26.0 go-module +golang.org/x/text v0.20.0 go-module +golang.org/x/time v0.8.0 go-module golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 go-module -google.golang.org/api v0.201.0 go-module -google.golang.org/genproto/googleapis/api v0.0.0-20240930140551-af27646dc61f go-module -google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 go-module -google.golang.org/grpc v1.67.1 go-module -google.golang.org/protobuf v1.35.1 go-module +google.golang.org/api v0.206.0 go-module +google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 go-module +google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 go-module +google.golang.org/grpc v1.68.0 go-module +google.golang.org/protobuf v1.35.2 go-module gopkg.in/DataDog/dd-trace-go.v1 v1.69.1 go-module gopkg.in/inf.v0 v0.9.1 go-module gopkg.in/yaml.v2 v2.4.0 go-module @@ -376,7 +377,7 @@ sensible-utils 0.0.17 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd go-module sigs.k8s.io/structured-merge-diff/v4 v4.4.1 go-module sigs.k8s.io/yaml v1.4.0 go-module -stdlib go1.23.2 go-module +stdlib go1.23.3 go-module sysvinit-utils 3.01-1ubuntu1 deb tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb tzdata 2024a-0ubuntu0.22.04.1 deb From a6e00ebb0f1fce49a05110183aab081044760d26 Mon Sep 17 00:00:00 2001 From: thespad Date: Sun, 1 Dec 2024 22:03:39 +0000 Subject: [PATCH 101/117] Add cap descriptions --- readme-vars.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/readme-vars.yml b/readme-vars.yml index 5d205009..4b40b7a3 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -35,8 +35,8 @@ param_env_vars: - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} cap_add_param: true cap_add_param_vars: - - { cap_add_var: "NET_ADMIN" } - - { cap_add_var: "SYS_MODULE" } + - { cap_add_var: "NET_ADMIN", desc: "Neccessary for Wireguard to create its VPN interface." } + - { cap_add_var: "SYS_MODULE", desc: "Neccessary for loading Wireguard kernel module if it's not already loaded." } custom_params: - { name: "sysctl", name_compose: "sysctls", value: ["net.ipv4.conf.all.src_valid_mark=1"], desc: "Required for client mode.", array: "true" } @@ -118,9 +118,9 @@ app_setup_block: | Site-to-site VPN in server mode requires customizing the `AllowedIPs` statement for a specific peer in `wg0.conf`. Since `wg0.conf` is autogenerated when server vars are changed, it is not recommended to edit it manually. In order to customize the `AllowedIPs` statement for a specific peer in `wg0.conf`, you can set an env var `SERVER_ALLOWEDIPS_PEER_` to the additional subnets you'd like to add, comma separated and excluding the peer IP (ie. `"192.168.1.0/24,192.168.2.0/24"`). Replace `` with either the name or number of a peer (whichever is used in the `PEERS` var). - + For instance `SERVER_ALLOWEDIPS_PEER_laptop="192.168.1.0/24,192.168.2.0/24"` will result in the wg0.conf entry `AllowedIPs = 10.13.13.2,192.168.1.0/24,192.168.2.0/24` for the peer named `laptop`. - + Keep in mind that this var will only be considered when the confs are regenerated. Adding this var for an existing peer won't force a regeneration. You can delete wg0.conf and restart the container to force regeneration if necessary. Don't forget to set the necessary POSTUP and POSTDOWN rules in your client's peer conf for lan access. From 6f7b41c04c85460e38bcc34050e88b28d89c224d Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Sun, 1 Dec 2024 22:37:50 +0000 Subject: [PATCH 102/117] Bot Updating Templated Files --- Jenkinsfile | 268 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 176 insertions(+), 92 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1c0aeecd..d90f2954 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,7 +8,7 @@ pipeline { } // Input to determine if this is a package check parameters { - string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK') + string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK') } // Configuration for the variables used for this specific repo environment { @@ -191,6 +191,7 @@ pipeline { env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN + env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' } } } @@ -215,6 +216,7 @@ pipeline { env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' + env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' } } } @@ -239,6 +241,7 @@ pipeline { env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' + env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' } } } @@ -335,6 +338,35 @@ pipeline { else echo "No templates to delete" fi + echo "Starting Stage 2.5 - Update init diagram" + if ! grep -q 'init_diagram:' readme-vars.yml; then + echo "Adding the key 'init_diagram' to readme-vars.yml" + sed -i '\\|^#.*changelog.*$|d' readme-vars.yml + sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml + fi + mkdir -p ${TEMPDIR}/d2 + docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:legacy + ls -al ${TEMPDIR}/d2 + yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-legacy.d2\\")" readme-vars.yml + if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then + echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit." + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml + git add readme-vars.yml + git commit -m 'Bot Updating Templated Files' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Updating templates and exiting build, new one will trigger based on commit" + rm -Rf ${TEMPDIR} + exit 0 + else + echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} + echo "Init diagram is unchanged" + fi echo "Starting Stage 3 - Update templates" CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) cd ${TEMPDIR}/docker-${CONTAINER_NAME} @@ -543,8 +575,40 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \ - --provenance=false --sbom=false \ + --provenance=false --sbom=false --builder=container --load \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." + sh '''#! /bin/bash + set -e + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + docker tag ${IMAGE}:${META_TAG} ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + done + ''' + withCredentials([ + [ + $class: 'UsernamePasswordMultiBinding', + credentialsId: 'Quay.io-Robot', + usernameVariable: 'QUAYUSER', + passwordVariable: 'QUAYPASS' + ] + ]) { + retry_backoff(5,5) { + sh '''#! /bin/bash + set -e + echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin + echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin + echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin + echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin + if [[ "${PACKAGE_CHECK}" != "true" ]]; then + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & + done + wait + fi + ''' + } + } } } // Build MultiArch Docker containers for push to LS Repo @@ -575,8 +639,40 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \ - --provenance=false --sbom=false \ + --provenance=false --sbom=false --builder=container --load \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." + sh '''#! /bin/bash + set -e + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + docker tag ${IMAGE}:amd64-${META_TAG} ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + done + ''' + withCredentials([ + [ + $class: 'UsernamePasswordMultiBinding', + credentialsId: 'Quay.io-Robot', + usernameVariable: 'QUAYUSER', + passwordVariable: 'QUAYPASS' + ] + ]) { + retry_backoff(5,5) { + sh '''#! /bin/bash + set -e + echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin + echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin + echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin + echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin + if [[ "${PACKAGE_CHECK}" != "true" ]]; then + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & + done + wait + fi + ''' + } + } } } stage('Build ARM64') { @@ -585,10 +681,6 @@ pipeline { } steps { echo "Running on node: ${NODE_NAME}" - echo 'Logging into Github' - sh '''#! /bin/bash - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - ''' sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64" sh "docker buildx build \ --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ @@ -604,18 +696,47 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \ - --provenance=false --sbom=false \ + --provenance=false --sbom=false --builder=container --load \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" - retry_backoff(5,5) { - sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" + sh '''#! /bin/bash + set -e + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + docker tag ${IMAGE}:arm64v8-${META_TAG} ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} + done + ''' + withCredentials([ + [ + $class: 'UsernamePasswordMultiBinding', + credentialsId: 'Quay.io-Robot', + usernameVariable: 'QUAYUSER', + passwordVariable: 'QUAYPASS' + ] + ]) { + retry_backoff(5,5) { + sh '''#! /bin/bash + set -e + echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin + echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin + echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin + echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin + if [[ "${PACKAGE_CHECK}" != "true" ]]; then + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} & + done + wait + fi + ''' + } } sh '''#! /bin/bash containers=$(docker ps -aq) if [[ -n "${containers}" ]]; then docker stop ${containers} fi - docker system prune -af --volumes || : ''' + docker system prune -af --volumes || : + ''' } } } @@ -765,37 +886,23 @@ pipeline { environment name: 'EXIT_STATUS', value: '' } steps { - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: 'Quay.io-Robot', - usernameVariable: 'QUAYUSER', - passwordVariable: 'QUAYPASS' - ] - ]) { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin - echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin - for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG} - docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:legacy - docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER} - fi - docker push ${PUSHIMAGE}:legacy - docker push ${PUSHIMAGE}:${META_TAG} - docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker push ${PUSHIMAGE}:${SEMVER} - fi + retry_backoff(5,5) { + sh '''#! /bin/bash + set -e + for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do + [[ ${PUSHIMAGE%%/*} =~ \\. ]] && PUSHIMAGEPLUS="${PUSHIMAGE}" || PUSHIMAGEPLUS="docker.io/${PUSHIMAGE}" + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + if [[ "${PUSHIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then + CACHEIMAGE=${i} + fi done - ''' - } + docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:legacy -t {PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + if [ -n "${SEMVER}" ]; then + docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + fi + done + ''' } } } @@ -806,57 +913,34 @@ pipeline { environment name: 'EXIT_STATUS', value: '' } steps { - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: 'Quay.io-Robot', - usernameVariable: 'QUAYUSER', - passwordVariable: 'QUAYPASS' - ] - ]) { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin - echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin - if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} - fi - for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do - docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} - docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-legacy - docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-legacy - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} - docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - fi - docker push ${MANIFESTIMAGE}:amd64-${META_TAG} - docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker push ${MANIFESTIMAGE}:amd64-legacy - docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker push ${MANIFESTIMAGE}:arm64v8-legacy - docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker push ${MANIFESTIMAGE}:amd64-${SEMVER} - docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} - fi - done - for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do - docker buildx imagetools create -t ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm64v8-legacy - docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - fi + retry_backoff(5,5) { + sh '''#! /bin/bash + set -e + for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do + [[ ${MANIFESTIMAGE%%/*} =~ \\. ]] && MANIFESTIMAGEPLUS="${MANIFESTIMAGE}" || MANIFESTIMAGEPLUS="docker.io/${MANIFESTIMAGE}" + IFS=',' read -ra CACHE <<< "$BUILDCACHE" + for i in "${CACHE[@]}"; do + if [[ "${MANIFESTIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then + CACHEIMAGE=${i} + fi done - ''' - } + docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-legacy -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-legacy -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} + if [ -n "${SEMVER}" ]; then + docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} + fi + done + for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do + docker buildx imagetools create -t ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm64v8-legacy + docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} + + docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} + if [ -n "${SEMVER}" ]; then + docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} + fi + done + ''' } } } From 4693fa0bb9dcc69c2d857bd10a3eacb9949ef45b Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Sun, 1 Dec 2024 22:39:09 +0000 Subject: [PATCH 103/117] Bot Updating Templated Files --- readme-vars.yml | 154 ++++++++++++++++++++++++++++++------------------ 1 file changed, 96 insertions(+), 58 deletions(-) diff --git a/readme-vars.yml b/readme-vars.yml index 4b40b7a3..bc8f8151 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -6,55 +6,49 @@ project_url: "https://www.wireguard.com/" project_logo: "https://www.wireguard.com/img/wireguard.svg" project_blurb: "[WireGuard®]({{ project_url }}) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry." project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" - # supported architectures available_architectures: - - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - + - {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} + - {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} # development version development_versions: true development_versions_items: - - { tag: "latest", desc: "Stable releases based on Alpine *without* support for compiling Wireguard modules." } - - { tag: "legacy", desc: "Stable releases with support for compiling Wireguard modules for older kernels." } - + - {tag: "latest", desc: "Stable releases based on Alpine *without* support for compiling Wireguard modules."} + - {tag: "legacy", desc: "Stable releases with support for compiling Wireguard modules for older kernels."} # container parameters common_param_env_vars_enabled: true param_container_name: "{{ project_name }}" param_usage_include_vols: true param_volumes: - - { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Contains all relevant configuration files." } + - {vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Contains all relevant configuration files."} opt_param_usage_include_vols: true opt_param_volumes: - - { vol_path: "/lib/modules", vol_host_path: "/lib/modules", desc: "Maps host's modules folder. Only required if compiling wireguard modules." } + - {vol_path: "/lib/modules", vol_host_path: "/lib/modules", desc: "Maps host's modules folder. Only required if compiling wireguard modules."} param_usage_include_ports: true param_ports: - - { external_port: "51820", internal_port: "51820/udp", port_desc: "wireguard port" } + - {external_port: "51820", internal_port: "51820/udp", port_desc: "wireguard port"} param_usage_include_env: true param_env_vars: - - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} + - {env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} cap_add_param: true cap_add_param_vars: - - { cap_add_var: "NET_ADMIN", desc: "Neccessary for Wireguard to create its VPN interface." } - - { cap_add_var: "SYS_MODULE", desc: "Neccessary for loading Wireguard kernel module if it's not already loaded." } + - {cap_add_var: "NET_ADMIN", desc: "Neccessary for Wireguard to create its VPN interface."} + - {cap_add_var: "SYS_MODULE", desc: "Neccessary for loading Wireguard kernel module if it's not already loaded."} custom_params: - - { name: "sysctl", name_compose: "sysctls", value: ["net.ipv4.conf.all.src_valid_mark=1"], desc: "Required for client mode.", array: "true" } - + - {name: "sysctl", name_compose: "sysctls", value: ["net.ipv4.conf.all.src_valid_mark=1"], desc: "Required for client mode.", array: "true"} # optional container parameters opt_param_usage_include_env: true opt_param_env_vars: - - { env_var: "SERVERURL", env_value: "wireguard.domain.com", desc: "External IP or domain name for docker host. Used in server mode. If set to `auto`, the container will try to determine and set the external IP automatically"} - - { env_var: "SERVERPORT", env_value: "51820", desc: "External port for docker host. Used in server mode."} - - { env_var: "PEERS", env_value: "1", desc: "Number of peers to create confs for. Required for server mode. Can also be a list of names: `myPC,myPhone,myTablet` (alphanumeric only)"} - - { env_var: "PEERDNS", env_value: "auto", desc: "DNS server set in peer/client configs (can be set as `8.8.8.8`). Used in server mode. Defaults to `auto`, which uses wireguard docker host's DNS via included CoreDNS forward."} - - { env_var: "INTERNAL_SUBNET", env_value: "10.13.13.0", desc: "Internal subnet for the wireguard and server and peers (only change if it clashes). Used in server mode."} - - { env_var: "ALLOWEDIPS", env_value: "0.0.0.0/0", desc: "The IPs/Ranges that the peers will be able to reach using the VPN connection. If not specified the default value is: '0.0.0.0/0, ::0/0' This will cause ALL traffic to route through the VPN, if you want split tunneling, set this to only the IPs you would like to use the tunnel AND the ip of the server's WG ip, such as 10.13.13.1."} - - { env_var: "PERSISTENTKEEPALIVE_PEERS", env_value: "", desc: "Set to `all` or a list of comma separated peers (ie. `1,4,laptop`) for the wireguard server to send keepalive packets to listed peers every 25 seconds. Useful if server is accessed via domain name and has dynamic IP. Used only in server mode."} - - { env_var: "LOG_CONFS", env_value: "true", desc: "Generated QR codes will be displayed in the docker log. Set to `false` to skip log output."} - + - {env_var: "SERVERURL", env_value: "wireguard.domain.com", desc: "External IP or domain name for docker host. Used in server mode. If set to `auto`, the container will try to determine and set the external IP automatically"} + - {env_var: "SERVERPORT", env_value: "51820", desc: "External port for docker host. Used in server mode."} + - {env_var: "PEERS", env_value: "1", desc: "Number of peers to create confs for. Required for server mode. Can also be a list of names: `myPC,myPhone,myTablet` (alphanumeric only)"} + - {env_var: "PEERDNS", env_value: "auto", desc: "DNS server set in peer/client configs (can be set as `8.8.8.8`). Used in server mode. Defaults to `auto`, which uses wireguard docker host's DNS via included CoreDNS forward."} + - {env_var: "INTERNAL_SUBNET", env_value: "10.13.13.0", desc: "Internal subnet for the wireguard and server and peers (only change if it clashes). Used in server mode."} + - {env_var: "ALLOWEDIPS", env_value: "0.0.0.0/0", desc: "The IPs/Ranges that the peers will be able to reach using the VPN connection. If not specified the default value is: '0.0.0.0/0, ::0/0' This will cause ALL traffic to route through the VPN, if you want split tunneling, set this to only the IPs you would like to use the tunnel AND the ip of the server's WG ip, such as 10.13.13.1."} + - {env_var: "PERSISTENTKEEPALIVE_PEERS", env_value: "", desc: "Set to `all` or a list of comma separated peers (ie. `1,4,laptop`) for the wireguard server to send keepalive packets to listed peers every 25 seconds. Useful if server is accessed via domain name and has dynamic IP. Used only in server mode."} + - {env_var: "LOG_CONFS", env_value: "true", desc: "Generated QR codes will be displayed in the docker log. Set to `false` to skip log output."} optional_block_1: false optional_block_1_items: "" - # application setup block app_setup_block_enabled: true app_setup_block: | @@ -124,38 +118,82 @@ app_setup_block: | Keep in mind that this var will only be considered when the confs are regenerated. Adding this var for an existing peer won't force a regeneration. You can delete wg0.conf and restart the container to force regeneration if necessary. Don't forget to set the necessary POSTUP and POSTDOWN rules in your client's peer conf for lan access. - - +# init diagram +init_diagram: | + "wireguard:legacy": { + docker-mods + base { + fix-attr +\nlegacy cont-init + } + docker-mods -> base + legacy-services + custom services + init-services -> legacy-services + init-services -> custom services + custom services -> legacy-services + legacy-services -> ci-service-check + init-migrations -> init-adduser + init-os-end -> init-config + init-config -> init-config-end + init-wireguard-confs -> init-config-end + init-os-end -> init-crontab-config + init-mods-end -> init-custom-files + base -> init-envfile + base -> init-migrations + base -> init-mods + init-config-end -> init-mods + init-mods -> init-mods-end + init-mods-package-install -> init-mods-end + init-mods -> init-mods-package-install + base -> init-os-end + init-adduser -> init-os-end + init-envfile -> init-os-end + init-migrations -> init-os-end + init-custom-files -> init-services + init-mods-end -> init-services + init-wireguard-module -> init-wireguard-confs + init-config -> init-wireguard-module + init-services -> svc-coredns + svc-coredns -> legacy-services + init-services -> svc-cron + svc-cron -> legacy-services + svc-coredns -> svc-wireguard + svc-wireguard -> legacy-services + } + Base Images: { + "baseimage-ubuntu:jammy" + } + "wireguard:legacy" <- Base Images # changelog changelogs: - - { date: "03.10.23:", desc: "**Potentially Breaking Change:** Support for multiple interfaces added. Wireguard confs moved to `/config/wg_confs/`. Any file with a `.conf` extension in that folder will be treated as a live tunnel config and will be attempted to start. If any of the tunnels fail, all tunnels will be stopped. Tunnels are started in alphabetical order. Managed server conf will continue to be hardcoded to `wg0.conf`." } - - { date: "24.06.23:", desc: "Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)." } - - { date: "26.04.23:", desc: "Rework branches, swap alpine & ubuntu builds." } - - { date: "28.01.23:", desc: "Patch wg-quick to suppress false positive sysctl warning." } - - { date: "10.01.23:", desc: "Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used." } - - { date: "26.10.22:", desc: "Better handle unsupported peer names. Improve logging." } - - { date: "12.10.22:", desc: "Add Alpine branch. Optimize wg and coredns services." } - - { date: "09.10.22:", desc: "Switch back to iptables-legacy due to issues on some hosts." } - - { date: "04.10.22:", desc: "Rebase to Jammy. Upgrade to s6v3." } - - { date: "16.05.22:", desc: "Improve NAT handling in server mode when multiple ethernet devices are present." } - - { date: "23.04.22:", desc: "Add pre-shared key support. Automatically added to all new peer confs generated, existing ones are left without to ensure no breaking changes." } - - { date: "10.04.22:", desc: "Rebase to Ubuntu Focal. Add `LOG_CONFS` env var. Remove deprecated `add-peer` command." } - - { date: "28.10.21:", desc: "Add site-to-site vpn support." } - - { date: "11.02.21:", desc: "Fix bug related to changing internal subnet and named peer confs not updating." } - - { date: "06.10.20:", desc: "Disable CoreDNS in client mode, or if port 53 is already in use in server mode." } - - { date: "04.10.20:", desc: "Allow to specify a list of names as PEERS and add ALLOWEDIPS environment variable. Also, add peer name/id to each one of the peer sections in wg0.conf. Important: Existing users need to delete `/config/templates/peer.conf` and restart" } - - { date: "27.09.20:", desc: "Cleaning service binding example to have accurate PreDown script." } - - { date: "06.08.20:", desc: "Replace resolvconf with openresolv due to dns issues when a client based on this image is connected to a server also based on this image. Add IPv6 info to readme. Display kernel version in logs." } - - { date: "29.07.20:", desc: "Update Coredns config to detect dns loops (existing users need to delete `/config/coredns/Corefile` and restart)." } - - { date: "27.07.20:", desc: "Update Coredns config to prevent issues with non-user-defined bridge networks (existing users need to delete `/config/coredns/Corefile` and restart)." } - - { date: "05.07.20:", desc: "Add Debian updates and security repos for headers." } - - { date: "25.06.20:", desc: "Simplify module tests, prevent iptables issues from resulting in false negatives." } - - { date: "19.06.20:", desc: "Add support for Ubuntu Focal (20.04) kernels. Compile wireguard tools and kernel module instead of using the ubuntu packages. Make module install optional. Improve verbosity in logs." } - - { date: "29.05.20:", desc: "Add support for 64bit raspbian." } - - { date: "28.04.20:", desc: "Add Buster/Stretch backports repos for Debian. Tested with OMV 5 and OMV 4 (on kernel 4.19.0-0.bpo.8-amd64)." } - - { date: "20.04.20:", desc: "Fix typo in client mode conf existence check." } - - { date: "13.04.20:", desc: "Fix bug that forced conf recreation on every start." } - - { date: "08.04.20:", desc: "Add arm32/64 builds and enable multi-arch (rpi4 with ubuntu and raspbian buster tested). Add CoreDNS for `PEERDNS=auto` setting. Update the `add-peer`/`show-peer` scripts to utilize the templates and the `INTERNAL_SUBNET` var (previously missed, oops)." } - - { date: "05.04.20:", desc: "Add `INTERNAL_SUBNET` variable to prevent subnet clashes. Add templates for server and peer confs." } - - { date: "01.04.20:", desc: "Add `show-peer` script and include info on host installed headers." } - - { date: "31.03.20:", desc: "Initial Release." } + - {date: "03.10.23:", desc: "**Potentially Breaking Change:** Support for multiple interfaces added. Wireguard confs moved to `/config/wg_confs/`. Any file with a `.conf` extension in that folder will be treated as a live tunnel config and will be attempted to start. If any of the tunnels fail, all tunnels will be stopped. Tunnels are started in alphabetical order. Managed server conf will continue to be hardcoded to `wg0.conf`."} + - {date: "24.06.23:", desc: "Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)."} + - {date: "26.04.23:", desc: "Rework branches, swap alpine & ubuntu builds."} + - {date: "28.01.23:", desc: "Patch wg-quick to suppress false positive sysctl warning."} + - {date: "10.01.23:", desc: "Add new var to add `PersistentKeepalive` to server config for select peers to survive server IP changes when domain name is used."} + - {date: "26.10.22:", desc: "Better handle unsupported peer names. Improve logging."} + - {date: "12.10.22:", desc: "Add Alpine branch. Optimize wg and coredns services."} + - {date: "09.10.22:", desc: "Switch back to iptables-legacy due to issues on some hosts."} + - {date: "04.10.22:", desc: "Rebase to Jammy. Upgrade to s6v3."} + - {date: "16.05.22:", desc: "Improve NAT handling in server mode when multiple ethernet devices are present."} + - {date: "23.04.22:", desc: "Add pre-shared key support. Automatically added to all new peer confs generated, existing ones are left without to ensure no breaking changes."} + - {date: "10.04.22:", desc: "Rebase to Ubuntu Focal. Add `LOG_CONFS` env var. Remove deprecated `add-peer` command."} + - {date: "28.10.21:", desc: "Add site-to-site vpn support."} + - {date: "11.02.21:", desc: "Fix bug related to changing internal subnet and named peer confs not updating."} + - {date: "06.10.20:", desc: "Disable CoreDNS in client mode, or if port 53 is already in use in server mode."} + - {date: "04.10.20:", desc: "Allow to specify a list of names as PEERS and add ALLOWEDIPS environment variable. Also, add peer name/id to each one of the peer sections in wg0.conf. Important: Existing users need to delete `/config/templates/peer.conf` and restart"} + - {date: "27.09.20:", desc: "Cleaning service binding example to have accurate PreDown script."} + - {date: "06.08.20:", desc: "Replace resolvconf with openresolv due to dns issues when a client based on this image is connected to a server also based on this image. Add IPv6 info to readme. Display kernel version in logs."} + - {date: "29.07.20:", desc: "Update Coredns config to detect dns loops (existing users need to delete `/config/coredns/Corefile` and restart)."} + - {date: "27.07.20:", desc: "Update Coredns config to prevent issues with non-user-defined bridge networks (existing users need to delete `/config/coredns/Corefile` and restart)."} + - {date: "05.07.20:", desc: "Add Debian updates and security repos for headers."} + - {date: "25.06.20:", desc: "Simplify module tests, prevent iptables issues from resulting in false negatives."} + - {date: "19.06.20:", desc: "Add support for Ubuntu Focal (20.04) kernels. Compile wireguard tools and kernel module instead of using the ubuntu packages. Make module install optional. Improve verbosity in logs."} + - {date: "29.05.20:", desc: "Add support for 64bit raspbian."} + - {date: "28.04.20:", desc: "Add Buster/Stretch backports repos for Debian. Tested with OMV 5 and OMV 4 (on kernel 4.19.0-0.bpo.8-amd64)."} + - {date: "20.04.20:", desc: "Fix typo in client mode conf existence check."} + - {date: "13.04.20:", desc: "Fix bug that forced conf recreation on every start."} + - {date: "08.04.20:", desc: "Add arm32/64 builds and enable multi-arch (rpi4 with ubuntu and raspbian buster tested). Add CoreDNS for `PEERDNS=auto` setting. Update the `add-peer`/`show-peer` scripts to utilize the templates and the `INTERNAL_SUBNET` var (previously missed, oops)."} + - {date: "05.04.20:", desc: "Add `INTERNAL_SUBNET` variable to prevent subnet clashes. Add templates for server and peer confs."} + - {date: "01.04.20:", desc: "Add `show-peer` script and include info on host installed headers."} + - {date: "31.03.20:", desc: "Initial Release."} From ce2be2fbc67680511f397afb05d17484e81bcba7 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Sun, 1 Dec 2024 22:40:25 +0000 Subject: [PATCH 104/117] Bot Updating Templated Files --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8117fd57..28a56d53 100644 --- a/README.md +++ b/README.md @@ -134,11 +134,13 @@ Keep in mind that this var will only be considered when the confs are regenerate Don't forget to set the necessary POSTUP and POSTDOWN rules in your client's peer conf for lan access. - ## Usage To help you get started creating a container from this image you can either use docker-compose or the docker cli. +>[!NOTE] +>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided. + ### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose)) ```yaml @@ -204,7 +206,7 @@ Containers are configured using parameters passed at runtime (such as those abov | Parameter | Function | | :----: | --- | -| `-p 51820/udp` | wireguard port | +| `-p 51820:51820/udp` | wireguard port | | `-e PUID=1000` | for UserID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation | | `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). | @@ -219,6 +221,8 @@ Containers are configured using parameters passed at runtime (such as those abov | `-v /config` | Contains all relevant configuration files. | | `-v /lib/modules` | Maps host's modules folder. Only required if compiling wireguard modules. | | `--sysctl=` | Required for client mode. | +| `--cap-add=NET_ADMIN` | Neccessary for Wireguard to create its VPN interface. | +| `--cap-add=SYS_MODULE` | Neccessary for loading Wireguard kernel module if it's not already loaded. | ### Portainer notice From 7383adcdfd996f4a6342203b215d319acc507316 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 5 Dec 2024 11:23:15 +0000 Subject: [PATCH 105/117] Bot Updating Templated Files --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d90f2954..612c0fa1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -341,7 +341,7 @@ pipeline { echo "Starting Stage 2.5 - Update init diagram" if ! grep -q 'init_diagram:' readme-vars.yml; then echo "Adding the key 'init_diagram' to readme-vars.yml" - sed -i '\\|^#.*changelog.*$|d' readme-vars.yml + sed -i '\\|^#.*changelog.*$|d' readme-vars.yml sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml fi mkdir -p ${TEMPDIR}/d2 @@ -889,7 +889,7 @@ pipeline { retry_backoff(5,5) { sh '''#! /bin/bash set -e - for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do + for PUSHIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do [[ ${PUSHIMAGE%%/*} =~ \\. ]] && PUSHIMAGEPLUS="${PUSHIMAGE}" || PUSHIMAGEPLUS="docker.io/${PUSHIMAGE}" IFS=',' read -ra CACHE <<< "$BUILDCACHE" for i in "${CACHE[@]}"; do @@ -897,7 +897,7 @@ pipeline { CACHEIMAGE=${i} fi done - docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:legacy -t {PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} + docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:legacy -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} if [ -n "${SEMVER}" ]; then docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} fi From 544673744d108d47877f2dac8775fac8fc028030 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 5 Dec 2024 11:24:30 +0000 Subject: [PATCH 106/117] Bot Updating Templated Files --- .github/workflows/external_trigger.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 7027ad7e..5b0397a3 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -43,16 +43,18 @@ jobs: token=$(curl -sX GET \ "https://ghcr.io/token?scope=repository%3Alinuxserver%2Fwireguard%3Apull" \ | jq -r '.token') - multidigest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/${image}/manifests/${tag}" \ - | jq -r 'first(.manifests[].digest)') - digest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/${image}/manifests/${multidigest}" \ - | jq -r '.config.digest') + multidigest=$(curl -s \ + --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ + --header "Accept: application/vnd.oci.image.index.v1+json" \ + --header "Authorization: Bearer ${token}" \ + "https://ghcr.io/v2/${image}/manifests/${tag}") + multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}") + digest=$(curl -s \ + --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ + --header "Accept: application/vnd.oci.image.manifest.v1+json" \ + --header "Authorization: Bearer ${token}" \ + "https://ghcr.io/v2/${image}/manifests/${multidigest}" \ + | jq -r '.config.digest') image_info=$(curl -sL \ --header "Authorization: Bearer ${token}" \ "https://ghcr.io/v2/${image}/blobs/${digest}") From 0a9151af31f073665b25e0d5dfa7fa84c41f9ad2 Mon Sep 17 00:00:00 2001 From: thespad Date: Wed, 11 Dec 2024 21:12:56 +0000 Subject: [PATCH 107/117] Deprecate legacy branch --- readme-vars.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/readme-vars.yml b/readme-vars.yml index bc8f8151..deaf7ba8 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -6,6 +6,8 @@ project_url: "https://www.wireguard.com/" project_logo: "https://www.wireguard.com/img/wireguard.svg" project_blurb: "[WireGuard®]({{ project_url }}) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry." project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" +project_deprecation_status: true +project_deprecation_message: "Please switch to the Alpine-based latest tag" # supported architectures available_architectures: - {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} @@ -166,6 +168,7 @@ init_diagram: | "wireguard:legacy" <- Base Images # changelog changelogs: + - {date: "01.01.24:", desc: "Deprecate legacy branch."} - {date: "03.10.23:", desc: "**Potentially Breaking Change:** Support for multiple interfaces added. Wireguard confs moved to `/config/wg_confs/`. Any file with a `.conf` extension in that folder will be treated as a live tunnel config and will be attempted to start. If any of the tunnels fail, all tunnels will be stopped. Tunnels are started in alphabetical order. Managed server conf will continue to be hardcoded to `wg0.conf`."} - {date: "24.06.23:", desc: "Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)."} - {date: "26.04.23:", desc: "Rework branches, swap alpine & ubuntu builds."} From 3d62d85fa9f34457a5a6fffd73bed86a75cc7596 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 12 Dec 2024 11:27:35 +0000 Subject: [PATCH 108/117] Bot Updating Package Versions --- package_versions.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index 42b04d1f..f120c3c8 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -22,7 +22,7 @@ cpp 4:11.2.0-1ubuntu1 cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.18 deb +curl 7.81.0-1ubuntu1.19 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -232,14 +232,14 @@ libcrypt1 1:4.4.27-1 libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb libcurl3-gnutls 7.81.0-1ubuntu1.19 deb -libcurl4 7.81.0-1ubuntu1.18 deb +libcurl4 7.81.0-1ubuntu1.19 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.3 deb libelf-dev 0.186-1build1 deb libelf1 0.186-1build1 deb liberror-perl 0.17029-1 deb -libexpat1 2.4.7-1ubuntu0.4 deb +libexpat1 2.4.7-1ubuntu0.5 deb libext2fs2 1.46.5-2ubuntu1.2 deb libffi8 3.4.2-4 deb libgcc-11-dev 11.4.0-1ubuntu1~22.04 deb From f3a73b58862823317c49be22241fd3c222c9e73a Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 19 Dec 2024 11:23:25 +0000 Subject: [PATCH 109/117] Bot Updating Templated Files --- Jenkinsfile | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 612c0fa1..16f206cd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -575,7 +575,7 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \ - --provenance=false --sbom=false --builder=container --load \ + --provenance=true --sbom=true --builder=container --load \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." sh '''#! /bin/bash set -e @@ -604,7 +604,9 @@ pipeline { for i in "${CACHE[@]}"; do docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & done - wait + for p in $(jobs -p); do + wait "$p" || { echo "job $p failed" >&2; exit 1; } + done fi ''' } @@ -639,7 +641,7 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \ - --provenance=false --sbom=false --builder=container --load \ + --provenance=true --sbom=true --builder=container --load \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." sh '''#! /bin/bash set -e @@ -668,7 +670,9 @@ pipeline { for i in "${CACHE[@]}"; do docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & done - wait + for p in $(jobs -p); do + wait "$p" || { echo "job $p failed" >&2; exit 1; } + done fi ''' } @@ -696,7 +700,7 @@ pipeline { --label \"org.opencontainers.image.title=Wireguard\" \ --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \ - --provenance=false --sbom=false --builder=container --load \ + --provenance=true --sbom=true --builder=container --load \ --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." sh '''#! /bin/bash set -e @@ -725,7 +729,9 @@ pipeline { for i in "${CACHE[@]}"; do docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} & done - wait + for p in $(jobs -p); do + wait "$p" || { echo "job $p failed" >&2; exit 1; } + done fi ''' } From f0b1007c2059a78c0f791f1b00d7a5aa882c5e50 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 19 Dec 2024 11:26:04 +0000 Subject: [PATCH 110/117] Bot Updating Templated Files --- .github/workflows/external_trigger.yml | 33 ++++++++++++++----- .../workflows/package_trigger_scheduler.yml | 27 ++++++++++++--- 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 5b0397a3..26e4eb35 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -48,13 +48,30 @@ jobs: --header "Accept: application/vnd.oci.image.index.v1+json" \ --header "Authorization: Bearer ${token}" \ "https://ghcr.io/v2/${image}/manifests/${tag}") - multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}") - digest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Accept: application/vnd.oci.image.manifest.v1+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/${image}/manifests/${multidigest}" \ - | jq -r '.config.digest') + if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then + # If there's a layer element it's a single-arch manifest so just get that digest + digest=$(jq -r '.config.digest' <<< "${multidigest}") + else + # Otherwise it's multi-arch or has manifest annotations + if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then + # Check for manifest annotations and delete if found + multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}") + fi + if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then + # If there's still more than one digest, it's multi-arch + multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}") + else + # Otherwise it's single arch + multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}") + fi + if digest=$(curl -s \ + --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ + --header "Accept: application/vnd.oci.image.manifest.v1+json" \ + --header "Authorization: Bearer ${token}" \ + "https://ghcr.io/v2/${image}/manifests/${multidigest}"); then + digest=$(jq -r '.config.digest' <<< "${digest}"); + fi + fi image_info=$(curl -sL \ --header "Authorization: Bearer ${token}" \ "https://ghcr.io/v2/${image}/blobs/${digest}") @@ -92,7 +109,7 @@ jobs: else printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY - if "${artifacts_found}" == "true" ]]; then + if [[ "${artifacts_found}" == "true" ]]; then echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY fi response=$(curl -iX POST \ diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml index ca7bb09f..df2d46ce 100755 --- a/.github/workflows/package_trigger_scheduler.yml +++ b/.github/workflows/package_trigger_scheduler.yml @@ -27,9 +27,18 @@ jobs: fi printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml) - if [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then + if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/Jenkinsfile >/dev/null 2>&1; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY + skipped_branches="${skipped_branches}${br} " + elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY - if [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then + README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/readme-vars.yml) + if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY + skipped_branches="${skipped_branches}${br} " + elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY skipped_branches="${skipped_branches}${br} " @@ -37,7 +46,7 @@ jobs: echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`wireguard_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY skipped_branches="${skipped_branches}${br} " - elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/lastBuild/api/json | jq -r '.building') == "true" ]; then + elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY skipped_branches="${skipped_branches}${br} " @@ -49,6 +58,11 @@ jobs: response=$(curl -iX POST \ https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") + if [[ -z "${response}" ]]; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Jenkins build could not be triggered. Skipping branch." + continue + fi echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY sleep 10 @@ -56,11 +70,14 @@ jobs: buildurl="${buildurl%$'\r'}" echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY - curl -iX POST \ + if ! curl -ifX POST \ "${buildurl}submitDescription" \ --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ - --data-urlencode "Submit=Submit" + --data-urlencode "Submit=Submit"; then + echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY + echo "> Unable to change the Jenkins job description." + fi sleep 20 fi else From 2e5026bd1d8c45459558dd6a55d25d0c5615d97b Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 19 Dec 2024 11:30:49 +0000 Subject: [PATCH 111/117] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index f120c3c8..62f627d9 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -22,7 +22,7 @@ cpp 4:11.2.0-1ubuntu1 cpp-11 11.4.0-1ubuntu1~22.04 deb cpp-12 12.3.0-1ubuntu1~22.04 deb cron 3.0pl1-137ubuntu3 deb -curl 7.81.0-1ubuntu1.19 deb +curl 7.81.0-1ubuntu1.20 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb dctrl-tools 2.24-3build2 deb debconf 1.5.79ubuntu1 deb @@ -231,8 +231,8 @@ libcrypt-dev 1:4.4.27-1 libcrypt1 1:4.4.27-1 deb libctf-nobfd0 2.38-4ubuntu2.6 deb libctf0 2.38-4ubuntu2.6 deb -libcurl3-gnutls 7.81.0-1ubuntu1.19 deb -libcurl4 7.81.0-1ubuntu1.19 deb +libcurl3-gnutls 7.81.0-1ubuntu1.20 deb +libcurl4 7.81.0-1ubuntu1.20 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb libdebconfclient0 0.261ubuntu1 deb libdpkg-perl 1.21.1ubuntu2.3 deb @@ -337,7 +337,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-126.136 deb +linux-libc-dev 5.15.0-128.138 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.2 deb From 76537a6e0a9bd84d88dc0eea93567be65896d881 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Thu, 26 Dec 2024 11:22:43 +0000 Subject: [PATCH 112/117] Bot Updating Package Versions --- package_versions.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package_versions.txt b/package_versions.txt index 62f627d9..37fd91d3 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -337,7 +337,7 @@ libuuid1 2.37.2-4ubuntu3.4 libxtables12 1.8.7-1ubuntu5.2 deb libxxhash0 0.8.1-1 deb libzstd1 1.4.8+dfsg-3build1 deb -linux-libc-dev 5.15.0-128.138 deb +linux-libc-dev 5.15.0-130.140 deb locales 2.35-0ubuntu3.8 deb login 1:4.8.1-2ubuntu2.2 deb logsave 1.46.5-2ubuntu1.2 deb From 9b6fcd64e6ed865b75027e5c9fb6af8fce7f6b13 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 1 Jan 2025 09:23:23 +0000 Subject: [PATCH 113/117] Bot Updating Templated Files --- Jenkinsfile | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 16f206cd..9feda349 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -81,7 +81,7 @@ pipeline { env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.PULL_REQUEST = env.CHANGE_ID - env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./root/donate.txt' + env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./root/donate.txt ./root/etc/s6-overlay/s6-rc.d/init-deprecate/run ./root/etc/s6-overlay/s6-rc.d/init-deprecate/up ./root/etc/s6-overlay/s6-rc.d/init-deprecate/type ./root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end ./root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate ./root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate' } sh '''#! /bin/bash echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" ''' @@ -315,6 +315,7 @@ pipeline { fi echo "Starting Stage 2 - Delete old templates" OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml .github/workflows/package_trigger.yml" + OLD_TEMPLATES="${OLD_TEMPLATES} $(echo .github/workflows/{external_trigger,external_trigger_scheduler,package_trigger_scheduler,call_issue_pr_tracker,call_issues_cron}.yml)" for i in ${OLD_TEMPLATES}; do if [[ -f "${i}" ]]; then TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" @@ -379,6 +380,10 @@ pipeline { cd ${TEMPDIR}/docker-${CONTAINER_NAME} mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE + mkdir -p \ + ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d \ + ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d \ + ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/user/contents.d cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : cd ${TEMPDIR}/repo/${LS_REPO}/ @@ -408,6 +413,19 @@ pipeline { git add docs/images/docker-${CONTAINER_NAME}.md echo "Updating docs repo" git commit -m 'Bot Updating Documentation' + git mv docs/images/docker-${CONTAINER_NAME}.md docs/deprecated_images/docker-${CONTAINER_NAME}.md || : + if ! command -v yq || ! yq --help | grep -q 'mikefarah'; then + YQ_DL_VERSION=$(curl -fsX GET "https://api.github.com/repos/mikefarah/yq/releases/latest" | jq -r '. | .tag_name') + echo "No yq found, retrieving from upstream release version ${YQ_DL_VERSION}" + curl -fo /usr/local/bin/yq -L "https://github.com/mikefarah/yq/releases/download/${YQ_DL_VERSION}/yq_linux_amd64" + chmod +x /usr/local/bin/yq + fi + if ! yq -e '.plugins.[].redirects.redirect_maps.[] | select(. == "deprecated_images/docker-" + env(CONTAINER_NAME) + ".md")' mkdocs.yml >/dev/null 2>&1; then + echo "Updating mkdocs.yml with deprecation info" + yq -i '(.plugins.[] | select(.redirects)).redirects.redirect_maps |= . + {"images/docker-" + env(CONTAINER_NAME) + ".md" : "deprecated_images/docker-" + env(CONTAINER_NAME) + ".md"}' mkdocs.yml + git add mkdocs.yml + fi + git commit -m 'Bot Moving Deprecated Documentation' || : git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \ (MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \ @@ -429,6 +447,10 @@ pipeline { echo "Updating Unraid template" cd ${TEMPDIR}/unraid/templates/ GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') + if ! grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then + echo "${CONTAINER_NAME}" >> ${TEMPDIR}/unraid/templates/unraid/ignore.list + git add unraid/ignore.list + fi if grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then echo "Image is on the ignore list, and already in the deprecation folder." elif grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then @@ -907,6 +929,7 @@ pipeline { if [ -n "${SEMVER}" ]; then docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} fi + docker buildx imagetools create -t ${PUSHIMAGE}:legacy ghcr.io/linuxserver/jenkins-builder:empty || true done ''' } @@ -938,7 +961,7 @@ pipeline { fi done for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do - docker buildx imagetools create -t ${MANIFESTIMAGE}:legacy ${MANIFESTIMAGE}:amd64-legacy ${MANIFESTIMAGE}:arm64v8-legacy + docker buildx imagetools create -t ${MANIFESTIMAGE}:legacy -t ${MANIFESTIMAGE}:amd64-legacy -t ${MANIFESTIMAGE}:arm64v8-legacy ghcr.io/linuxserver/jenkins-builder:empty || true docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} @@ -1093,6 +1116,26 @@ EOF } } + stage('Deprecate/Disable Future Builds') { + when { + branch "legacy" + environment name: 'CHANGE_ID', value: '' + environment name: 'EXIT_STATUS', value: '' + } + steps { + sh '''#! /bin/bash + TEMPDIR=$(mktemp -d) + mkdir -p ${TEMPDIR}/repo + git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} + cd ${TEMPDIR}/repo/${LS_REPO} + git checkout -f legacy + git rm Jenkinsfile + git commit -m 'Disabling future builds' + git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy + rm -Rf ${TEMPDIR}''' + } + } } /* ###################### Send status to Discord From 31e90ebe94c3b246ab1a33b65bff67a0c38e3723 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 1 Jan 2025 09:24:33 +0000 Subject: [PATCH 114/117] Bot Updating Templated Files --- .github/workflows/call_issue_pr_tracker.yml | 16 --- .github/workflows/call_issues_cron.yml | 13 -- .github/workflows/external_trigger.yml | 136 ------------------ .../workflows/external_trigger_scheduler.yml | 45 ------ .../workflows/package_trigger_scheduler.yml | 100 ------------- 5 files changed, 310 deletions(-) delete mode 100755 .github/workflows/call_issue_pr_tracker.yml delete mode 100755 .github/workflows/call_issues_cron.yml delete mode 100755 .github/workflows/external_trigger.yml delete mode 100755 .github/workflows/external_trigger_scheduler.yml delete mode 100755 .github/workflows/package_trigger_scheduler.yml diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml deleted file mode 100755 index 2c307843..00000000 --- a/.github/workflows/call_issue_pr_tracker.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Issue & PR Tracker - -on: - issues: - types: [opened,reopened,labeled,unlabeled,closed] - pull_request_target: - types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed] - pull_request_review: - types: [submitted,edited,dismissed] - -jobs: - manage-project: - permissions: - issues: write - uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1 - secrets: inherit diff --git a/.github/workflows/call_issues_cron.yml b/.github/workflows/call_issues_cron.yml deleted file mode 100755 index 091b04a7..00000000 --- a/.github/workflows/call_issues_cron.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Mark stale issues and pull requests -on: - schedule: - - cron: '20 0 * * *' - workflow_dispatch: - -jobs: - stale: - permissions: - issues: write - pull-requests: write - uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1 - secrets: inherit diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml deleted file mode 100755 index 26e4eb35..00000000 --- a/.github/workflows/external_trigger.yml +++ /dev/null @@ -1,136 +0,0 @@ -name: External Trigger Main - -on: - workflow_dispatch: - -jobs: - external-trigger-legacy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - - - name: External Trigger - if: github.ref == 'refs/heads/legacy' - env: - SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }} - run: | - printf "# External trigger for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY - if grep -q "^wireguard_legacy" <<< "${SKIP_EXTERNAL_TRIGGER}"; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`wireguard_legacy\`; skipping trigger." >> $GITHUB_STEP_SUMMARY - exit 0 - fi - echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY - echo "> External trigger running off of legacy branch. To disable this trigger, add \`wireguard_legacy\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY - printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY - EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/WireGuard/wireguard-tools/tags | jq -r .[0].name) - echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY - if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY - FAILURE_REASON="Can't retrieve external version for wireguard branch legacy" - GHA_TRIGGER_URL="https://github.com/linuxserver/docker-wireguard/actions/runs/${{ github.run_id }}" - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, - "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} - exit 1 - fi - EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g') - echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY - echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY - image="linuxserver/wireguard" - tag="legacy" - token=$(curl -sX GET \ - "https://ghcr.io/token?scope=repository%3Alinuxserver%2Fwireguard%3Apull" \ - | jq -r '.token') - multidigest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Accept: application/vnd.oci.image.index.v1+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/${image}/manifests/${tag}") - if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then - # If there's a layer element it's a single-arch manifest so just get that digest - digest=$(jq -r '.config.digest' <<< "${multidigest}") - else - # Otherwise it's multi-arch or has manifest annotations - if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then - # Check for manifest annotations and delete if found - multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}") - fi - if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then - # If there's still more than one digest, it's multi-arch - multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}") - else - # Otherwise it's single arch - multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}") - fi - if digest=$(curl -s \ - --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ - --header "Accept: application/vnd.oci.image.manifest.v1+json" \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/${image}/manifests/${multidigest}"); then - digest=$(jq -r '.config.digest' <<< "${digest}"); - fi - fi - image_info=$(curl -sL \ - --header "Authorization: Bearer ${token}" \ - "https://ghcr.io/v2/${image}/blobs/${digest}") - if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then - image_info=$(echo $image_info | jq -r '.config') - else - image_info=$(echo $image_info | jq -r '.container_config') - fi - IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}') - IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}') - if [ -z "${IMAGE_VERSION}" ]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY - FAILURE_REASON="Can't retrieve last pushed version for wireguard tag legacy" - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, - "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} - exit 1 - fi - echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY - if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then - echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY - exit 0 - elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/lastBuild/api/json | jq -r '.building') == "true" ]; then - echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY - exit 0 - else - if [[ "${artifacts_found}" == "false" ]]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY - FAILURE_REASON="New version ${EXT_RELEASE} for wireguard tag legacy is detected, however not all artifacts are uploaded to upstream release yet. Will try again later." - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, - "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} - else - printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY - echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY - if [[ "${artifacts_found}" == "true" ]]; then - echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY - fi - response=$(curl -iX POST \ - https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/legacy/buildWithParameters?PACKAGE_CHECK=false \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") - echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY - echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY - sleep 10 - buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') - buildurl="${buildurl%$'\r'}" - echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY - echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY - curl -iX POST \ - "${buildurl}submitDescription" \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ - --data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ - --data-urlencode "Submit=Submit" - echo "**** Notifying Discord ****" - TRIGGER_REASON="A version change was detected for wireguard tag legacy. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}" - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, - "description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} - fi - fi diff --git a/.github/workflows/external_trigger_scheduler.yml b/.github/workflows/external_trigger_scheduler.yml deleted file mode 100755 index 5de13c75..00000000 --- a/.github/workflows/external_trigger_scheduler.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: External Trigger Scheduler - -on: - schedule: - - cron: '51 * * * *' - workflow_dispatch: - -jobs: - external-trigger-scheduler: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - with: - fetch-depth: '0' - - - name: External Trigger Scheduler - run: | - printf "# External trigger scheduler for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY - printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY - for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) - do - if [[ "${br}" == "HEAD" ]]; then - printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY - continue - fi - printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY - ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml) - ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch') - ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type') - if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then - echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY - if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then - echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY - curl -iX POST \ - -H "Authorization: token ${{ secrets.CR_PAT }}" \ - -H "Accept: application/vnd.github.v3+json" \ - -d "{\"ref\":\"refs/heads/${br}\"}" \ - https://api.github.com/repos/linuxserver/docker-wireguard/actions/workflows/external_trigger.yml/dispatches - else - echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY - fi - else - echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY - fi - done diff --git a/.github/workflows/package_trigger_scheduler.yml b/.github/workflows/package_trigger_scheduler.yml deleted file mode 100755 index df2d46ce..00000000 --- a/.github/workflows/package_trigger_scheduler.yml +++ /dev/null @@ -1,100 +0,0 @@ -name: Package Trigger Scheduler - -on: - schedule: - - cron: '9 11 * * 4' - workflow_dispatch: - -jobs: - package-trigger-scheduler: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4.1.1 - with: - fetch-depth: '0' - - - name: Package Trigger Scheduler - env: - SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }} - run: | - printf "# Package trigger scheduler for docker-wireguard\n\n" >> $GITHUB_STEP_SUMMARY - printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY - for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) - do - if [[ "${br}" == "HEAD" ]]; then - printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY - continue - fi - printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY - JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/jenkins-vars.yml) - if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/Jenkinsfile >/dev/null 2>&1; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY - skipped_branches="${skipped_branches}${br} " - elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then - echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY - README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-wireguard/${br}/readme-vars.yml) - if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY - skipped_branches="${skipped_branches}${br} " - elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY - skipped_branches="${skipped_branches}${br} " - elif grep -q "^wireguard_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`wireguard_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY - skipped_branches="${skipped_branches}${br} " - elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY - skipped_branches="${skipped_branches}${br} " - else - echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY - echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY - printf "> To disable, add \`wireguard_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY - triggered_branches="${triggered_branches}${br} " - response=$(curl -iX POST \ - https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-wireguard/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") - if [[ -z "${response}" ]]; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Jenkins build could not be triggered. Skipping branch." - continue - fi - echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY - echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY - sleep 10 - buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') - buildurl="${buildurl%$'\r'}" - echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY - echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY - if ! curl -ifX POST \ - "${buildurl}submitDescription" \ - --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ - --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ - --data-urlencode "Submit=Submit"; then - echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY - echo "> Unable to change the Jenkins job description." - fi - sleep 20 - fi - else - echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY - fi - done - if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then - if [[ -n "${triggered_branches}" ]]; then - NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n" - NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-wireguard/activity/ \n" - echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" - fi - if [[ -n "${skipped_branches}" ]]; then - NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n" - fi - echo "**** Notifying Discord ****" - curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, - "description": "**Package Check Build(s) for wireguard** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}], - "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} - fi From 1e2fe05047e6a2b2ba4556e5681ec3a1813ec998 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Wed, 1 Jan 2025 09:25:51 +0000 Subject: [PATCH 115/117] Bot Updating Templated Files --- .github/ISSUE_TEMPLATE/issue.bug.yml | 74 ++----------------- .github/ISSUE_TEMPLATE/issue.feature.yml | 33 ++------- .github/PULL_REQUEST_TEMPLATE.md | 5 ++ README.md | 6 ++ .../dependencies.d/init-config-end | 0 .../etc/s6-overlay/s6-rc.d/init-deprecate/run | 17 +++++ .../s6-overlay/s6-rc.d/init-deprecate/type | 1 + root/etc/s6-overlay/s6-rc.d/init-deprecate/up | 1 + .../dependencies.d/init-deprecate | 0 .../s6-rc.d/user/contents.d/init-deprecate | 0 10 files changed, 44 insertions(+), 93 deletions(-) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end create mode 100755 root/etc/s6-overlay/s6-rc.d/init-deprecate/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-deprecate/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-deprecate/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml index 3123bf47..aa983eae 100644 --- a/.github/ISSUE_TEMPLATE/issue.bug.yml +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -4,73 +4,11 @@ description: Create a report to help us improve title: "[BUG] " labels: [Bug] body: - - type: checkboxes + - type: markdown attributes: - label: Is there an existing issue for this? - description: Please search to see if an issue already exists for the bug you encountered. - options: - - label: I have searched the existing issues - required: true - - type: textarea - attributes: - label: Current Behavior - description: Tell us what happens instead of the expected behavior. - validations: - required: true - - type: textarea - attributes: - label: Expected Behavior - description: Tell us what should happen. - validations: - required: false - - type: textarea - attributes: - label: Steps To Reproduce - description: Steps to reproduce the behavior. - placeholder: | - 1. In this environment... - 2. With this config... - 3. Run '...' - 4. See error... - validations: - required: true - - type: textarea - attributes: - label: Environment - description: | - examples: - - **OS**: Ubuntu 20.04 - - **How docker service was installed**: distro's packagemanager value: | - - OS: - - How docker service was installed: - render: markdown - validations: - required: false - - type: dropdown - attributes: - label: CPU architecture - options: - - x86-64 - - arm64 - validations: - required: true - - type: textarea - attributes: - label: Docker creation - description: | - Command used to create docker container - Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container - render: bash - validations: - required: true - - type: textarea - attributes: - description: | - Provide a full docker log, output of "docker logs wireguard" - label: Container logs - placeholder: | - Output of `docker logs wireguard` - render: bash - validations: - required: true +# DEPRECATION NOTICE +This image is deprecated. We will not offer support for this image and it will not be updated. + + +Please switch to the Alpine-based latest tag diff --git a/.github/ISSUE_TEMPLATE/issue.feature.yml b/.github/ISSUE_TEMPLATE/issue.feature.yml index 099dcdb5..213b62f9 100644 --- a/.github/ISSUE_TEMPLATE/issue.feature.yml +++ b/.github/ISSUE_TEMPLATE/issue.feature.yml @@ -4,28 +4,11 @@ description: Suggest an idea for this project title: "[FEAT] <title>" labels: [enhancement] body: - - type: checkboxes - attributes: - label: Is this a new feature request? - description: Please search to see if a feature request already exists. - options: - - label: I have searched the existing issues - required: true - - type: textarea - attributes: - label: Wanted change - description: Tell us what you want to happen. - validations: - required: true - - type: textarea - attributes: - label: Reason for change - description: Justify your request, why do you want it, what is the benefit. - validations: - required: true - - type: textarea - attributes: - label: Proposed code change - description: Do you have a potential code change in mind? - validations: - required: false + - type: markdown + attributes: + value: | +# DEPRECATION NOTICE +This image is deprecated. We will not offer support for this image and it will not be updated. + + +Please switch to the Alpine-based latest tag diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d9688a84..1b9ab140 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,8 @@ +# DEPRECATION NOTICE +This image is deprecated. We will not offer support for this image and it will not be updated. + + +Please switch to the Alpine-based latest tag <!--- Provide a general summary of your changes in the Title above --> [linuxserverurl]: https://linuxserver.io diff --git a/README.md b/README.md index 28a56d53..3c746af6 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,11 @@ Find us at: * [GitHub](https://github.com/linuxserver) - view the source for all of our repositories. * [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget +# DEPRECATION NOTICE +This image is deprecated. We will not offer support for this image and it will not be updated. + + +Please switch to the Alpine-based latest tag # [linuxserver/wireguard](https://github.com/linuxserver/docker-wireguard) [![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fwireguard?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh) @@ -390,6 +395,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **01.01.24:** - Deprecate legacy branch. * **03.10.23:** - **Potentially Breaking Change:** Support for multiple interfaces added. Wireguard confs moved to `/config/wg_confs/`. Any file with a `.conf` extension in that folder will be treated as a live tunnel config and will be attempted to start. If any of the tunnels fail, all tunnels will be stopped. Tunnels are started in alphabetical order. Managed server conf will continue to be hardcoded to `wg0.conf`. * **24.06.23:** - Deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf). * **26.04.23:** - Rework branches, swap alpine & ubuntu builds. diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end b/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end new file mode 100644 index 00000000..e69de29b diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/run b/root/etc/s6-overlay/s6-rc.d/init-deprecate/run new file mode 100755 index 00000000..e556f9af --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-deprecate/run @@ -0,0 +1,17 @@ +#!/usr/bin/with-contenv bash +# shellcheck shell=bash + +echo ' +╔════════════════════════════════════════════════════╗ +╠════════════════════════════════════════════════════╣ +║ ║ +║ This image is deprecated. ║ +║ We will not offer support for this image ║ +║ and it will not be updated. ║ +║ ║ +╠════════════════════════════════════════════════════╣ +╚════════════════════════════════════════════════════╝ + +Please switch to the Alpine-based latest tag + +══════════════════════════════════════════════════════' diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/type b/root/etc/s6-overlay/s6-rc.d/init-deprecate/type new file mode 100644 index 00000000..bdd22a18 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-deprecate/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-deprecate/up b/root/etc/s6-overlay/s6-rc.d/init-deprecate/up new file mode 100644 index 00000000..2c81bf33 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-deprecate/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-deprecate/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate b/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate new file mode 100644 index 00000000..e69de29b diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate new file mode 100644 index 00000000..e69de29b From c79ee7a2cc14f0f1f9031b1ca6155a642e7c0c72 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Wed, 1 Jan 2025 09:27:21 +0000 Subject: [PATCH 116/117] Bot Updating Templated Files --- readme-vars.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme-vars.yml b/readme-vars.yml index deaf7ba8..25436cbc 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -140,6 +140,7 @@ init_diagram: | init-wireguard-confs -> init-config-end init-os-end -> init-crontab-config init-mods-end -> init-custom-files + init-config-end -> init-deprecate base -> init-envfile base -> init-migrations base -> init-mods @@ -152,6 +153,7 @@ init_diagram: | init-envfile -> init-os-end init-migrations -> init-os-end init-custom-files -> init-services + init-deprecate -> init-services init-mods-end -> init-services init-wireguard-module -> init-wireguard-confs init-config -> init-wireguard-module From e2bbcadbac7a96233f323962f970b4274459edeb Mon Sep 17 00:00:00 2001 From: LinuxServer-CI <ci@linuxserver.io> Date: Wed, 1 Jan 2025 09:34:05 +0000 Subject: [PATCH 117/117] Disabling future builds --- Jenkinsfile | 1225 --------------------------------------------------- 1 file changed, 1225 deletions(-) delete mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 9feda349..00000000 --- a/Jenkinsfile +++ /dev/null @@ -1,1225 +0,0 @@ -pipeline { - agent { - label 'X86-64-MULTI' - } - options { - buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '60')) - parallelsAlwaysFailFast() - } - // Input to determine if this is a package check - parameters { - string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK') - } - // Configuration for the variables used for this specific repo - environment { - BUILDS_DISCORD=credentials('build_webhook_url') - GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab') - GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') - GITLAB_NAMESPACE=credentials('gitlab-namespace-id') - DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat') - QUAYIO_API_TOKEN=credentials('quayio-repo-api-token') - GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f') - CONTAINER_NAME = 'wireguard' - BUILD_VERSION_ARG = 'WIREGUARD_VERSION' - LS_USER = 'linuxserver' - LS_REPO = 'docker-wireguard' - DOCKERHUB_IMAGE = 'linuxserver/wireguard' - DEV_DOCKERHUB_IMAGE = 'lsiodev/wireguard' - PR_DOCKERHUB_IMAGE = 'lspipepr/wireguard' - DIST_IMAGE = 'ubuntu' - MULTIARCH='true' - CI='false' - CI_WEB='false' - CI_PORT='8080' - CI_SSL='false' - CI_DELAY='120' - CI_DOCKERENV='TZ=US/Pacific' - CI_AUTH='user:password' - CI_WEBPATH='' - } - stages { - stage("Set git config"){ - steps{ - sh '''#!/bin/bash - cat ${GIT_SIGNING_KEY} > /config/.ssh/id_sign - chmod 600 /config/.ssh/id_sign - ssh-keygen -y -f /config/.ssh/id_sign > /config/.ssh/id_sign.pub - echo "Using $(ssh-keygen -lf /config/.ssh/id_sign) to sign commits" - git config --global gpg.format ssh - git config --global user.signingkey /config/.ssh/id_sign - git config --global commit.gpgsign true - ''' - } - } - // Setup all the basic environment variables needed for the build - stage("Set ENV Variables base"){ - steps{ - echo "Running on node: ${NODE_NAME}" - sh '''#! /bin/bash - containers=$(docker ps -aq) - if [[ -n "${containers}" ]]; then - docker stop ${containers} - fi - docker system prune -af --volumes || : ''' - script{ - env.EXIT_STATUS = '' - env.LS_RELEASE = sh( - script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:legacy 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', - returnStdout: true).trim() - env.LS_RELEASE_NOTES = sh( - script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''', - returnStdout: true).trim() - env.GITHUB_DATE = sh( - script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''', - returnStdout: true).trim() - env.COMMIT_SHA = sh( - script: '''git rev-parse HEAD''', - returnStdout: true).trim() - env.GH_DEFAULT_BRANCH = sh( - script: '''git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||' ''', - returnStdout: true).trim() - env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT - env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' - env.PULL_REQUEST = env.CHANGE_ID - env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./root/donate.txt ./root/etc/s6-overlay/s6-rc.d/init-deprecate/run ./root/etc/s6-overlay/s6-rc.d/init-deprecate/up ./root/etc/s6-overlay/s6-rc.d/init-deprecate/type ./root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d/init-config-end ./root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-deprecate ./root/etc/s6-overlay/s6-rc.d/user/contents.d/init-deprecate' - } - sh '''#! /bin/bash - echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" ''' - script{ - env.LS_RELEASE_NUMBER = sh( - script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''', - returnStdout: true).trim() - } - script{ - env.LS_TAG_NUMBER = sh( - script: '''#! /bin/bash - tagsha=$(git rev-list -n 1 legacy-${LS_RELEASE} 2>/dev/null) - if [ "${tagsha}" == "${COMMIT_SHA}" ]; then - echo ${LS_RELEASE_NUMBER} - elif [ -z "${GIT_COMMIT}" ]; then - echo ${LS_RELEASE_NUMBER} - else - echo $((${LS_RELEASE_NUMBER} + 1)) - fi''', - returnStdout: true).trim() - } - } - } - /* ####################### - Package Version Tagging - ####################### */ - // Grab the current package versions in Git to determine package tag - stage("Set Package tag"){ - steps{ - script{ - env.PACKAGE_TAG = sh( - script: '''#!/bin/bash - if [ -e package_versions.txt ] ; then - cat package_versions.txt | md5sum | cut -c1-8 - else - echo none - fi''', - returnStdout: true).trim() - } - } - } - /* ######################## - External Release Tagging - ######################## */ - // If this is a custom command to determine version use that command - stage("Set tag custom bash"){ - steps{ - script{ - env.EXT_RELEASE = sh( - script: ''' curl -sX GET https://api.github.com/repos/WireGuard/wireguard-tools/tags | jq -r .[0].name ''', - returnStdout: true).trim() - env.RELEASE_LINK = 'custom_command' - } - } - } - // Sanitize the release tag and strip illegal docker or github characters - stage("Sanitize tag"){ - steps{ - script{ - env.EXT_RELEASE_CLEAN = sh( - script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/ ]//g' ''', - returnStdout: true).trim() - - def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/ - if (semver.find()) { - env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}" - } else { - semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)/ - if (semver.find()) { - if (semver[0][3]) { - env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}" - } else if (!semver[0][3] && !semver[0][4]) { - env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${(new Date()).format('YYYYMMdd')}" - } - } - } - - if (env.SEMVER != null) { - if (BRANCH_NAME != "${env.GH_DEFAULT_BRANCH}") { - env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}" - } - println("SEMVER: ${env.SEMVER}") - } else { - println("No SEMVER detected") - } - - } - } - } - // If this is a legacy build use live docker endpoints - stage("Set ENV live build"){ - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - } - steps { - script{ - env.IMAGE = env.DOCKERHUB_IMAGE - env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME - env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME - env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME - if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - } else { - env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - } - env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN - env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' - } - } - } - // If this is a dev build use dev docker endpoints - stage("Set ENV dev build"){ - when { - not {branch "legacy"} - environment name: 'CHANGE_ID', value: '' - } - steps { - script{ - env.IMAGE = env.DEV_DOCKERHUB_IMAGE - env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME - env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME - env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME - if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - } else { - env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - } - env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA - env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN - env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' - env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' - } - } - } - // If this is a pull request build use dev docker endpoints - stage("Set ENV PR build"){ - when { - not {environment name: 'CHANGE_ID', value: ''} - } - steps { - script{ - env.IMAGE = env.PR_DOCKERHUB_IMAGE - env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME - env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME - env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME - if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST - } else { - env.CI_TAGS = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST - } - env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST - env.META_TAG = 'legacy-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST - env.EXT_RELEASE_TAG = 'legacy-version-' + env.EXT_RELEASE_CLEAN - env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST - env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' - env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' - } - } - } - // Run ShellCheck - stage('ShellCheck') { - when { - environment name: 'CI', value: 'true' - } - steps { - withCredentials([ - string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'), - string(credentialsId: 'ci-tests-s3-secret-access-key', variable: 'S3_SECRET') - ]) { - script{ - env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml' - } - sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-jenkins-builder/master/checkrun.sh | /bin/bash''' - sh '''#! /bin/bash - docker run --rm \ - -v ${WORKSPACE}:/mnt \ - -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ - -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ - ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ - apk add --no-cache python3 && \ - python3 -m venv /lsiopy && \ - pip install --no-cache-dir -U pip && \ - pip install --no-cache-dir s3cmd && \ - s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :''' - } - } - } - // Use helper containers to render templated files - stage('Update-Templates') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - expression { - env.CONTAINER_NAME != null - } - } - steps { - sh '''#! /bin/bash - set -e - TEMPDIR=$(mktemp -d) - docker pull ghcr.io/linuxserver/jenkins-builder:latest - # Cloned repo paths for templating: - # ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch legacy of ${LS_USER}/${LS_REPO} for running the jenkins builder on - # ${TEMPDIR}/repo/${LS_REPO}: Cloned branch legacy of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github - # ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github - # ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos - # ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github - git clone --branch legacy --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME} - docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest - echo "Starting Stage 1 - Jenkinsfile update" - if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ - git add Jenkinsfile - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "Jenkinsfile is up to date." - fi - echo "Starting Stage 2 - Delete old templates" - OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml .github/workflows/package_trigger.yml" - OLD_TEMPLATES="${OLD_TEMPLATES} $(echo .github/workflows/{external_trigger,external_trigger_scheduler,package_trigger_scheduler,call_issue_pr_tracker,call_issues_cron}.yml)" - for i in ${OLD_TEMPLATES}; do - if [[ -f "${i}" ]]; then - TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" - fi - done - if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - for i in ${TEMPLATES_TO_DELETE}; do - git rm "${i}" - done - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "No templates to delete" - fi - echo "Starting Stage 2.5 - Update init diagram" - if ! grep -q 'init_diagram:' readme-vars.yml; then - echo "Adding the key 'init_diagram' to readme-vars.yml" - sed -i '\\|^#.*changelog.*$|d' readme-vars.yml - sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml - fi - mkdir -p ${TEMPDIR}/d2 - docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:legacy - ls -al ${TEMPDIR}/d2 - yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-legacy.d2\\")" readme-vars.yml - if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then - echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit." - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml - git add readme-vars.yml - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Updating templates and exiting build, new one will trigger based on commit" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Init diagram is unchanged" - fi - echo "Starting Stage 3 - Update templates" - CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) - cd ${TEMPDIR}/docker-${CONTAINER_NAME} - NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) - if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - cd ${TEMPDIR}/docker-${CONTAINER_NAME} - mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows - mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE - mkdir -p \ - ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/init-deprecate/dependencies.d \ - ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d \ - ${TEMPDIR}/repo/${LS_REPO}/root/etc/s6-overlay/s6-rc.d/user/contents.d - cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : - cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : - cd ${TEMPDIR}/repo/${LS_REPO}/ - if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then - echo ".jenkins-external" >> .gitignore - git add .gitignore - fi - git add readme-vars.yml ${TEMPLATED_FILES} - git commit -m 'Bot Updating Templated Files' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "Updating templates and exiting build, new one will trigger based on commit" - rm -Rf ${TEMPDIR} - exit 0 - else - echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} - echo "No templates to update" - fi - echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub" - mkdir -p ${TEMPDIR}/docs - git clone --depth=1 https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation - if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/ - cd ${TEMPDIR}/docs/docker-documentation - GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') - git add docs/images/docker-${CONTAINER_NAME}.md - echo "Updating docs repo" - git commit -m 'Bot Updating Documentation' - git mv docs/images/docker-${CONTAINER_NAME}.md docs/deprecated_images/docker-${CONTAINER_NAME}.md || : - if ! command -v yq || ! yq --help | grep -q 'mikefarah'; then - YQ_DL_VERSION=$(curl -fsX GET "https://api.github.com/repos/mikefarah/yq/releases/latest" | jq -r '. | .tag_name') - echo "No yq found, retrieving from upstream release version ${YQ_DL_VERSION}" - curl -fo /usr/local/bin/yq -L "https://github.com/mikefarah/yq/releases/download/${YQ_DL_VERSION}/yq_linux_amd64" - chmod +x /usr/local/bin/yq - fi - if ! yq -e '.plugins.[].redirects.redirect_maps.[] | select(. == "deprecated_images/docker-" + env(CONTAINER_NAME) + ".md")' mkdocs.yml >/dev/null 2>&1; then - echo "Updating mkdocs.yml with deprecation info" - yq -i '(.plugins.[] | select(.redirects)).redirects.redirect_maps |= . + {"images/docker-" + env(CONTAINER_NAME) + ".md" : "deprecated_images/docker-" + env(CONTAINER_NAME) + ".md"}' mkdocs.yml - git add mkdocs.yml - fi - git commit -m 'Bot Moving Deprecated Documentation' || : - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \ - (MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \ - sleep $((RANDOM % MAXWAIT)) && \ - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase && \ - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH}) - else - echo "Docs update not needed, skipping" - fi - mkdir -p ${TEMPDIR}/unraid - git clone --depth=1 https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates - git clone --depth=1 https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates - if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then - sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml - elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then - sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml - fi - if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then - echo "Updating Unraid template" - cd ${TEMPDIR}/unraid/templates/ - GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||') - if ! grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - echo "${CONTAINER_NAME}" >> ${TEMPDIR}/unraid/templates/unraid/ignore.list - git add unraid/ignore.list - fi - if grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then - echo "Image is on the ignore list, and already in the deprecation folder." - elif grep -wq "^${CONTAINER_NAME}$" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - echo "Image is on the ignore list, marking Unraid template as deprecated" - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add -u unraid/${CONTAINER_NAME}.xml - git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : - git commit -m 'Bot Moving Deprecated Unraid Template' || : - else - cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ - git add unraid/${CONTAINER_NAME}.xml - git commit -m 'Bot Updating Unraid Template' - fi - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \ - (MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \ - sleep $((RANDOM % MAXWAIT)) && \ - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \ - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH}) - else - echo "No updates to Unraid template needed, skipping" - fi - if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then - if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) -gt 25000 ]]; then - echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub" - DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite" - else - echo "Syncing readme to Docker Hub" - DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md" - fi - if curl -s https://hub.docker.com/v2/namespaces/${DOCKERHUB_IMAGE%%/*}/repositories/${DOCKERHUB_IMAGE##*/}/tags | jq -r '.message' | grep -q 404; then - echo "Docker Hub endpoint doesn't exist. Creating endpoint first." - DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') - curl -s \ - -H "Authorization: JWT ${DH_TOKEN}" \ - -H "Content-Type: application/json" \ - -X POST \ - -d '{"name":"'${DOCKERHUB_IMAGE##*/}'", "namespace":"'${DOCKERHUB_IMAGE%%/*}'"}' \ - https://hub.docker.com/v2/repositories/ || : - fi - DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token') - curl -s \ - -H "Authorization: JWT ${DH_TOKEN}" \ - -H "Content-Type: application/json" \ - -X PATCH \ - -d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \ - https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || : - else - echo "Not the default Github branch. Skipping readme sync to Docker Hub." - fi - rm -Rf ${TEMPDIR}''' - script{ - env.FILES_UPDATED = sh( - script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''', - returnStdout: true).trim() - } - } - } - // Exit the build if the Templated files were just updated - stage('Template-exit') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'FILES_UPDATED', value: 'true' - expression { - env.CONTAINER_NAME != null - } - } - steps { - script{ - env.EXIT_STATUS = 'ABORTED' - } - } - } - // If this is a legacy build check the S6 service file perms - stage("Check S6 Service file Permissions"){ - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'EXIT_STATUS', value: '' - } - steps { - script{ - sh '''#! /bin/bash - WRONG_PERM=$(find ./ -path "./.git" -prune -o \\( -name "run" -o -name "finish" -o -name "check" \\) -not -perm -u=x,g=x,o=x -print) - if [[ -n "${WRONG_PERM}" ]]; then - echo "The following S6 service files are missing the executable bit; canceling the faulty build: ${WRONG_PERM}" - exit 1 - else - echo "S6 service file perms look good." - fi ''' - } - } - } - /* ####################### - GitLab Mirroring and Quay.io Repo Visibility - ####################### */ - // Ping into Gitlab to mirror this repo and have a registry endpoint & mark this repo on Quay.io as public - stage("GitLab Mirror and Quay.io Visibility"){ - when { - environment name: 'EXIT_STATUS', value: '' - } - steps{ - sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \ - -d '{"namespace_id":'${GITLAB_NAMESPACE}',\ - "name":"'${LS_REPO}'", - "mirror":true,\ - "import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\ - "issues_access_level":"disabled",\ - "merge_requests_access_level":"disabled",\ - "repository_access_level":"enabled",\ - "visibility":"public"}' ''' - sh '''curl -H "Private-Token: ${GITLAB_TOKEN}" -X PUT "https://gitlab.com/api/v4/projects/Linuxserver.io%2F${LS_REPO}" \ - -d "mirror=true&import_url=https://github.com/linuxserver/${LS_REPO}.git" ''' - sh '''curl -H "Content-Type: application/json" -H "Authorization: Bearer ${QUAYIO_API_TOKEN}" -X POST "https://quay.io/api/v1/repository${QUAYIMAGE/quay.io/}/changevisibility" \ - -d '{"visibility":"public"}' ||: ''' - } - } - /* ############### - Build Container - ############### */ - // Build Docker container for push to LS Repo - stage('Build-Single') { - when { - expression { - env.MULTIARCH == 'false' || params.PACKAGE_CHECK == 'true' - } - environment name: 'EXIT_STATUS', value: '' - } - steps { - echo "Running on node: ${NODE_NAME}" - sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile" - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-wireguard/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-wireguard\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-wireguard\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Wireguard\" \ - --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ - --no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \ - --provenance=true --sbom=true --builder=container --load \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh '''#! /bin/bash - set -e - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - docker tag ${IMAGE}:${META_TAG} ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} - done - ''' - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: 'Quay.io-Robot', - usernameVariable: 'QUAYUSER', - passwordVariable: 'QUAYPASS' - ] - ]) { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin - echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin - if [[ "${PACKAGE_CHECK}" != "true" ]]; then - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & - done - for p in $(jobs -p); do - wait "$p" || { echo "job $p failed" >&2; exit 1; } - done - fi - ''' - } - } - } - } - // Build MultiArch Docker containers for push to LS Repo - stage('Build-Multi') { - when { - allOf { - environment name: 'MULTIARCH', value: 'true' - expression { params.PACKAGE_CHECK == 'false' } - } - environment name: 'EXIT_STATUS', value: '' - } - parallel { - stage('Build X86') { - steps { - echo "Running on node: ${NODE_NAME}" - sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile" - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-wireguard/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-wireguard\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-wireguard\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Wireguard\" \ - --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ - --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \ - --provenance=true --sbom=true --builder=container --load \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh '''#! /bin/bash - set -e - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - docker tag ${IMAGE}:amd64-${META_TAG} ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} - done - ''' - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: 'Quay.io-Robot', - usernameVariable: 'QUAYUSER', - passwordVariable: 'QUAYPASS' - ] - ]) { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin - echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin - if [[ "${PACKAGE_CHECK}" != "true" ]]; then - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & - done - for p in $(jobs -p); do - wait "$p" || { echo "job $p failed" >&2; exit 1; } - done - fi - ''' - } - } - } - } - stage('Build ARM64') { - agent { - label 'ARM64' - } - steps { - echo "Running on node: ${NODE_NAME}" - sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64" - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-wireguard/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-wireguard\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-wireguard\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Wireguard\" \ - --label \"org.opencontainers.image.description=[WireGuard®](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.\" \ - --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \ - --provenance=true --sbom=true --builder=container --load \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh '''#! /bin/bash - set -e - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - docker tag ${IMAGE}:arm64v8-${META_TAG} ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - done - ''' - withCredentials([ - [ - $class: 'UsernamePasswordMultiBinding', - credentialsId: 'Quay.io-Robot', - usernameVariable: 'QUAYUSER', - passwordVariable: 'QUAYPASS' - ] - ]) { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin - echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin - if [[ "${PACKAGE_CHECK}" != "true" ]]; then - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} & - done - for p in $(jobs -p); do - wait "$p" || { echo "job $p failed" >&2; exit 1; } - done - fi - ''' - } - } - sh '''#! /bin/bash - containers=$(docker ps -aq) - if [[ -n "${containers}" ]]; then - docker stop ${containers} - fi - docker system prune -af --volumes || : - ''' - } - } - } - } - // Take the image we just built and dump package versions for comparison - stage('Update-packages') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'EXIT_STATUS', value: '' - } - steps { - sh '''#! /bin/bash - set -e - TEMPDIR=$(mktemp -d) - if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" != "true" ]; then - LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG} - else - LOCAL_CONTAINER=${IMAGE}:${META_TAG} - fi - touch ${TEMPDIR}/package_versions.txt - docker run --rm \ - -v /var/run/docker.sock:/var/run/docker.sock:ro \ - -v ${TEMPDIR}:/tmp \ - ghcr.io/anchore/syft:latest \ - ${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt - NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 ) - echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github" - if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO} - git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f legacy - cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/ - cd ${TEMPDIR}/${LS_REPO}/ - wait - git add package_versions.txt - git commit -m 'Bot Updating Package Versions' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER} - echo "Package tag updated, stopping build process" - else - echo "false" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER} - echo "Package tag is same as previous continue with build process" - fi - rm -Rf ${TEMPDIR}''' - script{ - env.PACKAGE_UPDATED = sh( - script: '''cat /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}''', - returnStdout: true).trim() - } - } - } - // Exit the build if the package file was just updated - stage('PACKAGE-exit') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'PACKAGE_UPDATED', value: 'true' - environment name: 'EXIT_STATUS', value: '' - } - steps { - script{ - env.EXIT_STATUS = 'ABORTED' - } - } - } - // Exit the build if this is just a package check and there are no changes to push - stage('PACKAGECHECK-exit') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'PACKAGE_UPDATED', value: 'false' - environment name: 'EXIT_STATUS', value: '' - expression { - params.PACKAGE_CHECK == 'true' - } - } - steps { - script{ - env.EXIT_STATUS = 'ABORTED' - } - } - } - /* ####### - Testing - ####### */ - // Run Container tests - stage('Test') { - when { - environment name: 'CI', value: 'true' - environment name: 'EXIT_STATUS', value: '' - } - steps { - withCredentials([ - string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'), - string(credentialsId: 'ci-tests-s3-secret-access-key ', variable: 'S3_SECRET') - ]) { - script{ - env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html' - env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json' - } - sh '''#! /bin/bash - set -e - if grep -q 'docker-baseimage' <<< "${LS_REPO}"; then - echo "Detected baseimage, setting LSIO_FIRST_PARTY=true" - if [ -n "${CI_DOCKERENV}" ]; then - CI_DOCKERENV="LSIO_FIRST_PARTY=true|${CI_DOCKERENV}" - else - CI_DOCKERENV="LSIO_FIRST_PARTY=true" - fi - fi - docker pull ghcr.io/linuxserver/ci:latest - if [ "${MULTIARCH}" == "true" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} - fi - docker run --rm \ - --shm-size=1gb \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -e IMAGE=\"${IMAGE}\" \ - -e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \ - -e TAGS=\"${CI_TAGS}\" \ - -e META_TAG=\"${META_TAG}\" \ - -e RELEASE_TAG=\"legacy\" \ - -e PORT=\"${CI_PORT}\" \ - -e SSL=\"${CI_SSL}\" \ - -e BASE=\"${DIST_IMAGE}\" \ - -e SECRET_KEY=\"${S3_SECRET}\" \ - -e ACCESS_KEY=\"${S3_KEY}\" \ - -e DOCKER_ENV=\"${CI_DOCKERENV}\" \ - -e WEB_SCREENSHOT=\"${CI_WEB}\" \ - -e WEB_AUTH=\"${CI_AUTH}\" \ - -e WEB_PATH=\"${CI_WEBPATH}\" \ - -e NODE_NAME=\"${NODE_NAME}\" \ - -t ghcr.io/linuxserver/ci:latest \ - python3 test_build.py''' - } - } - } - /* ################## - Release Logic - ################## */ - // If this is an amd64 only image only push a single image - stage('Docker-Push-Single') { - when { - environment name: 'MULTIARCH', value: 'false' - environment name: 'EXIT_STATUS', value: '' - } - steps { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - for PUSHIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do - [[ ${PUSHIMAGE%%/*} =~ \\. ]] && PUSHIMAGEPLUS="${PUSHIMAGE}" || PUSHIMAGEPLUS="docker.io/${PUSHIMAGE}" - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - if [[ "${PUSHIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then - CACHEIMAGE=${i} - fi - done - docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:legacy -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} - if [ -n "${SEMVER}" ]; then - docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} - fi - docker buildx imagetools create -t ${PUSHIMAGE}:legacy ghcr.io/linuxserver/jenkins-builder:empty || true - done - ''' - } - } - } - // If this is a multi arch release push all images and define the manifest - stage('Docker-Push-Multi') { - when { - environment name: 'MULTIARCH', value: 'true' - environment name: 'EXIT_STATUS', value: '' - } - steps { - retry_backoff(5,5) { - sh '''#! /bin/bash - set -e - for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do - [[ ${MANIFESTIMAGE%%/*} =~ \\. ]] && MANIFESTIMAGEPLUS="${MANIFESTIMAGE}" || MANIFESTIMAGEPLUS="docker.io/${MANIFESTIMAGE}" - IFS=',' read -ra CACHE <<< "$BUILDCACHE" - for i in "${CACHE[@]}"; do - if [[ "${MANIFESTIMAGEPLUS}" == "$(cut -d "/" -f1 <<< ${i})"* ]]; then - CACHEIMAGE=${i} - fi - done - docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-legacy -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} - docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-legacy -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - if [ -n "${SEMVER}" ]; then - docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} - docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - fi - done - for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do - docker buildx imagetools create -t ${MANIFESTIMAGE}:legacy -t ${MANIFESTIMAGE}:amd64-legacy -t ${MANIFESTIMAGE}:arm64v8-legacy ghcr.io/linuxserver/jenkins-builder:empty || true - docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - - docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - if [ -n "${SEMVER}" ]; then - docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - fi - done - ''' - } - } - } - // If this is a public release tag it in the LS Github - stage('Github-Tag-Push-Release') { - when { - branch "legacy" - expression { - env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER - } - environment name: 'CHANGE_ID', value: '' - environment name: 'EXIT_STATUS', value: '' - } - steps { - echo "Pushing New tag for current commit ${META_TAG}" - sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ - -d '{"tag":"'${META_TAG}'",\ - "object": "'${COMMIT_SHA}'",\ - "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to legacy",\ - "type": "commit",\ - "tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' - echo "Pushing New release for Tag" - sh '''#! /bin/bash - echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json - echo '{"tag_name":"'${META_TAG}'",\ - "target_commitish": "legacy",\ - "name": "'${META_TAG}'",\ - "body": "**CI Report:**\\n\\n'${CI_URL:-N/A}'\\n\\n**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start - printf '","draft": false,"prerelease": true}' >> releasebody.json - paste -d'\\0' start releasebody.json > releasebody.json.done - curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' - } - } - // Add protection to the release branch - stage('Github-Release-Branch-Protection') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'EXIT_STATUS', value: '' - } - steps { - echo "Setting up protection for release branch legacy" - sh '''#! /bin/bash - curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/legacy/protection \ - -d $(jq -c . << EOF - { - "required_status_checks": null, - "enforce_admins": false, - "required_pull_request_reviews": { - "dismiss_stale_reviews": false, - "require_code_owner_reviews": false, - "require_last_push_approval": false, - "required_approving_review_count": 1 - }, - "restrictions": null, - "required_linear_history": false, - "allow_force_pushes": false, - "allow_deletions": false, - "block_creations": false, - "required_conversation_resolution": true, - "lock_branch": false, - "allow_fork_syncing": false, - "required_signatures": false - } -EOF - ) ''' - } - } - // If this is a Pull request send the CI link as a comment on it - stage('Pull Request Comment') { - when { - not {environment name: 'CHANGE_ID', value: ''} - environment name: 'EXIT_STATUS', value: '' - } - steps { - sh '''#! /bin/bash - # Function to retrieve JSON data from URL - get_json() { - local url="$1" - local response=$(curl -s "$url") - if [ $? -ne 0 ]; then - echo "Failed to retrieve JSON data from $url" - return 1 - fi - local json=$(echo "$response" | jq .) - if [ $? -ne 0 ]; then - echo "Failed to parse JSON data from $url" - return 1 - fi - echo "$json" - } - - build_table() { - local data="$1" - - # Get the keys in the JSON data - local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]') - - # Check if keys are empty - if [ -z "$keys" ]; then - echo "JSON report data does not contain any keys or the report does not exist." - return 1 - fi - - # Build table header - local header="| Tag | Passed |\\n| --- | --- |\\n" - - # Loop through the JSON data to build the table rows - local rows="" - for build in $keys; do - local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success") - if [ "$status" = "true" ]; then - status="✅" - else - status="❌" - fi - local row="| "$build" | "$status" |\\n" - rows="${rows}${row}" - done - - local table="${header}${rows}" - local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g') - echo "$escaped_table" - } - - if [[ "${CI}" = "true" ]]; then - # Retrieve JSON data from URL - data=$(get_json "$CI_JSON_URL") - # Create table from JSON data - table=$(build_table "$data") - echo -e "$table" - - curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ - -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}" - else - curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ - -d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}" - fi - ''' - - } - } - stage('Deprecate/Disable Future Builds') { - when { - branch "legacy" - environment name: 'CHANGE_ID', value: '' - environment name: 'EXIT_STATUS', value: '' - } - steps { - sh '''#! /bin/bash - TEMPDIR=$(mktemp -d) - mkdir -p ${TEMPDIR}/repo - git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} - cd ${TEMPDIR}/repo/${LS_REPO} - git checkout -f legacy - git rm Jenkinsfile - git commit -m 'Disabling future builds' - git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git legacy - rm -Rf ${TEMPDIR}''' - } - } - } - /* ###################### - Send status to Discord - ###################### */ - post { - always { - sh '''#!/bin/bash - rm -rf /config/.ssh/id_sign - rm -rf /config/.ssh/id_sign.pub - git config --global --unset gpg.format - git config --global --unset user.signingkey - git config --global --unset commit.gpgsign - ''' - script{ - env.JOB_DATE = sh( - script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''', - returnStdout: true).trim() - if (env.EXIT_STATUS == "ABORTED"){ - sh 'echo "build aborted"' - }else{ - if (currentBuild.currentResult == "SUCCESS"){ - if (env.GITHUBIMAGE =~ /lspipepr/){ - env.JOB_WEBHOOK_STATUS='Success' - env.JOB_WEBHOOK_COLOUR=3957028 - env.JOB_WEBHOOK_FOOTER='PR Build' - }else if (env.GITHUBIMAGE =~ /lsiodev/){ - env.JOB_WEBHOOK_STATUS='Success' - env.JOB_WEBHOOK_COLOUR=3957028 - env.JOB_WEBHOOK_FOOTER='Dev Build' - }else{ - env.JOB_WEBHOOK_STATUS='Success' - env.JOB_WEBHOOK_COLOUR=1681177 - env.JOB_WEBHOOK_FOOTER='Live Build' - } - }else{ - if (env.GITHUBIMAGE =~ /lspipepr/){ - env.JOB_WEBHOOK_STATUS='Failure' - env.JOB_WEBHOOK_COLOUR=12669523 - env.JOB_WEBHOOK_FOOTER='PR Build' - }else if (env.GITHUBIMAGE =~ /lsiodev/){ - env.JOB_WEBHOOK_STATUS='Failure' - env.JOB_WEBHOOK_COLOUR=12669523 - env.JOB_WEBHOOK_FOOTER='Dev Build' - }else{ - env.JOB_WEBHOOK_STATUS='Failure' - env.JOB_WEBHOOK_COLOUR=16711680 - env.JOB_WEBHOOK_FOOTER='Live Build' - } - } - sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"'color'": '${JOB_WEBHOOK_COLOUR}',\ - "footer": {"text" : "'"${JOB_WEBHOOK_FOOTER}"'"},\ - "timestamp": "'${JOB_DATE}'",\ - "description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** '${JOB_WEBHOOK_STATUS}'\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\ - "username": "Jenkins"}' ${BUILDS_DISCORD} ''' - } - } - } - cleanup { - sh '''#! /bin/bash - echo "Performing docker system prune!!" - containers=$(docker ps -aq) - if [[ -n "${containers}" ]]; then - docker stop ${containers} - fi - docker system prune -af --volumes || : - ''' - cleanWs() - } - } -} - -def retry_backoff(int max_attempts, int power_base, Closure c) { - int n = 0 - while (n < max_attempts) { - try { - c() - return - } catch (err) { - if ((n + 1) >= max_attempts) { - throw err - } - sleep(power_base ** n) - n++ - } - } - return -}