.deb kopiëren naar de aptly-server na het bouwen #116

Merged
roelof merged 1 commit from aptly-deploy-stap into main 2026-08-20 16:29:36 +02:00
Owner

Er bleek geen REST API beschikbaar op de aptly-server, dus dit gaat via scp.

Wijziging
build-player.yml kopieert het gebouwde .deb-bestand na de packaging-stap naar roelof@$APTLY_SERVER:/data/aptly/incoming over scp. Wat er daarna met het bestand gebeurt (aptly repo add, aptly publish update) draait op de server zelf, niet in deze workflow.

Sleutelbeveiliging

  • APTLY_KEY en APTLY_SERVER zijn repository secrets.
  • De sleutel wordt naar een tijdelijk keyfile geschreven (chmod 600) en na gebruik weer verwijderd.
  • Aan de serverkant hoort bij deze sleutel een authorized_keys-regel met restrict (geen shell, geen port-forwarding, geen X11) en command="scp -t /data/aptly/incoming/", zodat een gelekte sleutel niets anders kan dan naar die ene map schrijven.
  • De host-key wordt per run gepind met ssh-keyscan in plaats van StrictHostKeyChecking=no te gebruiken.

CLAUDE.md is bijgewerkt met deze stap.

Let op: dit vereist dat de authorized_keys-regel op de server en de secrets APTLY_KEY/APTLY_SERVER in Forgejo zijn ingesteld voordat deze stap slaagt.

Er bleek geen REST API beschikbaar op de aptly-server, dus dit gaat via scp. **Wijziging** `build-player.yml` kopieert het gebouwde .deb-bestand na de packaging-stap naar `roelof@$APTLY_SERVER:/data/aptly/incoming` over scp. Wat er daarna met het bestand gebeurt (`aptly repo add`, `aptly publish update`) draait op de server zelf, niet in deze workflow. **Sleutelbeveiliging** - `APTLY_KEY` en `APTLY_SERVER` zijn repository secrets. - De sleutel wordt naar een tijdelijk keyfile geschreven (`chmod 600`) en na gebruik weer verwijderd. - Aan de serverkant hoort bij deze sleutel een `authorized_keys`-regel met `restrict` (geen shell, geen port-forwarding, geen X11) en `command="scp -t /data/aptly/incoming/"`, zodat een gelekte sleutel niets anders kan dan naar die ene map schrijven. - De host-key wordt per run gepind met `ssh-keyscan` in plaats van `StrictHostKeyChecking=no` te gebruiken. CLAUDE.md is bijgewerkt met deze stap. **Let op**: dit vereist dat de `authorized_keys`-regel op de server en de secrets `APTLY_KEY`/`APTLY_SERVER` in Forgejo zijn ingesteld voordat deze stap slaagt.
build-player.yml zet het gebouwde .deb-bestand nu met scp naar
roelof@$APTLY_SERVER:/data/aptly/incoming. Er is geen REST API op de
aptly-server beschikbaar, dus dit is de enige weg naar binnen; wat er
daarna met het bestand gebeurt (aptly repo add, aptly publish update)
draait op de server zelf.

De sleutel (secrets.APTLY_KEY) is aan de serverkant beperkt tot precies
dit: de authorized_keys-regel draagt restrict en
command="scp -t /data/aptly/incoming/", dus een gelekte sleutel kan geen
shell krijgen en niets anders dan naar die ene map schrijven. De host-key
wordt per run gepind met ssh-keyscan in plaats van StrictHostKeyChecking
uit te zetten.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
roelof merged commit 154df29080 into main 2026-08-20 16:29:36 +02:00
roelof deleted branch aptly-deploy-stap 2026-08-20 16:29:36 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
KavalirOS/RockHeaven!116
No description provided.