From cf47feecbbdadabbe33153f27a4b4b638f464252 Mon Sep 17 00:00:00 2001 From: Winni Neessen Date: Thu, 14 Mar 2024 09:37:52 +0100 Subject: [PATCH] Update project URLs and refactor Dockerfile Project URLs have been changed in several files from "src.neessen.cloud/wneessen/apg-go" to "github.com/wneessen/apg-go". In addition, Dockerfile has been significantly refactored. It now includes steps for tidy and verify of Go modules and builds a statically linked binary. Several metadata files have been added with copyright information. --- .golangci.toml | 2 +- .goreleaser.yaml | 12 +++--------- Dockerfile | 27 +++++++++++++++++++++++++-- README.md | 6 +++--- cmd/apg/apg.go | 4 ++-- cosign.pub.license | 3 +++ docker-files/group.license | 3 +++ docker-files/passwd.license | 3 +++ go.mod | 2 +- 9 files changed, 44 insertions(+), 18 deletions(-) create mode 100644 cosign.pub.license create mode 100644 docker-files/group.license create mode 100644 docker-files/passwd.license diff --git a/.golangci.toml b/.golangci.toml index 548f0b2..ad18f5f 100644 --- a/.golangci.toml +++ b/.golangci.toml @@ -11,5 +11,5 @@ enable = ["stylecheck", "whitespace", "containedctx", "contextcheck", "decorder" "errname", "errorlint", "gofmt", "gofumpt", "goimports"] [linters-settings.goimports] -local-prefixes = "src.neessen.cloud/wneessen/apg-go" +local-prefixes = "github.com/wneessen/apg-go" diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 9fe4bd3..b275a72 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -49,15 +49,11 @@ archives: format: zip changelog: - sort: asc - filters: - exclude: - - "^docs:" - - "^test:" + use: github-native nfpms: - vendor: Winni Neessen - homepage: https://src.neessen.cloud/wneessen/apg-go + homepage: https://github.com/wneessen/apg-go maintainer: Winni Neessen description: |- A "Automated Password Generator"-clone written in Go @@ -90,9 +86,7 @@ signs: sboms: - artifacts: archive -gitea_urls: - api: https://src.neessen.cloud/api/v1 - download: https://src.neessen.cloud +github_urls: gomod: mod: mod diff --git a/Dockerfile b/Dockerfile index 34f368e..6a1d9b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,26 @@ +# SPDX-FileCopyrightText: 2021-2024 Winni Neessen +# +# SPDX-License-Identifier: MIT + +FROM golang:latest AS builder +RUN mkdir /builddir +ADD . /builddir/ +WORKDIR /builddir +RUN go mod tidy +RUN go mod download +RUN go mod verify +RUN CGO_ENABLED=0 go build -a -installsuffix cgo -ldflags '-w -s -extldflags "-static"' -o apg-go \ + github.com/wneessen/apg-go/cmd/apg + +## Create scratch image FROM scratch -ENTRYPOINT ["/apg"] -COPY apg / \ No newline at end of file +LABEL maintainer="wn@neessen.dev" +COPY ["docker-files/passwd", "/etc/passwd"] +COPY ["docker-files/group", "/etc/group"] +COPY --from=builder ["/etc/ssl/certs/ca-certificates.crt", "/etc/ssl/cert.pem"] +COPY --chown=apg-go ["LICENSE", "/apg-go/LICENSE"] +COPY --chown=apg-go ["README.md", "/apg-go/README.md"] +COPY --from=builder --chown=apg-go ["/builddir/apg-go", "/apg-go/apg-go"] +WORKDIR /apg-go +USER apg-go +ENTRYPOINT ["/apg-go/apg-go"] \ No newline at end of file diff --git a/README.md b/README.md index 5d92e0c..e4c9947 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ SPDX-License-Identifier: CC0-1.0 --> # A "Automated Password Generator"-clone -[![Go Reference](https://pkg.go.dev/badge/src.neessen.cloud/wneessen/apg-go.svg)](https://pkg.go.dev/src.neessen.cloud/wneessen/apg-go) -[![Go Report Card](https://goreportcard.com/badge/src.neessen.cloud/wneessen/apg-go)](https://goreportcard.com/report/src.neessen.cloud/wneessen/apg-go) +[![Go Reference](https://pkg.go.dev/badge/github.com/wneessen/apg-go.svg)](https://pkg.go.dev/github.com/wneessen/apg-go) +[![Go Report Card](https://goreportcard.com/badge/github.com/wneessen/apg-go)](https://goreportcard.com/report/github.com/wneessen/apg-go) [![#apg-go on Discord](https://img.shields.io/badge/Discord-%23apg%E2%80%93go-blue.svg)](https://discord.gg/ysQXkaccXk) -[![REUSE status](https://api.reuse.software/badge/src.neessen.cloud/wneessen/apg-go)](https://api.reuse.software/info/src.neessen.cloud/wneessen/apg-go) +[![REUSE status](https://api.reuse.software/badge/github.com/wneessen/apg-go)](https://api.reuse.software/info/github.com/wneessen/apg-go) buy ma a coffee _apg-go_ is a simple APG-like password generator written in Go. It tries to replicate the diff --git a/cmd/apg/apg.go b/cmd/apg/apg.go index 827ffcf..f82d206 100644 --- a/cmd/apg/apg.go +++ b/cmd/apg/apg.go @@ -12,7 +12,7 @@ import ( "os" "runtime" - "src.neessen.cloud/wneessen/apg-go" + "github.com/wneessen/apg-go" ) // MinimumAmountTooHigh is an error message displayed when a minimum amount of @@ -169,7 +169,7 @@ func usage() { // Usage text const ut = `apg-go v` + apg.VERSION + "\n" + - `A OSS "Automated Password Generator"-clone -- https://src.neessen.cloud/wneessen/apg-go/ + `A OSS "Automated Password Generator"-clone -- https://github.com/wneessen/apg-go/ Created 2021-2024 by Winni Neessen (MIT licensed) apg [-a ] [-m ] [-x ] [-L] [-U] [-N] [-S] [-H] [-C] diff --git a/cosign.pub.license b/cosign.pub.license new file mode 100644 index 0000000..382d657 --- /dev/null +++ b/cosign.pub.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2021-2024 Winni Neessen + +SPDX-License-Identifier: CC0-1.0 diff --git a/docker-files/group.license b/docker-files/group.license new file mode 100644 index 0000000..7f6c151 --- /dev/null +++ b/docker-files/group.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2021-2024 Winni Neessen + +SPDX-License-Identifier: MIT diff --git a/docker-files/passwd.license b/docker-files/passwd.license new file mode 100644 index 0000000..7f6c151 --- /dev/null +++ b/docker-files/passwd.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2021-2024 Winni Neessen + +SPDX-License-Identifier: MIT diff --git a/go.mod b/go.mod index 8a23530..6bad959 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: MIT -module src.neessen.cloud/wneessen/apg-go +module github.com/wneessen/apg-go go 1.22