TUN-10389: Implement main run method

This introduces  the main precheck logic. This will follow concurrency model, timeout handling, and retry logic established in the SPEC. We will follow the decision flow in the [connectivity pre-checks SPEC](https://wiki.cfdata.org/spaces/TUN/pages/1374967685/Connectivity+Pre-checks+for+cloudflared). You can find an attached image of what the decision flow should look like.

![image.png](/uploads/fa71215adc2da509f6cbbb74532e3d95/image.png){width=900 height=235}
This commit is contained in:
Miguel da Costa Martins Marcelino
2026-05-04 16:34:52 +00:00
parent da81fb02ec
commit a9b6f703f0
11 changed files with 1117 additions and 8 deletions

3
vendor/modules.txt vendored
View File

@@ -10,6 +10,9 @@ github.com/beorn7/perks/quantile
# github.com/cespare/xxhash/v2 v2.3.0
## explicit; go 1.11
github.com/cespare/xxhash/v2
# github.com/cloudflare/backoff v0.0.0-20240920015135-e46b80a3a7d0
## explicit
github.com/cloudflare/backoff
# github.com/coreos/go-oidc/v3 v3.17.0
## explicit; go 1.24.0
github.com/coreos/go-oidc/v3/oidc