173 lines
5.4 KiB
YAML
173 lines
5.4 KiB
YAML
project_name: lego
|
|
|
|
builds:
|
|
- binary: lego
|
|
|
|
main: ./cmd/lego/main.go
|
|
env:
|
|
- CGO_ENABLED=0
|
|
flags:
|
|
- -trimpath
|
|
ldflags:
|
|
- -s -w -X main.version={{.Version}}
|
|
|
|
goos:
|
|
- windows
|
|
- darwin
|
|
- linux
|
|
- freebsd
|
|
- openbsd
|
|
- solaris
|
|
goarch:
|
|
- amd64
|
|
- 386
|
|
- arm
|
|
- arm64
|
|
- mips
|
|
- mipsle
|
|
- mips64
|
|
- mips64le
|
|
goarm:
|
|
- 7
|
|
- 6
|
|
- 5
|
|
gomips:
|
|
- hardfloat
|
|
- softfloat
|
|
|
|
ignore:
|
|
- goos: darwin
|
|
goarch: 386
|
|
- goos: openbsd
|
|
goarch: arm
|
|
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- '(?i)^chore:'
|
|
- '(?i)^Detach v[\d|.]+'
|
|
- '(?i)^Prepare release v[\d|.]+'
|
|
|
|
archives:
|
|
- id: lego
|
|
name_template: '{{ .ProjectName }}_v{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}'
|
|
format: tar.gz
|
|
format_overrides:
|
|
- goos: windows
|
|
format: zip
|
|
files:
|
|
- LICENSE
|
|
- CHANGELOG.md
|
|
|
|
docker_manifests:
|
|
- name_template: 'goacme/lego:{{ .Tag }}'
|
|
image_templates:
|
|
- 'goacme/lego:{{ .Tag }}-amd64'
|
|
- 'goacme/lego:{{ .Tag }}-arm64'
|
|
- 'goacme/lego:{{ .Tag }}-armv7'
|
|
- name_template: 'goacme/lego:latest'
|
|
image_templates:
|
|
- 'goacme/lego:{{ .Tag }}-amd64'
|
|
- 'goacme/lego:{{ .Tag }}-arm64'
|
|
- 'goacme/lego:{{ .Tag }}-armv7'
|
|
- name_template: 'goacme/lego:v{{ .Major }}.{{ .Minor }}'
|
|
image_templates:
|
|
- 'goacme/lego:v{{ .Major }}.{{ .Minor }}-amd64'
|
|
- 'goacme/lego:v{{ .Major }}.{{ .Minor }}-arm64'
|
|
- 'goacme/lego:v{{ .Major }}.{{ .Minor }}-armv7'
|
|
|
|
dockers:
|
|
- use: buildx
|
|
goos: linux
|
|
goarch: amd64
|
|
dockerfile: buildx.Dockerfile
|
|
image_templates:
|
|
- 'goacme/lego:latest-amd64'
|
|
- 'goacme/lego:{{ .Tag }}-amd64'
|
|
- 'goacme/lego:v{{ .Major }}.{{ .Minor }}-amd64'
|
|
build_flag_templates:
|
|
- '--pull'
|
|
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
|
|
- '--label=org.opencontainers.image.title={{.ProjectName}}'
|
|
- '--label=org.opencontainers.image.description=Lets Encrypt/ACME client and library written in Go'
|
|
- '--label=org.opencontainers.image.source={{.GitURL}}'
|
|
- '--label=org.opencontainers.image.url={{.GitURL}}'
|
|
- '--label=org.opencontainers.image.documentation=https://go-acme.github.io/lego'
|
|
- '--label=org.opencontainers.image.created={{.Date}}'
|
|
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
|
|
- '--label=org.opencontainers.image.version={{.Version}}'
|
|
- '--platform=linux/amd64'
|
|
|
|
- use: buildx
|
|
goos: linux
|
|
goarch: arm64
|
|
dockerfile: buildx.Dockerfile
|
|
image_templates:
|
|
- 'goacme/lego:latest-arm64'
|
|
- 'goacme/lego:{{ .Tag }}-arm64'
|
|
- 'goacme/lego:v{{ .Major }}.{{ .Minor }}-arm64'
|
|
build_flag_templates:
|
|
- '--pull'
|
|
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
|
|
- '--label=org.opencontainers.image.title={{.ProjectName}}'
|
|
- '--label=org.opencontainers.image.description=Lets Encrypt/ACME client and library written in Go'
|
|
- '--label=org.opencontainers.image.source={{.GitURL}}'
|
|
- '--label=org.opencontainers.image.url={{.GitURL}}'
|
|
- '--label=org.opencontainers.image.documentation=https://go-acme.github.io/lego'
|
|
- '--label=org.opencontainers.image.created={{.Date}}'
|
|
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
|
|
- '--label=org.opencontainers.image.version={{.Version}}'
|
|
- '--platform=linux/arm64'
|
|
|
|
- use: buildx
|
|
goos: linux
|
|
goarch: arm
|
|
goarm: '7'
|
|
dockerfile: buildx.Dockerfile
|
|
image_templates:
|
|
- 'goacme/lego:latest-armv7'
|
|
- 'goacme/lego:{{ .Tag }}-armv7'
|
|
- 'goacme/lego:v{{ .Major }}.{{ .Minor }}-armv7'
|
|
build_flag_templates:
|
|
- '--pull'
|
|
# https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
|
|
- '--label=org.opencontainers.image.title={{.ProjectName}}'
|
|
- '--label=org.opencontainers.image.description=Lets Encrypt/ACME client and library written in Go'
|
|
- '--label=org.opencontainers.image.source={{.GitURL}}'
|
|
- '--label=org.opencontainers.image.url={{.GitURL}}'
|
|
- '--label=org.opencontainers.image.documentation=https://go-acme.github.io/lego'
|
|
- '--label=org.opencontainers.image.created={{.Date}}'
|
|
- '--label=org.opencontainers.image.revision={{.FullCommit}}'
|
|
- '--label=org.opencontainers.image.version={{.Version}}'
|
|
- '--platform=linux/arm/v7'
|
|
|
|
# Disabled because https://github.com/go-acme/lego/pull/2134#issuecomment-2135293270
|
|
snapcrafts:
|
|
- name: lego
|
|
disable: true
|
|
grade: stable
|
|
confinement: strict
|
|
license: MIT
|
|
base: core22
|
|
publish: true
|
|
summary: Lego is a Let's Encrypt/ACME client.
|
|
description: |
|
|
Lego is a Let's Encrypt/ACME client written in Go.
|
|
|
|
The lego snap makes it easy to install and use Lego on any Linux distribution that supports snaps.
|
|
|
|
Usage:
|
|
* `sudo snap install lego`
|
|
* `sudo lego --email="you@example.com" --domains="example.com" --server=https://acme-staging-v02.api.letsencrypt.org/directory --http --http.port :8080 run
|
|
|
|
channel_templates:
|
|
- edge
|
|
|
|
apps:
|
|
lego:
|
|
command: bin/lego
|
|
environment:
|
|
LEGO_PATH: /var/snap/lego/common/.lego
|
|
plugs:
|
|
- network-bind
|