mirror of
https://github.com/dangeroustech/ZeroTierBridge.git
synced 2025-12-06 09:06:58 +00:00
Compare commits
29 Commits
v1.0.10
...
fbdc16952c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fbdc16952c | ||
|
|
704859e91a | ||
|
|
63e3bea752 | ||
|
|
fdd8bbbdda | ||
| 546eeac920 | |||
|
|
ffea17e8e8 | ||
| b144c39680 | |||
| a48a9286a2 | |||
| 511a78b182 | |||
| 2d7d9c7f3b | |||
| 46ee60cbc9 | |||
| bca9ec3df7 | |||
| 5cd683cb7a | |||
| 8d550748cd | |||
| f8d73263fd | |||
| 2c987a3bbe | |||
| be55349cef | |||
| 593036c8ad | |||
|
|
74c33dff3e | ||
| aab5c079dc | |||
|
|
344e30a1f0 | ||
| d3f10891c8 | |||
|
|
7eb72f78f3 | ||
| 6e3c2690fc | |||
|
|
b651c5f8e9 | ||
| 9908f656e7 | |||
| 977df48644 | |||
| fed1c28602 | |||
| b5e79ae24d |
108
.github/workflows/docker-build.yml
vendored
108
.github/workflows/docker-build.yml
vendored
@@ -1,14 +1,38 @@
|
|||||||
name: Publish Docker Image
|
name: Publish Docker Image
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
checks: read
|
||||||
|
contents: write
|
||||||
|
deployments: read
|
||||||
|
issues: read
|
||||||
|
discussions: read
|
||||||
|
packages: read
|
||||||
|
pages: read
|
||||||
|
pull-requests: read
|
||||||
|
repository-projects: read
|
||||||
|
security-events: write
|
||||||
|
statuses: read
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- "main"
|
- main
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY_IMAGE: registry.dangerous.tech/dangeroustech/zerotierbridge
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
DockerBuildAndRelease:
|
Docker_Build:
|
||||||
|
name: Docker Build And Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: true
|
||||||
|
matrix:
|
||||||
|
arch: [amd64, arm64]
|
||||||
|
version: [1.12.2]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -20,20 +44,81 @@ jobs:
|
|||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: Login to Registry
|
- name: Login to Registry
|
||||||
id: registry_push
|
id: login
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: registry.dangerous.tech
|
registry: registry.dangerous.tech
|
||||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build
|
||||||
id: docker_build
|
id: docker_build
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
|
build-args: |
|
||||||
|
ARCH=${{ matrix.arch }}
|
||||||
|
VERSION=${{ matrix.version }}
|
||||||
push: true
|
push: true
|
||||||
tags: registry.dangerous.tech/dangeroustech/zerotierbridge:latest
|
platforms: linux/${{ matrix.arch }}
|
||||||
|
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true
|
||||||
|
|
||||||
|
- name: Export Digests
|
||||||
|
run: |
|
||||||
|
mkdir -p /tmp/digests
|
||||||
|
digest="${{ steps.docker_build.outputs.digest }}"
|
||||||
|
touch "/tmp/digests/${digest#sha256:}"
|
||||||
|
|
||||||
|
- name: Upload digest
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: digests
|
||||||
|
path: /tmp/digests/*
|
||||||
|
if-no-files-found: error
|
||||||
|
retention-days: 1
|
||||||
|
|
||||||
|
MergeRefs:
|
||||||
|
name: Do The Horrible Merge Thing
|
||||||
|
if: github.ref == 'refs/heads/main'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- Docker_Build
|
||||||
|
steps:
|
||||||
|
- name: Download digests
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: digests
|
||||||
|
path: /tmp/digests
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Registry
|
||||||
|
id: login
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: registry.dangerous.tech
|
||||||
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Docker meta
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
|
with:
|
||||||
|
images: ${{ env.REGISTRY_IMAGE }}
|
||||||
|
tags: |
|
||||||
|
# set latest tag for default branch
|
||||||
|
# https://github.com/docker/metadata-action#latest-tag
|
||||||
|
type=raw,value=latest,enable={{is_default_branch}}
|
||||||
|
|
||||||
|
- name: Create manifest list and push
|
||||||
|
working-directory: /tmp/digests
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||||
|
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
|
||||||
|
- name: Inspect image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
|
||||||
|
|
||||||
- name: Generate SBOM
|
- name: Generate SBOM
|
||||||
uses: anchore/sbom-action@v0
|
uses: anchore/sbom-action@v0
|
||||||
@@ -50,23 +135,28 @@ jobs:
|
|||||||
id: scan
|
id: scan
|
||||||
with:
|
with:
|
||||||
sbom: sbom.spdx.json
|
sbom: sbom.spdx.json
|
||||||
|
severity-cutoff: medium
|
||||||
fail-build: false
|
fail-build: false
|
||||||
|
only-fixed: true
|
||||||
|
|
||||||
- name: upload Anchore scan SARIF report
|
- name: upload Anchore scan SARIF report
|
||||||
uses: github/codeql-action/upload-sarif@v2
|
uses: github/codeql-action/upload-sarif@v2
|
||||||
with:
|
with:
|
||||||
sarif_file: ${{ steps.scan.outputs.sarif }}
|
sarif_file: ${{ steps.scan.outputs.sarif }}
|
||||||
|
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Changelog
|
- name: Changelog
|
||||||
uses: TriPSs/conventional-changelog-action@v3
|
uses: TriPSs/conventional-changelog-action@v3
|
||||||
id: changelog
|
id: changelog
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
git-message: "chore 🤖: Release {version} [skip ci]"
|
git-message: "chore 🤖: Release {version}"
|
||||||
output-file: "CHANGELOG.md"
|
output-file: CHANGELOG.md
|
||||||
tag-prefix: "v"
|
tag-prefix: v
|
||||||
fallback-version: "1.0.0"
|
fallback-version: 1.0.0
|
||||||
release-count: 0 # preserve all versions in changelog
|
release-count: 0 # preserve all versions in changelog
|
||||||
skip-on-empty: false # otherwise we don't publish fixes
|
skip-on-empty: false # otherwise we don't publish fixes
|
||||||
|
|
||||||
|
|||||||
48
CHANGELOG.md
48
CHANGELOG.md
@@ -1,3 +1,51 @@
|
|||||||
|
## [1.1.1](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.1.0...v1.1.1) (2023-10-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* 401 ([bca9ec3](https://github.com/dangeroustech/ZeroTierBridge/commit/bca9ec3df76f9c6ea114e099dd9317c58489d0b2))
|
||||||
|
* correct deps ([be55349](https://github.com/dangeroustech/ZeroTierBridge/commit/be55349cefbf291a9ce4233e65a785dad4ec3830))
|
||||||
|
* correct multiplatform builds ([593036c](https://github.com/dangeroustech/ZeroTierBridge/commit/593036c8ad8099a3a4e7b1ac9b1dcfbdb8e04a98))
|
||||||
|
* push by digest again ([8d55074](https://github.com/dangeroustech/ZeroTierBridge/commit/8d550748cde552ef5552e02770842d4e91f99253))
|
||||||
|
* push by digest is breaking things ([2c987a3](https://github.com/dangeroustech/ZeroTierBridge/commit/2c987a3bbe0492aaf22b26e446cb7d96a6c9115d))
|
||||||
|
* re-setup buildx ([f8d7326](https://github.com/dangeroustech/ZeroTierBridge/commit/f8d73263fdfd328ad38a77ff381e93bd8bda5750))
|
||||||
|
* remove tag to hopefully fix digest pushing ([5cd683c](https://github.com/dangeroustech/ZeroTierBridge/commit/5cd683cb7a83e37eb5b4717309d672f35b256c25))
|
||||||
|
* set latest tag ([46ee60c](https://github.com/dangeroustech/ZeroTierBridge/commit/46ee60cbc9091e93f977701a771ba9ce0216e5d1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# [1.1.0](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.13...v1.1.0) (2023-09-23)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* multi-platform builds ([aab5c07](https://github.com/dangeroustech/ZeroTierBridge/commit/aab5c079dcd559b7c3123aa72d02f7691827083e))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [1.0.13](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.12...v1.0.13) (2023-09-22)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [1.0.12](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.11...v1.0.12) (2023-09-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* correct double message ([6e3c269](https://github.com/dangeroustech/ZeroTierBridge/commit/6e3c2690fc612e42c1d2818cc8d4bdfb9d5e39ba))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [1.0.11](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.10...v1.0.11) (2023-09-22)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* only alert on CVEs that have a fix ([977df48](https://github.com/dangeroustech/ZeroTierBridge/commit/977df48644e0a7112dc25f9f04afa6d84ce87db9))
|
||||||
|
* pull correct deb package ([fed1c28](https://github.com/dangeroustech/ZeroTierBridge/commit/fed1c2860230d39aeb80178c79697c1c41fed23d))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [1.0.10](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.9...v1.0.10) (2023-09-22)
|
## [1.0.10](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.9...v1.0.10) (2023-09-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
FROM debian:buster as stage
|
FROM debian:bookworm as stage
|
||||||
ARG PACKAGE_BASEURL=https://download.zerotier.com/debian/buster/pool/main/z/zerotier-one
|
ARG PACKAGE_BASEURL=https://download.zerotier.com/debian/bookworm/pool/main/z/zerotier-one
|
||||||
ARG ARCH=amd64
|
ARG ARCH=amd64
|
||||||
ARG VERSION=1.12.2
|
ARG VERSION=1.12.2
|
||||||
RUN apt-get update -qq && apt-get install -qq --no-install-recommends -y ca-certificates curl
|
RUN apt-get update -qq && apt-get install -qq --no-install-recommends -y ca-certificates curl
|
||||||
RUN curl -sSL -o zerotier-one.deb "${PACKAGE_BASEURL}/zerotier-one_${VERSION}_${ARCH}.deb"
|
RUN curl -sSL -o zerotier-one.deb "${PACKAGE_BASEURL}/zerotier-one_${VERSION}_${ARCH}.deb"
|
||||||
|
|
||||||
FROM debian:buster
|
FROM debian:bookworm
|
||||||
RUN mkdir /app
|
RUN mkdir /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=stage zerotier-one.deb .
|
COPY --from=stage zerotier-one.deb .
|
||||||
|
|||||||
@@ -42,14 +42,10 @@ Disable bridging by passing `ZT_BRIDGE=false`. This can be done after the initia
|
|||||||
|
|
||||||
If you would like the container to retain the same ZeroTier client ID on reboot, attach a volume as per the below.
|
If you would like the container to retain the same ZeroTier client ID on reboot, attach a volume as per the below.
|
||||||
|
|
||||||
`docker run --privileged -e ZT_NETWORKS=NETWORK_ID_HERE ZT_BRIDGE=true --volume zt1:/var/lib/zerotier-one/ zerotierbridge:latest`
|
`docker run --privileged -e ZT_NETWORKS=NETWORK_ID_HERE ZT_BRIDGE=true --volume zt_config:/var/lib/zerotier-one/ zerotierbridge:latest`
|
||||||
|
|
||||||
#### Caveat: Architecture
|
#### Caveat: Architecture
|
||||||
|
|
||||||
If you need to run this on a device with different architecture (a raspberry pi, for instance), then just edit line 3 of the Dockerfile.
|
If you need to run this on a device with different architecture (a raspberry pi, for instance), then just edit line 3 of the Dockerfile.
|
||||||
|
|
||||||
If you were using a Raspberry Pi 4, you would change this to `ARCH=arm64` and the container will pull the correct ZeroTier installer.
|
If you were using a Raspberry Pi 4, you would change this to `ARCH=arm64` and the container will pull the correct ZeroTier installer.
|
||||||
|
|
||||||
## TODO
|
|
||||||
|
|
||||||
- Add kubernetes deployment YAML
|
|
||||||
|
|||||||
@@ -3,12 +3,7 @@ version: "3"
|
|||||||
services:
|
services:
|
||||||
zerotierbridge:
|
zerotierbridge:
|
||||||
container_name: zerotierbridge
|
container_name: zerotierbridge
|
||||||
build:
|
image: registry.dangerous.tech/dangeroustech/zerotierbridge
|
||||||
context: .
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
args:
|
|
||||||
ARCH: amd64
|
|
||||||
VERSION: 1.12.2
|
|
||||||
restart: always
|
restart: always
|
||||||
privileged: true
|
privileged: true
|
||||||
volumes:
|
volumes:
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "1.0.10"
|
"version": "1.1.1"
|
||||||
}
|
}
|
||||||
6871
results.sarif
6871
results.sarif
File diff suppressed because it is too large
Load Diff
64834
sbom.spdx.json
64834
sbom.spdx.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user