Add url option to healthcheck command

This commit is contained in:
Nelson Isioma 2025-06-24 09:56:09 +01:00 committed by NEwa-05
parent 85ea8c7b2d
commit f8933c21e8
2 changed files with 29 additions and 3 deletions

View File

@ -2,6 +2,7 @@ package healthcheck
import (
"errors"
"flag"
"fmt"
"net/http"
"os"
@ -22,11 +23,26 @@ func NewCmd(traefikConfiguration *static.Configuration, loaders []cli.ResourceLo
}
}
func runCmd(traefikConfiguration *static.Configuration) func(_ []string) error {
return func(_ []string) error {
func runCmd(traefikConfiguration *static.Configuration) func(args []string) error {
return func(args []string) error {
fs := flag.NewFlagSet("healthcheck", flag.ContinueOnError)
urlFlag := fs.String("url", "", "")
fs.SetOutput(os.Stderr)
if err := fs.Parse(args); err != nil {
return err
}
traefikConfiguration.SetEffectiveConfiguration()
resp, errPing := Do(*traefikConfiguration)
var resp *http.Response
var errPing error
if *urlFlag != "" {
client := &http.Client{Timeout: 5 * time.Second}
resp, errPing = client.Head(*urlFlag)
} else {
resp, errPing = Do(*traefikConfiguration)
}
if resp != nil {
resp.Body.Close()
}

View File

@ -27,6 +27,16 @@ $ traefik healthcheck
OK: http://:8082/ping
```
### URL Option
The URL to check can be specified with the `--url` flag, which defaults to `http://localhost:8080/ping`.
Example:
```sh
traefik healthcheck --url=http://localhost:8080/ping
```
## Ping
The `/ping` health-check URL is enabled with the command-line `--ping` or config file option `[ping]`.