main.go (32 lines of code) (raw):
package main
import (
"context"
"flag"
"log"
"github.com/elastic/terraform-provider-elasticstack/provider"
"github.com/hashicorp/terraform-plugin-go/tfprotov6/tf6server"
)
//go:generate terraform fmt -recursive ./examples/
var (
// these will be set by the goreleaser configuration
// to appropriate values for the compiled binary
version string = "dev"
// goreleaser can also pass the specific commit if you want
// commit string = ""
)
func main() {
var debugMode bool
flag.BoolVar(&debugMode, "debug", false, "set to true to run the provider with support for debuggers like delve")
flag.Parse()
serverFactory, err := provider.ProtoV6ProviderServerFactory(context.Background(), version)
if err != nil {
log.Fatal(err)
}
var serveOpts []tf6server.ServeOpt
if debugMode {
serveOpts = append(serveOpts, tf6server.WithManagedDebug())
}
err = tf6server.Serve(
"registry.terraform.io/elastic/elasticstack",
serverFactory,
serveOpts...,
)
if err != nil {
log.Fatal(err)
}
}