func Start() {
	var h http.Handler
	h = http.HandlerFunc(handleFunc)
	h = basicAuth(h)
	if viper.GetBool("accessLogs") {
		log.Println("WARNING: Access Logs enabled")
		h = handlers.LoggingHandler(os.Stdout, h)
	}
	mux := http.NewServeMux()
	mux.Handle("/", h)
	address := viper.GetString("address")
	log.Println("listen on", address)
	log.Fatal(http.ListenAndServe(address, mux))
}
Start listen for traffic
package server
import (
	"crypto/subtle"
	"errors"
	"io/ioutil"
	"log"
	"net/http"
	"os"
	"github.com/gorilla/handlers"
	"github.com/plumber-cd/terraform-backend-git/backend"
	"github.com/plumber-cd/terraform-backend-git/crypt"
	"github.com/plumber-cd/terraform-backend-git/types"
	"github.com/spf13/viper"
)