1
0
Fork 0
mirror of https://github.com/imjasonh/terraform-playground synced 2026-07-18 06:59:33 +00:00
terraform-playground/cf-worker-container/main.go
Jason Hall 9ba46672ce cf-worker-container
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-11-03 13:37:22 -05:00

28 lines
822 B
Go

package main
import (
"context"
"fmt"
"log/slog"
"net/http"
"github.com/chainguard-dev/clog"
"github.com/sethvargo/go-envconfig"
)
var env = envconfig.MustProcess(context.Background(), &struct {
Port string `env:"PORT,default=8080"`
Message string `env:"MESSAGE,default=Hello from Go container!"`
InstanceID string `env:"CLOUDFLARE_DURABLE_OBJECT_ID"`
}{})
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
clog.InfoContext(ctx, "handling request", "path", r.URL.Path, "method", r.Method)
fmt.Fprintf(w, "Hi, I'm a Go container! Message: \"%s\", Instance ID: %s\n", env.Message, env.InstanceID)
})
if err := http.ListenAndServe(":"+env.Port, nil); err != nil && err != http.ErrServerClosed {
slog.Error("server error", "error", err)
}
}