func main() { logger := log.New(os.Stderr, "server", log.LstdFlags) if err := serverFlags.Parse(os.Args[1:]); err != nil { logger.Fatalf("%v", err) } u, err := configmap.New(serverFlags, *dirPathWatch, logger) if err != nil { logger.Fatalf("Failed setting up an updater %v", err) } err = u.Initialize() if err != nil { logger.Fatalf("Failed initializing watcher %v", err) } if err := u.Start(); err != nil { logger.Fatalf("Could not start: %v", err) } logger.Printf("etcd flag value watching initialized") flagzEndpoint := flagz.NewStatusEndpoint(serverFlags) http.HandleFunc("/debug/flagz", flagzEndpoint.ListFlags) http.HandleFunc("/", handleDefaultPage) addr := fmt.Sprintf("%s:%d", *listenHost, *listenPort) logger.Printf("Serving at: %v", addr) if err := http.ListenAndServe(addr, http.DefaultServeMux); err != nil { logger.Fatalf("Failed serving: %v", err) } logger.Printf("Done, bye.") }
func (s *updaterTestSuite) SetupTest() { var err error s.tempDir, err = ioutil.TempDir("/tmp", "updater_test") require.NoError(s.T(), err, "failed creating temp directory for testing") s.copyTestDataToDir() s.linkDataDirTo(firstGoodDir) s.flagSet = flag.NewFlagSet("updater_test", flag.ContinueOnError) s.dynInt = flagz.DynInt64(s.flagSet, "some_dynint", 1, "dynamic int for testing") s.staticInt = s.flagSet.Int32("some_int", 1, "static int for testing") s.updater, err = configmap.New(s.flagSet, path.Join(s.tempDir, "testdata"), &testingLog{T: s.T()}) require.NoError(s.T(), err, "creating a config map must not fail") }