mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-27 14:12:09 +00:00
8709bf9ec2
Use a new branch of webmentiond that lets me pull in all webmentions for all pages in a single JSON response Before, Hugo would make one request to webmentiond per page to ask for approved webmentions for that page. Sometimes, it makes two requests because some pages used to have a different canonical location. In all, it ended up making over 150 requests within a second or two. Webmentiond can handle this for now, but this isn't sustainable: page count will only increase with time. I wanted to have Hugo instead get all webmentions for all pages in one cached request. I recompiled webmentiond from https://github.com/zerok/webmentiond/pull/65, which updates the API to support admin access keys. The admin API allows pulling in all webmentions for all pages, instead of pulling them in for one page at a time. Doing so requires getting a bearer token, so I had to manage a new CI secret: the password for getting a token. I get the token in a shell script (get-token.sh) and write it to a temporary file, then have Hugo read the token from that file. The shell script gets the password using either the CI secret (in CI) or using my password manager (on my workstation). TODO: support marginalia (mentions with fragments in their targets)
30 lines
968 B
YAML
30 lines
968 B
YAML
---
|
|
# we rsync binaries.tar.gz from the same server we deploy to.
|
|
# it contains these static-pie binaries:
|
|
# hugo, brotli, ect (like gzip/zopfli), sd, htmlq (like jq for html), and xmllint.
|
|
image: alpine/edge
|
|
packages:
|
|
- curl # for webring update script
|
|
- rsync
|
|
- git # for Hugo's gitInfo
|
|
- bmake
|
|
sources:
|
|
- https://git.sr.ht/~seirdy/seirdy.one
|
|
secrets:
|
|
- cc1eb90c-b07b-4c46-86d4-58fec41cf0e4 # ssh key
|
|
- b0bfa66e-3cf2-468f-9ea4-085819eccd18 # webmentiond key
|
|
triggers:
|
|
- action: email
|
|
condition: always
|
|
to: seirdy@seirdy.one
|
|
tasks:
|
|
- deps: |
|
|
printf "VerifyHostKeyDNS=yes\nKexAlgorithms=sntrup761x25519-sha512@openssh.com\n" >> ~/.ssh/config
|
|
# mirrored at https://seirdy.one/misc/binaries.tar.gz
|
|
rsync -Wv deploy@seirdy.one:/home/deploy/binaries.tar.gz .
|
|
mkdir -p ~/bin
|
|
tar xzf binaries.tar.gz -oC ~/bin
|
|
- build_deploy: |
|
|
cd seirdy.one
|
|
export PATH=~/bin:$PATH
|
|
bmake deploy-prod deploy-onion
|