diff options
author | Julien Dessaux | 2024-09-28 14:06:06 +0200 |
---|---|---|
committer | Julien Dessaux | 2024-09-30 01:00:55 +0200 |
commit | baf5aac08e27d33dc5087bbeec1437678bb2a384 (patch) | |
tree | 7fdf62d25d0e4efa4f78037f9318b0cc35a7f0ff /cmd/tfstate/main.go | |
parent | feat(tfstate): bootstrap an http server that answers /healthz (diff) | |
download | tfstated-baf5aac08e27d33dc5087bbeec1437678bb2a384.tar.gz tfstated-baf5aac08e27d33dc5087bbeec1437678bb2a384.tar.bz2 tfstated-baf5aac08e27d33dc5087bbeec1437678bb2a384.zip |
chore(tfstated): rename tfstate to tfstated
Diffstat (limited to 'cmd/tfstate/main.go')
-rw-r--r-- | cmd/tfstate/main.go | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/cmd/tfstate/main.go b/cmd/tfstate/main.go deleted file mode 100644 index e0b33a5..0000000 --- a/cmd/tfstate/main.go +++ /dev/null @@ -1,93 +0,0 @@ -package main - -import ( - "context" - "fmt" - "io" - "log" - "log/slog" - "net" - "net/http" - "os" - "os/signal" - "sync" - "time" -) - -type Config struct { - Host string - Port string -} - -func run( - ctx context.Context, - config *Config, - args []string, - getenv func(string) string, - stdin io.Reader, - stdout, stderr io.Writer, -) error { - ctx, cancel := signal.NotifyContext(ctx, os.Interrupt) - defer cancel() - - mux := http.NewServeMux() - addRoutes( - mux, - ) - httpServer := &http.Server{ - Addr: net.JoinHostPort(config.Host, config.Port), - Handler: mux, - } - go func() { - log.Printf("listening on %s\n", httpServer.Addr) - if err := httpServer.ListenAndServe(); err != nil && err != http.ErrServerClosed { - fmt.Fprintf(os.Stderr, "error listening and serving: %+v\n", err) - } - }() - var wg sync.WaitGroup - wg.Add(1) - go func() { - defer wg.Done() - <-ctx.Done() - shutdownCtx := context.Background() - shutdownCtx, cancel := context.WithTimeout(shutdownCtx, 10*time.Second) - defer cancel() - if err := httpServer.Shutdown(shutdownCtx); err != nil { - fmt.Fprintf(os.Stderr, "error shutting down http server: %+v\n", err) - } - }() - wg.Wait() - - return nil -} - -func main() { - ctx := context.Background() - - var opts *slog.HandlerOptions - if os.Getenv("TFSTATE_DEBUG") != "" { - opts = &slog.HandlerOptions{ - AddSource: true, - Level: slog.LevelDebug, - } - } - logger := slog.New(slog.NewJSONHandler(os.Stdout, opts)) - slog.SetDefault(logger) - - config := Config{ - Host: "0.0.0.0", - Port: "8080", - } - - if err := run( - ctx, - &config, - os.Args, - os.Getenv, - os.Stdin, - os.Stdout, os.Stderr, - ); err != nil { - fmt.Fprintf(os.Stderr, "%+v\n", err) - os.Exit(1) - } -} |