Adds the two Gitea composite actions that bring a VPN up for a deployment job, with their guides and offline tests. This is the code of MIL-012, whose plan merged in the previous pull request.
What this adds
actions/connect-wireguard: writes a wg-quick configuration (mode 600), brings the interface up, takes it down in a last step; uses the kernel module or wireguard-go.
actions/connect-tailscale: installs Tailscale when missing, joins with an auth key or an OAuth client in TUN or userspace mode, passes the key in a file and never on a command line, logs out on down.
guides/vpn-wireguard.md, guides/vpn-tailscale.md, and a changelog entry under Unreleased.
21 + 13 offline tests with stub commands; the suite passes (574 tests).
What this does not do yet
Neither action has run on a real runner. The Go/No-Go criteria 1 to 5 of MIL-012 (the uses: form that resolves, a recorded run per action, tailscaled surviving to the next step, no secret in a log) are still open. The guides still say "experimental". Nothing is released.
Issues
No issue closed: the tasks are only partly done, so they stay open.
The commits carry Task: MIL-012#N trailers (3, 4 and 7), as the plan-first gate requires.
Adds the two Gitea composite actions that bring a VPN up for a deployment job, with their guides and offline tests. This is the code of [MIL-012](docs/milestones/mil-012-vpn-actions-for-deployment.md), whose plan merged in the previous pull request.
## What this adds
- `actions/connect-wireguard`: writes a wg-quick configuration (mode 600), brings the interface up, takes it down in a last step; uses the kernel module or `wireguard-go`.
- `actions/connect-tailscale`: installs Tailscale when missing, joins with an auth key or an OAuth client in TUN or userspace mode, passes the key in a file and never on a command line, logs out on `down`.
- `guides/vpn-wireguard.md`, `guides/vpn-tailscale.md`, and a changelog entry under `Unreleased`.
- 21 + 13 offline tests with stub commands; the suite passes (574 tests).
## What this does not do yet
Neither action has run on a real runner. The Go/No-Go criteria 1 to 5 of MIL-012 (the `uses:` form that resolves, a recorded run per action, `tailscaled` surviving to the next step, no secret in a log) are still open. The guides still say "experimental". Nothing is released.
## Issues
No issue closed: the tasks are only partly done, so they stay open.
Refs #184
Refs #185
Refs #188
The commits carry `Task: MIL-012#N` trailers (3, 4 and 7), as the plan-first gate requires.
actions/connect-wireguard brings a WireGuard tunnel up for a deployment job and
takes it down again, with a guide and offline tests. The runs on a real runner
(MIL-012 task 3) are still to do.
Refs #184
Task: MIL-012#3
actions/connect-tailscale joins a Tailscale network for a deployment job, with
a guide and offline tests. Whether tailscaled survives to the next step is
still open (MIL-012 task 4).
Refs #185
Task: MIL-012#4
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds the two Gitea composite actions that bring a VPN up for a deployment job, with their guides and offline tests. This is the code of MIL-012, whose plan merged in the previous pull request.
What this adds
actions/connect-wireguard: writes a wg-quick configuration (mode 600), brings the interface up, takes it down in a last step; uses the kernel module orwireguard-go.actions/connect-tailscale: installs Tailscale when missing, joins with an auth key or an OAuth client in TUN or userspace mode, passes the key in a file and never on a command line, logs out ondown.guides/vpn-wireguard.md,guides/vpn-tailscale.md, and a changelog entry underUnreleased.What this does not do yet
Neither action has run on a real runner. The Go/No-Go criteria 1 to 5 of MIL-012 (the
uses:form that resolves, a recorded run per action,tailscaledsurviving to the next step, no secret in a log) are still open. The guides still say "experimental". Nothing is released.Issues
No issue closed: the tasks are only partly done, so they stay open.
Refs #184
Refs #185
Refs #188
The commits carry
Task: MIL-012#Ntrailers (3, 4 and 7), as the plan-first gate requires.