...
1 package proxyinjector
2
3 import (
4 "context"
5 "flag"
6 "fmt"
7
8 "github.com/linkerd/linkerd2/controller/k8s"
9 injector "github.com/linkerd/linkerd2/controller/proxy-injector"
10 "github.com/linkerd/linkerd2/controller/webhook"
11 "github.com/linkerd/linkerd2/pkg/flags"
12 )
13
14
15 func Main(args []string) {
16 cmd := flag.NewFlagSet("proxy-injector", flag.ExitOnError)
17 metricsAddr := cmd.String("metrics-addr", fmt.Sprintf(":%d", 9995), "address to serve scrapable metrics on")
18 addr := cmd.String("addr", ":8443", "address to serve on")
19 kubeconfig := cmd.String("kubeconfig", "", "path to kubeconfig")
20 linkerdNamespace := cmd.String("linkerd-namespace", "linkerd", "control plane namespace")
21 enablePprof := cmd.Bool("enable-pprof", false, "Enable pprof endpoints on the admin server")
22 flags.ConfigureAndParse(cmd, args)
23
24 webhook.Launch(
25 context.Background(),
26 []k8s.APIResource{k8s.NS, k8s.Deploy, k8s.RC, k8s.RS, k8s.Job, k8s.DS, k8s.SS, k8s.Pod, k8s.CJ},
27 injector.Inject(*linkerdNamespace),
28 "linkerd-proxy-injector",
29 *metricsAddr,
30 *addr,
31 *kubeconfig,
32 *enablePprof,
33 )
34 }
35
View as plain text