...
1 package main
2
3 import (
4 "context"
5 "flag"
6 "fmt"
7 "os"
8
9 "github.com/linkerd/linkerd2/controller/k8s"
10 "github.com/linkerd/linkerd2/controller/webhook"
11 "github.com/linkerd/linkerd2/jaeger/injector/mutator"
12 "github.com/linkerd/linkerd2/pkg/flags"
13 )
14
15 func main() {
16 cmd := flag.NewFlagSet("injector", flag.ExitOnError)
17 metricsAddr := cmd.String("metrics-addr", fmt.Sprintf(":%d", 9995),
18 "address to serve scrapable metrics on")
19 addr := cmd.String("addr", ":8443", "address to serve on")
20 kubeconfig := cmd.String("kubeconfig", "", "path to kubeconfig")
21 collectorSvcAddr := cmd.String("collector-svc-addr", "",
22 "collector service address for the proxies to send trace data")
23 collectorSvcAccount := cmd.String("collector-svc-account", "",
24 "service account associated with the collector instance")
25 clusterDomain := cmd.String("cluster-domain", "cluster.local", "kubernetes cluster domain")
26 linkerdNamespace := cmd.String("linkerd-namespace", "linkerd", "namespace in which Linkerd control-plane is installed")
27 enablePprof := cmd.Bool("enable-pprof", false, "Enable pprof endpoints on the admin server")
28
29 flags.ConfigureAndParse(cmd, os.Args[1:])
30
31 webhook.Launch(
32 context.Background(),
33 []k8s.APIResource{k8s.NS},
34 mutator.Mutate(*collectorSvcAddr, *collectorSvcAccount, *clusterDomain, *linkerdNamespace),
35 "linkerd-jaeger-injector",
36 *metricsAddr,
37 *addr,
38 *kubeconfig,
39 *enablePprof,
40 )
41 }
42
View as plain text