From 494fdde17d28ced174a8c6f4ad2ba9116a55dada Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 09:19:04 -0500 Subject: [PATCH 01/11] add goreleaser config to support building deps, rpm and docker images --- .goreleaser.yaml | 148 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 .goreleaser.yaml diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 00000000..074b921c --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,148 @@ +# .goreleaser.yaml +builds: + - env: + - CGO_ENABLED=0 + binary: unpoller + goos: + - linux + goarch: + - amd64 + - arm64 + - arm +dockers: + - # amd64 + image_templates: + - "unpoller/unpoller:latest-amd64" + - "unpoller/unpoller:{{ .Tag }}-amd64" + - "unpoller/unpoller:{{ .Tag }}-{{ .Env.GO_VERSION }}-amd64" + - "unpoller/unpoller:v{{ .Major }}-amd64" + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" + - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" + - "--label=org.opencontainers.image.url='https://unpoller.com'" + - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.vendor=unpoller" + - "--label=org.opencontainers.image.licenses=MIT" + - "--platform=linux/amd64" + push_flags: + - --tls-verify=false + - # arm64 + image_templates: + - "unpoller/unpoller:latest-arm64v8" + - "unpoller/unpoller:{{ .Tag }}-arm64v8" + - "unpoller/unpoller:{{ .Tag }}-{{ .Env.GO_VERSION }}-arm64v8" + - "unpoller/unpoller:v{{ .Major }}-arm64v8" + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" + - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" + - "--label=org.opencontainers.image.url='https://unpoller.com'" + - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.vendor=unpoller" + - "--label=org.opencontainers.image.licenses=MIT" + - "--platform=linux/arm64" + push_flags: + - --tls-verify=false + - # armv7 + image_templates: + - "unpoller/unpoller:latest-armv7" + - "unpoller/unpoller:{{ .Tag }}-armv7" + - "unpoller/unpoller:{{ .Tag }}-{{ .Env.GO_VERSION }}-armv7" + - "unpoller/unpoller:v{{ .Major }}-armv7" + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" + - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" + - "--label=org.opencontainers.image.url='https://unpoller.com'" + - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.vendor=unpoller" + - "--label=org.opencontainers.image.licenses=MIT" + - "--platform=linux/arm/v7" + push_flags: + - --tls-verify=false +docker_manifests: + - name_template: unpoller/unpoller:{{ .Version }} + image_templates: + - unpoller/unpoller:{{ .Version }}-amd64 + - unpoller/unpoller:{{ .Version }}-arm64v8 + - unpoller/unpoller:{{ .Version }}-armv7 + +nfpms: + - + # ID of the nfpm config, must be unique. + # Defaults to "default". + id: foo + + # Build IDs for the builds you want to create NFPM packages for. + # Defaults empty, which means no filtering. + builds: + - foo + - bar + + # Replacements for GOOS and GOARCH in the package name. + # Keys should be valid GOOSs or GOARCHs. + # Values are the respective replacements. + # Default is empty. + replacements: + amd64: 64-bit + 386: 32-bit + darwin: macOS + linux: Tux + + vendor: unpoller + homepage: https://unpoller.com/ + maintainer: unpoller.com + description: Telemetry and Observability for your UniFi Network + license: MIT + formats: + - apk + - deb + - rpm + - termux.deb # Since GoReleaser v1.11. + - archlinux + + provides: + - unpoller + bindir: /usr/bin + version_metadata: git + section: default + priority: extra + + # Contents to add to the package. + # GoReleaser will automatically add the binaries. + contents: + # Basic file that applies to all packagers + - src: unpoller + dst: /usr/local/bin/unpoller + + - dst: /etc/unpoller + type: dir + file_info: + mode: 0700 + + # Example config files + - src: examples/up.conf.example + dst: /etc/unpoller/up.conf.example + type: config + - src: examples/up.json.example + dst: /etc/unpoller/up.json.example + type: config + - src: examples/up.yaml.example + dst: /etc/unpoller/up.yaml.example + type: config From d8ad4ae46589790e3940000460d57c46cd3058d1 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 09:24:10 -0500 Subject: [PATCH 02/11] add universal macos fat binary --- .goreleaser.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 074b921c..b2078420 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -3,6 +3,9 @@ builds: - env: - CGO_ENABLED=0 binary: unpoller + goarm: + - 6 + - 7 goos: - linux goarch: @@ -146,3 +149,5 @@ nfpms: - src: examples/up.yaml.example dst: /etc/unpoller/up.yaml.example type: config +universal_binaries: + - replace: true From bf1610b1b30de5197ab1ea4ce3f53d129f218587 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 09:26:05 -0500 Subject: [PATCH 03/11] fix --- .goreleaser.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index b2078420..69625f2d 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -131,7 +131,7 @@ nfpms: # GoReleaser will automatically add the binaries. contents: # Basic file that applies to all packagers - - src: unpoller + - src: dist/unpoller dst: /usr/local/bin/unpoller - dst: /etc/unpoller From 1929721df610244a07dd9c4f266c1076b3ec1fc5 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 09:36:16 -0500 Subject: [PATCH 04/11] fix builds --- .goreleaser.yaml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 69625f2d..70bac010 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -8,10 +8,21 @@ builds: - 7 goos: - linux + - darwin + - windows + - freebsd goarch: - amd64 - arm64 - arm + ignore: + - goos: darwin + goarch: 386 + - goarm: mips64 + - gomips: hardfloat + - goamd64: v4 + - goos: freebsd + goarch: 386 dockers: - # amd64 image_templates: @@ -88,16 +99,6 @@ docker_manifests: nfpms: - - # ID of the nfpm config, must be unique. - # Defaults to "default". - id: foo - - # Build IDs for the builds you want to create NFPM packages for. - # Defaults empty, which means no filtering. - builds: - - foo - - bar - # Replacements for GOOS and GOARCH in the package name. # Keys should be valid GOOSs or GOARCHs. # Values are the respective replacements. From 6d3a41694022a03d64ed08b5e60cef2ef59594ad Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 09:48:47 -0500 Subject: [PATCH 05/11] more fixes to package build --- .goreleaser.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 70bac010..78056f1c 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -99,10 +99,6 @@ docker_manifests: nfpms: - - # Replacements for GOOS and GOARCH in the package name. - # Keys should be valid GOOSs or GOARCHs. - # Values are the respective replacements. - # Default is empty. replacements: amd64: 64-bit 386: 32-bit @@ -120,9 +116,6 @@ nfpms: - rpm - termux.deb # Since GoReleaser v1.11. - archlinux - - provides: - - unpoller bindir: /usr/bin version_metadata: git section: default @@ -131,10 +124,6 @@ nfpms: # Contents to add to the package. # GoReleaser will automatically add the binaries. contents: - # Basic file that applies to all packagers - - src: dist/unpoller - dst: /usr/local/bin/unpoller - - dst: /etc/unpoller type: dir file_info: From 5f0abedc2ac9866d974a1f65f61922168940a635 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 09:58:29 -0500 Subject: [PATCH 06/11] docker add qemu for proper emulation add dockerfile; --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..fac42da8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM gcr.io/distroless/static-debian11 + +COPY unpoller /usr/bin/unpoller + +ENTRYPOINT [ "/usr/bin/unpoller" ] From 7ad17ad19f26356bd1ed8cabf0b8579a11026e9e Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 10:03:07 -0500 Subject: [PATCH 07/11] docker add qemu for proper emulation add dockerfile; --- .github/workflows/release.yml | 2 ++ .goreleaser.yaml | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e3d0e165..45f3b899 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,6 +19,8 @@ jobs: with: fetch-depth: 0 - run: git fetch --force --tags + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - uses: actions/setup-go@v3 with: go-version: '>=1.19.3' diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 78056f1c..61ff8f43 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -115,7 +115,6 @@ nfpms: - deb - rpm - termux.deb # Since GoReleaser v1.11. - - archlinux bindir: /usr/bin version_metadata: git section: default From 1d245518f1f17771ea9d2aff6f3da676217917f2 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Sat, 5 Nov 2022 10:15:44 -0500 Subject: [PATCH 08/11] fix bad var --- .goreleaser.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 61ff8f43..05a4f32d 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -28,7 +28,6 @@ dockers: image_templates: - "unpoller/unpoller:latest-amd64" - "unpoller/unpoller:{{ .Tag }}-amd64" - - "unpoller/unpoller:{{ .Tag }}-{{ .Env.GO_VERSION }}-amd64" - "unpoller/unpoller:v{{ .Major }}-amd64" use: buildx build_flag_templates: @@ -50,7 +49,6 @@ dockers: image_templates: - "unpoller/unpoller:latest-arm64v8" - "unpoller/unpoller:{{ .Tag }}-arm64v8" - - "unpoller/unpoller:{{ .Tag }}-{{ .Env.GO_VERSION }}-arm64v8" - "unpoller/unpoller:v{{ .Major }}-arm64v8" use: buildx build_flag_templates: @@ -72,7 +70,6 @@ dockers: image_templates: - "unpoller/unpoller:latest-armv7" - "unpoller/unpoller:{{ .Tag }}-armv7" - - "unpoller/unpoller:{{ .Tag }}-{{ .Env.GO_VERSION }}-armv7" - "unpoller/unpoller:v{{ .Major }}-armv7" use: buildx build_flag_templates: From 2a0bd50f61f56309106ab1466a6676ab7f7a60b6 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Mon, 7 Nov 2022 08:39:14 -0600 Subject: [PATCH 09/11] push to ghcr.io only --- .github/workflows/release.yml | 6 ++ .goreleaser.yaml | 102 +++++++++++++++++----------------- 2 files changed, 57 insertions(+), 51 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 45f3b899..36a6a76c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,6 +21,12 @@ jobs: - run: git fetch --force --tags - name: Set up QEMU uses: docker/setup-qemu-action@v1 + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - uses: actions/setup-go@v3 with: go-version: '>=1.19.3' diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 05a4f32d..f1c62ecf 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -26,73 +26,73 @@ builds: dockers: - # amd64 image_templates: - - "unpoller/unpoller:latest-amd64" - - "unpoller/unpoller:{{ .Tag }}-amd64" - - "unpoller/unpoller:v{{ .Major }}-amd64" + - "ghcr.io/unpoller/unpoller:latest-amd64" + - "ghcr.io/unpoller/unpoller:{{ .Tag }}-amd64" + - "ghcr.io/unpoller/unpoller:v{{ .Major }}-amd64" use: buildx build_flag_templates: - - "--pull" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title={{.ProjectName}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" - - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" - - "--label=org.opencontainers.image.url='https://unpoller.com'" - - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" - - "--label=org.opencontainers.image.vendor=unpoller" - - "--label=org.opencontainers.image.licenses=MIT" - - "--platform=linux/amd64" + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" + - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" + - "--label=org.opencontainers.image.url='https://unpoller.com'" + - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.vendor=unpoller" + - "--label=org.opencontainers.image.licenses=MIT" + - "--platform=linux/amd64" push_flags: - - --tls-verify=false + - --tls-verify=false - # arm64 image_templates: - - "unpoller/unpoller:latest-arm64v8" - - "unpoller/unpoller:{{ .Tag }}-arm64v8" - - "unpoller/unpoller:v{{ .Major }}-arm64v8" + - "ghcr.io/unpoller/unpoller:latest-arm64v8" + - "ghcr.io/unpoller/unpoller:{{ .Tag }}-arm64v8" + - "ghcr.io/unpoller/unpoller:v{{ .Major }}-arm64v8" use: buildx build_flag_templates: - - "--pull" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title={{.ProjectName}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" - - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" - - "--label=org.opencontainers.image.url='https://unpoller.com'" - - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" - - "--label=org.opencontainers.image.vendor=unpoller" - - "--label=org.opencontainers.image.licenses=MIT" - - "--platform=linux/arm64" + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" + - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" + - "--label=org.opencontainers.image.url='https://unpoller.com'" + - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.vendor=unpoller" + - "--label=org.opencontainers.image.licenses=MIT" + - "--platform=linux/arm64" push_flags: - - --tls-verify=false + - --tls-verify=false - # armv7 image_templates: - - "unpoller/unpoller:latest-armv7" - - "unpoller/unpoller:{{ .Tag }}-armv7" - - "unpoller/unpoller:v{{ .Major }}-armv7" + - "ghcr.io/unpoller/unpoller:latest-armv7" + - "ghcr.io/unpoller/unpoller:{{ .Tag }}-armv7" + - "ghcr.io/unpoller/unpoller:v{{ .Major }}-armv7" use: buildx build_flag_templates: - - "--pull" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title={{.ProjectName}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" - - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" - - "--label=org.opencontainers.image.url='https://unpoller.com'" - - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" - - "--label=org.opencontainers.image.vendor=unpoller" - - "--label=org.opencontainers.image.licenses=MIT" - - "--platform=linux/arm/v7" + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.title={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" + - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" + - "--label=org.opencontainers.image.url='https://unpoller.com'" + - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.vendor=unpoller" + - "--label=org.opencontainers.image.licenses=MIT" + - "--platform=linux/arm/v7" push_flags: - - --tls-verify=false + - --tls-verify=false docker_manifests: - name_template: unpoller/unpoller:{{ .Version }} image_templates: - - unpoller/unpoller:{{ .Version }}-amd64 - - unpoller/unpoller:{{ .Version }}-arm64v8 - - unpoller/unpoller:{{ .Version }}-armv7 + - ghcr.io/unpoller/unpoller:{{ .Version }}-amd64 + - ghcr.io/unpoller/unpoller:{{ .Version }}-arm64v8 + - ghcr.io/unpoller/unpoller:{{ .Version }}-armv7 nfpms: - From 31c49db63f28c0d59ddc8b1e53e41a5ce6f838c9 Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Mon, 7 Nov 2022 08:50:18 -0600 Subject: [PATCH 10/11] fix manifests --- .github/workflows/release.yml | 2 ++ .goreleaser.yaml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 36a6a76c..8eca7961 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,6 +14,8 @@ permissions: jobs: release: runs-on: ubuntu-latest + env: + DOCKER_CLI_EXPERIMENTAL: "enabled" steps: - uses: actions/checkout@v3 with: diff --git a/.goreleaser.yaml b/.goreleaser.yaml index f1c62ecf..6b5a8440 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -88,7 +88,7 @@ dockers: push_flags: - --tls-verify=false docker_manifests: - - name_template: unpoller/unpoller:{{ .Version }} + - name_template: ghcr.io/unpoller/unpoller:{{ .Version }} image_templates: - ghcr.io/unpoller/unpoller:{{ .Version }}-amd64 - ghcr.io/unpoller/unpoller:{{ .Version }}-arm64v8 From c6c87952db9bf97f2e9c37e0305b57b4d6ed575c Mon Sep 17 00:00:00 2001 From: Cody Lee Date: Mon, 7 Nov 2022 09:26:28 -0600 Subject: [PATCH 11/11] try to get docker publish to work --- .github/workflows/release.yml | 8 +++++ .goreleaser.yaml | 66 ++++++++++++++++++++++++++--------- 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8eca7961..b4daf31a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,8 @@ jobs: runs-on: ubuntu-latest env: DOCKER_CLI_EXPERIMENTAL: "enabled" + DOCKER_REGISTRY: "ghcr.io" + DOCKER_IMAGE_NAME: "unpoller/unpoller" steps: - uses: actions/checkout@v3 with: @@ -23,6 +25,9 @@ jobs: - run: git fetch --force --tags - name: Set up QEMU uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: @@ -46,3 +51,6 @@ jobs: # Your GoReleaser Pro key, if you are using the 'goreleaser-pro' # distribution: GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} + DOCKER_REGISTRY: ${{ env.DOCKER_REGISTRY }} + DOCKER_IMAGE_NAME: ${{ env.DOCKER_IMAGE_NAME }} + diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 6b5a8440..609b0d94 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -26,9 +26,9 @@ builds: dockers: - # amd64 image_templates: - - "ghcr.io/unpoller/unpoller:latest-amd64" - - "ghcr.io/unpoller/unpoller:{{ .Tag }}-amd64" - - "ghcr.io/unpoller/unpoller:v{{ .Major }}-amd64" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest-amd64" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}-amd64" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}-amd64" use: buildx build_flag_templates: - "--pull" @@ -39,17 +39,21 @@ dockers: - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" - "--label=org.opencontainers.image.url='https://unpoller.com'" - - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--label=org.opencontainers.image.vendor=unpoller" - "--label=org.opencontainers.image.licenses=MIT" - "--platform=linux/amd64" push_flags: - --tls-verify=false + extra_files: + - "examples/up.conf.example" + - "examples/up.json.example" + - "examples/up.yaml.example" - # arm64 image_templates: - - "ghcr.io/unpoller/unpoller:latest-arm64v8" - - "ghcr.io/unpoller/unpoller:{{ .Tag }}-arm64v8" - - "ghcr.io/unpoller/unpoller:v{{ .Major }}-arm64v8" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest-arm64v8" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}-arm64v8" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}-arm64v8" use: buildx build_flag_templates: - "--pull" @@ -60,17 +64,21 @@ dockers: - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" - "--label=org.opencontainers.image.url='https://unpoller.com'" - - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--label=org.opencontainers.image.vendor=unpoller" - "--label=org.opencontainers.image.licenses=MIT" - "--platform=linux/arm64" push_flags: - --tls-verify=false + extra_files: + - "examples/up.conf.example" + - "examples/up.json.example" + - "examples/up.yaml.example" - # armv7 image_templates: - - "ghcr.io/unpoller/unpoller:latest-armv7" - - "ghcr.io/unpoller/unpoller:{{ .Tag }}-armv7" - - "ghcr.io/unpoller/unpoller:v{{ .Major }}-armv7" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest-armv7" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}-armv7" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}-armv7" use: buildx build_flag_templates: - "--pull" @@ -81,18 +89,44 @@ dockers: - "--label=org.opencontainers.image.documentation='https://unpoller.com/docs/install/docker'" - "--label=org.opencontainers.image.description='Telemetry and Observability for your UniFi Network'" - "--label=org.opencontainers.image.url='https://unpoller.com'" - - "--label=org.opencontainers.image.source='https://github.com/unpoller/unpoller'" + - "--label=org.opencontainers.image.source={{ .GitURL }}" - "--label=org.opencontainers.image.vendor=unpoller" - "--label=org.opencontainers.image.licenses=MIT" - "--platform=linux/arm/v7" push_flags: - --tls-verify=false + extra_files: + - "examples/up.conf.example" + - "examples/up.json.example" + - "examples/up.yaml.example" docker_manifests: - - name_template: ghcr.io/unpoller/unpoller:{{ .Version }} + - name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest' + create_flags: + - --insecure + push_flags: + - --insecure image_templates: - - ghcr.io/unpoller/unpoller:{{ .Version }}-amd64 - - ghcr.io/unpoller/unpoller:{{ .Version }}-arm64v8 - - ghcr.io/unpoller/unpoller:{{ .Version }}-armv7 + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest-amd64" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest-arm64v8" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:latest-armv7" + - name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}' + create_flags: + - --insecure + push_flags: + - --insecure + image_templates: + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}-amd64" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}-arm64v8" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:{{ .Tag }}-armv7" + - name_template: '{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}' + create_flags: + - --insecure + push_flags: + - --insecure + image_templates: + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}-amd64" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}-arm64v8" + - "{{ .Env.DOCKER_REGISTRY }}/{{ .Env.DOCKER_IMAGE_NAME }}:v{{ .Major }}-armv7" nfpms: -