From 5de6f1688f290c52c2ed3ec33d855950f74913d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Tue, 24 Nov 2020 18:06:57 +0100 Subject: [PATCH] ci: goreleaser for the Caddy build --- .github/workflows/cd.yml | 3 +- .gitignore | 6 +- .goreleaser.yml | 108 ++++++++++++++++++++ Caddyfile | 30 ++++++ Dockerfile | 4 + cmd/mercure/Dockerfile => Dockerfile.legacy | 0 Makefile | 12 +++ caddy/Caddyfile | 19 ---- caddy/go.mod | 19 +++- caddy/go.sum | 28 +++++ caddy/public | 1 - cmd/mercure/update.db | Bin 65536 -> 0 bytes 12 files changed, 203 insertions(+), 27 deletions(-) create mode 100644 .goreleaser.yml create mode 100644 Caddyfile create mode 100644 Dockerfile rename cmd/mercure/Dockerfile => Dockerfile.legacy (100%) create mode 100644 Makefile delete mode 100644 caddy/Caddyfile delete mode 120000 caddy/public delete mode 100644 cmd/mercure/update.db diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 5d71b521..54d897b0 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -18,6 +18,8 @@ jobs: uses: actions/setup-go@v2 with: go-version: '1.15' + - name: Install xcaddy + run: go get -u github.com/caddyserver/xcaddy/cmd/xcaddy - name: Docker Hub Login run: docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" env: @@ -29,6 +31,5 @@ jobs: with: version: latest args: release --rm-dist - workdir: cmd/mercure env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 3c48d033..7099d74a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,12 +2,10 @@ *.pyc __pycache__ vendor +buildenv* /caddy/caddy /certs -/cmd/mercure/dist -/cmd/mercure/public -/cmd/mercure/gin-bin -/cmd/mercure/mercure +/dist /spec/mercure.html /spec/mercure.txt /spec/mercure.xml diff --git a/.goreleaser.yml b/.goreleaser.yml new file mode 100644 index 00000000..fc5c33b8 --- /dev/null +++ b/.goreleaser.yml @@ -0,0 +1,108 @@ +before: + hooks: + # Create a Caddy skeleton containing the module + - make prepare +checksum: + name_template: 'checksums.txt' +snapshot: + name_template: "{{ .Tag }}-next" +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' +release: + prerelease: auto +env: + - CGO_ENABLED=0 +builds: +- id: caddy + dir: caddy/buildenv + binary: mercure + goos: + - linux + - darwin + - windows + goarch: + # 32 bits architectures aren't supported by dgraph-io/badger yet: + # https://github.com/dgraph-io/badger/issues/1385 + #- 386 + - amd64 + #- arm + - arm64 + goarm: + - 5 + - 6 + - 7 +# Legacy build +- id: legacy + dir: cmd/mercure + ldflags: + - -s -w -X github.com/dunglas/mercure/common.version={{ .Version }} -X github.com/dunglas/mercure/common.commit={{ .ShortCommit }} -X github.com/dunglas/mercure/common.buildDate={{ .Date }} + goos: + - linux + - darwin + - windows + goarch: + - 386 + - amd64 + - arm + - arm64 +archives: +- builds: + - caddy + replacements: + darwin: Darwin + linux: Linux + windows: Windows + 386: i386 + amd64: x86_64 + files: + - COPYRIGHT + - LICENSE + - README.md + - public/* + format_overrides: + - goos: windows + format: zip +- id: legacy + builds: + - legacy + name_template: "{{ .ProjectName }}-legacy_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}" + replacements: + darwin: Darwin + linux: Linux + windows: Windows + 386: i386 + amd64: x86_64 + files: + - COPYRIGHT + - LICENSE + - README.md + - public/* + format_overrides: + - goos: windows + format: zip +dockers: +- builds: + - caddy + dockerfile: Dockerfile # See https://github.com/goreleaser/goreleaser/issues/1916 + image_templates: + - 'dunglas/mercure:{{ .Tag }}' + - 'dunglas/mercure:v{{ .Major }}' + - 'dunglas/mercure:v{{ .Major }}.{{ .Minor }}' + - 'dunglas/mercure:latest' + extra_files: + - public/ + - Caddyfile +- builds: + - legacy + dockerfile: Dockerfile.legacy + image_templates: + - 'dunglas/mercure:legacy-{{ .Tag }}' + - 'dunglas/mercure:legacy-v{{ .Major }}' + - 'dunglas/mercure:legacy-v{{ .Major }}.{{ .Minor }}' + - 'dunglas/mercure:legacy-latest' + extra_files: + - public/ diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 00000000..676dd8fb --- /dev/null +++ b/Caddyfile @@ -0,0 +1,30 @@ +{ + # Debug mode (disable it in production!) + debug + # HTTP/3 support + experimental_http3 +} + +:80 + +log + +route { + redir / /.well-known/mercure/ui/ + encode gzip + + mercure { + # Enable the demo endpoint (disable it in production!) + demo + # Publisher JWT key + publisher_jwt !ChangeMe! + # Subscriber JWT key + subscriber_jwt !ChangeMe! + # Allow anonymous subscribers (double-check that it's what you want) + anonymous + # Enable the subscription API (double-check that it's what you want) + subscriptions + } + + respond "Not Found" 404 +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..8f404243 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM caddy:2-alpine +COPY mercure /usr/bin/caddy +COPY Caddyfile /etc/caddy/Caddyfile +COPY public public/ diff --git a/cmd/mercure/Dockerfile b/Dockerfile.legacy similarity index 100% rename from cmd/mercure/Dockerfile rename to Dockerfile.legacy diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..2e6441ee --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +.PHONY: build +build: + goreleaser --snapshot --rm-dist + +.PHONY: clean +clean: + rm -Rf dist caddy/buildenv* + +.PHONY: prepare +prepare: clean + cd caddy && XCADDY_SKIP_CLEANUP=1 xcaddy build --with github.com/dunglas/mercure=../../ --with github.com/dunglas/mercure/caddy=../ + mv caddy/buildenv_* caddy/buildenv diff --git a/caddy/Caddyfile b/caddy/Caddyfile deleted file mode 100644 index 88ccd8d2..00000000 --- a/caddy/Caddyfile +++ /dev/null @@ -1,19 +0,0 @@ -{ - debug - experimental_http3 -} - -localhost:3000 - -route { - mercure { - demo - anonymous - subscriptions - heartbeat 40s - publisher_jwt !ChangeMe! - subscriber_jwt !ChangeMe! - publish_origins http://localhost:3000 http://localhost:3001 http://localhost:5000 http://localhost:8000 - } - respond 404 -} diff --git a/caddy/go.mod b/caddy/go.mod index 80ad0525..409c20e7 100644 --- a/caddy/go.mod +++ b/caddy/go.mod @@ -2,9 +2,8 @@ module github.com/dunglas/mercure/caddy go 1.15 -replace github.com/dunglas/mercure => /Users/dunglas/workspace/mercure - require ( + github.com/Masterminds/semver/v3 v3.1.1 // indirect github.com/antlr/antlr4 v0.0.0-20201029161626-9a95f0cc3d7c // indirect github.com/caddyserver/caddy/v2 v2.2.1 github.com/dgraph-io/badger v1.6.2 // indirect @@ -12,23 +11,39 @@ require ( github.com/dunglas/mercure v0.10.4 github.com/golang/snappy v0.0.2 // indirect github.com/google/cel-go v0.6.0 // indirect + github.com/gorilla/handlers v1.5.1 // indirect + github.com/gorilla/mux v1.8.0 // indirect github.com/huandu/xstrings v1.3.2 // indirect github.com/imdario/mergo v0.3.11 // indirect github.com/klauspost/cpuid v1.3.1 // indirect github.com/lucas-clemente/quic-go v0.19.2 // indirect + github.com/magiconair/properties v1.8.4 // indirect github.com/manifoldco/promptui v0.8.0 // indirect github.com/mattn/go-colorable v0.1.8 // indirect github.com/miekg/dns v1.1.35 // indirect + github.com/mitchellh/mapstructure v1.3.3 // indirect github.com/mitchellh/reflectwalk v1.0.1 // indirect + github.com/pelletier/go-toml v1.8.1 // indirect github.com/prometheus/client_golang v1.8.0 + github.com/prometheus/common v0.15.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/sirupsen/logrus v1.7.0 // indirect github.com/smallstep/certificates v0.15.5 // indirect github.com/smallstep/nosql v0.3.2 // indirect + github.com/spf13/afero v1.4.1 // indirect + github.com/spf13/cobra v1.1.1 // indirect + github.com/spf13/viper v1.7.1 // indirect github.com/stretchr/testify v1.6.1 github.com/urfave/cli v1.22.5 // indirect go.step.sm/crypto v0.7.1 // indirect + go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.16.0 + golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9 // indirect + golang.org/x/net v0.0.0-20201110031124-69a78807bb2b // indirect + golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 // indirect + golang.org/x/text v0.3.4 // indirect google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 // indirect google.golang.org/grpc v1.33.2 // indirect + gopkg.in/ini.v1 v1.62.0 // indirect howett.net/plist v0.0.0-20201026045517-117a925f2150 // indirect ) diff --git a/caddy/go.sum b/caddy/go.sum index d99c414f..87c85ec1 100644 --- a/caddy/go.sum +++ b/caddy/go.sum @@ -67,6 +67,8 @@ github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITg github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.1.0 h1:Y2lUDsFKVRSYGojLJ1yLxSXdMmMYTYls0rCvoqmMUQk= github.com/Masterminds/semver/v3 v3.1.0/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/sprig/v3 v3.1.0 h1:j7GpgZ7PdFqNsmncycTHsLmVPf5/3wJtlgW9TNDYD9Y= github.com/Masterminds/sprig/v3 v3.1.0/go.mod h1:ONGMf7UfYGAbMXCZmQLy8x3lCDIPrEZE/rU8pmrbihA= github.com/Masterminds/vcs v1.13.0/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA= @@ -209,6 +211,8 @@ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8 github.com/dlclark/regexp2 v1.1.6/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/dlclark/regexp2 v1.2.0 h1:8sAhBGEM0dRWogWqWyQeIJnxjWO6oIjl8FKqREDsGfk= github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dunglas/mercure v0.10.4 h1:KeZUyCr1Dbi++YPFglnYSUAbUu3RdlWk9z+NjLmlK8k= +github.com/dunglas/mercure v0.10.4/go.mod h1:Z8/r8AFblmmLn5DkdXV7jpRqCtmGB1nXbhWLrjFcTk4= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= @@ -396,10 +400,14 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/csrf v1.6.0/go.mod h1:7tSf8kmjNYr7IWDCYhd3U8Ck34iQ/Yw5CJu7bAkHEGI= github.com/gorilla/handlers v1.4.1/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg= +github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= @@ -455,6 +463,7 @@ github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= @@ -463,6 +472,8 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/joonix/log v0.0.0-20200409080653-9c1d2ceb5f1d h1:k+SfYbN66Ev/GDVq39wYOXVW5RNd5kzzairbCe9dK5Q= +github.com/joonix/log v0.0.0-20200409080653-9c1d2ceb5f1d/go.mod h1:fS54ONkjDV71zS9CDx3V9K21gJg7byKSvI4ajuWFNJw= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -592,6 +603,8 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v0.0.0-20180220230111-00c29f56e238/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= @@ -668,6 +681,8 @@ github.com/pelletier/go-toml v1.1.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.6.0 h1:aetoXYr0Tv7xRU/V4B4IZJ2QcbtMUFoNb3ORp7TzIK4= github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= +github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw= +github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= @@ -784,6 +799,8 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smallstep/assert v0.0.0-20180720014142-de77670473b5/go.mod h1:TC9A4+RjIOS+HyTH7wG17/gSqVv95uDw2J64dQZx7RE= github.com/smallstep/assert v0.0.0-20200103212524-b99dc1097b15/go.mod h1:MyOHs9Po2fbM1LHej6sBUT8ozbxmMOFG+E+rx/GSGuc= github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262 h1:unQFBIznI+VYD1/1fApl1A+9VcBk+9dcqGfnePY87LY= @@ -825,6 +842,8 @@ github.com/spf13/afero v1.1.0/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.1 h1:GPTpEAuNr98px18yNQ66JllNil98wfRZ/5Ukny8FeQA= +github.com/spf13/afero v1.3.1/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.4.1 h1:asw9sl74539yqavKaglDM5hFpdJVK0Y5Dr/JOgQ89nQ= github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= @@ -834,6 +853,9 @@ github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/jwalterweatherman v0.0.0-20180109140146-7c0cea34c8ec/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -845,6 +867,7 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.0.2/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -1066,6 +1089,7 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -1291,6 +1315,7 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190605220351-eb0b1bdb6ae6/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= @@ -1316,6 +1341,7 @@ google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200707001353-8e8330bf89df/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98 h1:LCO0fg4kb6WwkXQXRQQgUYsFeFb5taTX5WAx5O/Vt28= @@ -1379,6 +1405,8 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.51.1 h1:GyboHr4UqMiLUybYjd22ZjQIKEJEpgtLXtuGbR21Oho= gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww= +gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= diff --git a/caddy/public b/caddy/public deleted file mode 120000 index 27f8dec3..00000000 --- a/caddy/public +++ /dev/null @@ -1 +0,0 @@ -../public \ No newline at end of file diff --git a/cmd/mercure/update.db b/cmd/mercure/update.db deleted file mode 100644 index 05ccad186dfdd30eda95c6435cbb461f7563884a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 zcmeI*&yL$f90%}p`@dZzIKpXV(F15_Gq%T`aS#%f3KADu(caif%-G{LY&MBvr|qh$ zgy7C2@CclE08X5G<${p7z>U5GKPR^9gpzvOZns%|z1_7ZiJkE$GvoQ$f(l?#{4`DQu)<%{5h@87xoYxO$JApijgKmY;|fB*y_009U< z00Izra|BM6S^2;C|H4vMFP7;l{(q}XKmPXTkG|X3t2Vc^7LpKv00bZa0SG_<0uX=z z1Rwwb2pp%t>{>r%V54)k&c+Q|3h4LUGMfK^=FRkDTB%6?Rj&LSty-l2F4KR~NrUF| z^wg>8WZ0Wd`$l99%Odgxn|Auj?>F0(;}gB?ev_7 zyTh%mUFVa2vg`C{q1ZNUdN7Lh;O;2Pdp_s9o7nwP*NjGcS=Zh9CL0Y0^z!Zbs`{Sp z547nI`uV}rZ4~*-;=6WV?~EpQy4R=q_4H;wiuZP%-Qgo=+xh$&z5AgEXr)^RV@s>i z(w8=$95_Axh$M??ZeL zB|!=mF(D(xOyWtVZJO{{Nn^qV&F;>9I~cIN;pqObyKg7)bYi>N)MW9bKhFE3Vb+}$ z-z)yrE8b`HuTh98wOow5lo5JqQB7#3xpw_ng)ESM!i3fI(T0g)o=RQc=hh3|#e!cJ z^%dnl9u0H*AYUxFWxjVNR9>@gUDB&Ma_sw9=P0N8FwgqU266p#>2B;~{-XL*Z39_v zW!9c70yRFg|Fk^ydOFVg_h#9feGK!~Vyq7aBRy+uW=&7g_)MsE$?er7DYNN%a);B8 zTW+d&%`~fa;#sX<@od&jro%e}ofR$2*4CqEH8X8W^U8{GrY3Y#8SvOknd?f+sFsAx zh*+>#8fvnIYlM`|X6D!n&B74@6{Bd7j=f^c56o{u&1h4cSJsTPbs~Y3>|@<3 zzvv<3aBos{K~KgZqfKdESuy7QQ~ZSh1lB^}beYSI&iOjOV_Is)`#&wk|NoTne|3J~ zLmE8LjQ<5~su}-(Og9ZQxA%|+4>Z&CcIWB?DmQ_(6xy&Th*JuCf`lm%OO`}w7*G`C zDao4$)MxdOmjkPXW8Ry8exMD(%2xP%ttmxpJZ(KjVJv4NN+YJITf&soUYw}Fa$!!m zW*dT)nipzKYh%e%=`rgX>g<_-`d6XgEb_P;6Qyf-dcrl^5UkX^SZju!AG=}XGsz3h z$XC=`^#n__XN4OkbY?4PY947&*`~+0(2T5MP}yc5*RAXP<^+{(iu1~vajC8uN-NJ( zo@K6*F`aI4H60D3g!yhv4N&0I`Im)r0Pbj>*2o1C1WvQ24TSurlx6~i+kwOR)()B$x4RT#2J8%lD)c@k(&2aV<- z;{dt&2@4QdLxF1C z|3>HOo&I0bel+9rAD80)KbGSE_m<-S_m|>-wiN%<<`M5V#seVUf0d&v5bwWAO~m`N zaYpq(qIDWwfp~w{IlAE$i1*jGW*jaQf5CA_hkFym`}Ocf#QTlT;Y-K+YZ#Ou%MgIT zYZ0hM{hy*c0E%ggev8<@9LnGMv`km$2`E`iha1m7U+0iPf4LH75P$##AOHafKmY;| zfB*y_009WRv_N&$f1^Ve`DrTt7GM2e+zn97r{jcfv(Kv21l8C6(KDDJ009U<00Izz z00bZa0SG_<0uWdif$FaR=UxA=z9*pEFI@j$mk${Ega8B}009U<00Izz00bZa0SJ&l z_5b@l=lXwjnqU)X5P$##AOHafKmY;|fB*y_009WBpTNa3%Wrq)clcNL`Bww}tNR1! zEBr7)00Izz00bZa0SG_<0uX=z1R$`c0##gJ#sAef|LTH&H9nv^Pq3!DiEKjv0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf ZKmY;|fB*y_009U<00Izz00fRy;9tpbl#u`c