Home

tailroute @0c5eb68a9c34aaf31e654e5433cd618e27bf7473 - refs - log -
-
https://git.jolheiser.com/tailroute.git
Router for tailnet and funnel across tailscale
tailroute / cmd / tailproxy / args.gen.go
- raw -
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Code generated by gen from schema.cue; DO NOT EDIT.

package main

import (
	"errors"
	"flag"
	"fmt"
)

type cliArgs struct {
	// Tailscale hostname
	Hostname string
	// Tailscale one-time auth key
	AuthKey string
	// Path to a file containing a Tailscale auth key (takes precedence over auth-key)
	AuthKeyFile string
	// Expose on Tailscale funnel
	Funnel bool
	// tsnet data directory
	DataDir string
	// Host to proxy
	Host string
	// Port to proxy
	Port int
}

// defaultArgs returns the defaults from schema.cue.
func defaultArgs() cliArgs {
	return cliArgs{
		DataDir: ".tailproxy",
		Host:    "localhost",
	}
}

// registerFlags defines a flag for every field of c, using c's current
// values as flag defaults.
func registerFlags(fs *flag.FlagSet, c *cliArgs) {
	fs.StringVar(&c.Hostname, "hostname", c.Hostname, "Tailscale hostname")
	fs.StringVar(&c.AuthKey, "auth-key", c.AuthKey, "Tailscale one-time auth key")
	fs.StringVar(&c.AuthKeyFile, "auth-key-file", c.AuthKeyFile, "Path to a file containing a Tailscale auth key (takes precedence over auth-key)")
	fs.BoolVar(&c.Funnel, "funnel", c.Funnel, "Expose on Tailscale funnel")
	fs.StringVar(&c.DataDir, "data-dir", c.DataDir, "tsnet data directory")
	fs.StringVar(&c.Host, "host", c.Host, "Host to proxy")
	fs.IntVar(&c.Port, "port", c.Port, "Port to proxy")
}

// validate checks c against the constraints in schema.cue.
func (c *cliArgs) validate() error {
	var errs []error
	if c.DataDir == "" {
		errs = append(errs, errors.New("data-dir: must not be empty"))
	}
	if c.Port < 1 {
		errs = append(errs, fmt.Errorf("port: must be >= 1, got %v", c.Port))
	}
	if c.Port > 65535 {
		errs = append(errs, fmt.Errorf("port: must be <= 65535, got %v", c.Port))
	}
	return errors.Join(errs...)
}