Commit Graph

31 Commits

Author SHA1 Message Date
haemka 0a6710462f Consolidate GITEA_HOST_KEY/DEPLOY_HOST_KEY into one KNOWN_HOSTS var
Build and deploy / build-and-deploy (push) Failing after 2m40s
No technical need for separate vars; one holding both known_hosts
lines (pasted straight from an existing trusted known_hosts file) is
simpler to configure.
2026-08-13 15:48:26 +00:00
haemka 2e6cb79293 Pin host keys via variables instead of ssh-keyscan
Replaces the ssh-keyscan-based known_hosts population (and the
diagnostic step added to debug its flakiness) with two vars,
GITEA_HOST_KEY and DEPLOY_HOST_KEY, each a full known_hosts-format
line. No extra network calls before the real connections, no TOFU, and
no more risk of tripping aquaria's connection-rate limiting — the
actual root cause of the earlier flakiness was ssh-keyscan opening
multiple near-simultaneous connections (one per probed key type).
2026-08-13 15:46:31 +00:00
haemka febaf66b5b Restrict ssh-keyscan to -t rsa to avoid tripping rate limiting
Latest diagnostic run showed aquaria's OpenSSH responding fine on the
first of several near-simultaneous connections ssh-keyscan opens (one
per default-probed key type), then hanging on the rest with no
response — a rate-limiting signature, not an outright ban. Both hosts
confirmed to offer an RSA host key, so scan just that type: one
connection per host instead of ~4 at once. Left the diagnostic step in
to confirm before removing it. Dropped -v now that the cause is known.
2026-08-13 15:44:15 +00:00
haemka 2bde5442bf Add temporary diagnostic step for aquaria connectivity
Build and deploy / build-and-deploy (push) Failing after 41s
ssh-keyscan's -v only traces SSH-protocol activity; a pre-handshake
failure (bad DNS, TCP connect hang/drop) prints nothing regardless.
Firewall allow-listing is ruled out (same external IP as a working
manual connection), so check DNS resolution and a raw nc TCP connect
from inside the runner container directly. Remove once root-caused.
2026-08-13 15:41:43 +00:00
haemka 6cc3f6f956 Add -v to ssh-keyscan for real diagnostic output
Build and deploy / build-and-deploy (push) Failing after 24s
Plain ssh-keyscan prints nothing on a per-host failure (by design, so
scanning long host lists doesn't spam errors for hosts that are down),
which is why removing 2>/dev/null earlier revealed nothing. -v forces
it to actually report what's failing.
2026-08-13 15:37:18 +00:00
haemka 5cb98faab9 Force IPv4 for git.haemka.in SSH connections too
Build and deploy / build-and-deploy (push) Failing after 24s
Missed two spots: the git.haemka.in keyscan and the submodule fetch's
GIT_SSH_COMMAND. If git.haemka.in's DNS answer includes an AAAA record
(depends on which resolver the runner hits), these hit the same no
IPv6 route issue intermittently, explaining the flaky failures.
2026-08-13 15:35:16 +00:00
haemka bfbe77e08a Force IPv4 for SSH connections to the deploy host
Build and deploy / build-and-deploy (push) Failing after 40s
aquaria.haemka.net has both A and AAAA records; the runner container has
no IPv6 route, so ssh picked the AAAA address and failed with 'Network
is unreachable'. Force -4 on both the keyscan and the actual rsync
connection.
2026-08-13 15:30:42 +00:00
haemka b87c1e685a Stop suppressing ssh-keyscan stderr in Set up SSH key step
Build and deploy / build-and-deploy (push) Failing after 2m58s
The step failed silently (exit 1, no message) because stderr was
redirected to /dev/null while sh -e aborts on ssh-keyscan's non-zero
exit. Let the real error (DNS/firewall/etc.) show up in the log.
2026-08-13 15:25:21 +00:00
haemka 88a9e83e35 Revert DEPLOY_USER back to a secret
Build and deploy / build-and-deploy (push) Failing after 39s
Only host/port were asked to move to variables; user stays a secret.
2026-08-13 15:22:00 +00:00
haemka 53f6c3da23 Move deploy host/port/user/path to repo variables, split port out
None of these are sensitive, so use Actions variables (vars) instead of
secrets. DEPLOY_PORT is now its own variable (default 22) rather than
being packed into DEPLOY_HOST. Only DEPLOY_SSH_KEY remains a secret.
2026-08-13 15:19:13 +00:00
haemka b68a2cc916 Support non-standard SSH port in DEPLOY_HOST (fqdn:port)
ssh-keyscan and rsync's -e ssh both need the port passed via -p rather
than embedded in the hostname; parse DEPLOY_HOST accordingly, defaulting
to 22 when no port is given.
2026-08-13 15:16:54 +00:00
haemka 33654a1030 Use SSH deploy key instead of account token for theme submodule
Build and deploy / build-and-deploy (push) Failing after 2m43s
Avoids tying CI to a personal/bot Gitea account: the same DEPLOY_SSH_KEY
secret used for the webserver rsync step is reused as a read-only Gitea
deploy key on hmk/pelican-latex. The submodule's tracked HTTPS URL is
overridden to SSH just for this checkout so it authenticates with that
key instead of needing a token with access to both repos.
2026-08-13 15:13:44 +00:00
haemka 387a53d37c Pass explicit token to checkout for private theme submodule
The default per-job Actions token only covers the triggering repo; the
theme submodule lives in a separate private repo (hmk/pelican-latex), so
cloning it needs a token with read access to both. Add CHECKOUT_TOKEN
as a repo secret (a Gitea access token with repo read scope) for this
to work.
2026-08-13 15:08:26 +00:00
haemka 88bed173c1 Install nodejs in workflow container so actions/checkout can run
Build and deploy / build-and-deploy (push) Failing after 19s
python:3.12-slim has no Node.js; JS-based actions like actions/checkout
need it to execute their bundled dist/index.js.
2026-08-13 15:03:49 +00:00
haemka d47300a4d7 Add Gitea Actions workflow to build and deploy the site
Build and deploy / build-and-deploy (push) Failing after 11s
Requires a self-hosted runner and repo secrets (DEPLOY_HOST, DEPLOY_USER,
DEPLOY_PATH, DEPLOY_SSH_KEY) to be set up before it will actually run.
2026-08-13 14:46:19 +00:00
haemka 54835cbdee Theme update 2026-08-13 16:02:08 +02:00
haemka da850454d7 Theme update 2026-08-13 15:00:56 +02:00
haemka e8c68762ef New article "fhir date parameters", config changes for multilanguage
support, tarnslations for existing pages and articles
2026-08-13 12:44:58 +02:00
haemka fd15057843 Updated about-me 2024-01-26 22:28:29 +01:00
haemka 0eec5bffd7 Added article Scientific workflow with BOOX Note Air 3 C 2024-01-26 22:20:54 +01:00
haemka d1cdf789ec Added about me page, theme test hidden, minor theme fixes 2023-04-03 16:16:28 +02:00
haemka ba3c587cf9 updater script optimization 2022-09-23 17:59:06 +02:00
hmk 42a5ac6ee1 Theme vesion bump 2022-09-23 17:46:28 +02:00
hmk d9f3cf9757 Site update 2022-09-23 17:40:35 +02:00
haemka a8f15bf201 Changed updater 2020-05-31 23:13:01 +02:00
haemka 109a2f559b Added update script 2020-05-31 23:07:38 +02:00
haemka 0adeba521c Theme update 2020-05-31 22:05:17 +02:00
haemka 9b93a5872b Theme modified 2020-05-31 20:18:41 +02:00
haemka e4d5f542d4 Theme test update, fixed gitignore 2020-05-31 18:54:59 +02:00
haemka ad4875cdc4 Update 2020-05-31 18:51:45 +02:00
haemka 4ec0eb1365 Initial commit 2020-05-31 15:44:53 +02:00