code: func NewGatekeeper(org, team, certpath, keypath string, cfg *config.Config, api *api.Client) (*Gatekeeper, error) {
  	server := &http.Server{
  		Addr: cfg.GatekeeperAddress,
  	}
  
  	keypair, err := tlsKeypair(certpath, keypath)
  	if err != nil {
  		log.Printf("Starting Gatekeeper without SSL: %s", err)
  	} else {
  		if err != nil {
  			return nil, err
  		}
  
  		tlsConfig := &tls.Config{
  			MinVersion:   tls.VersionTLS12,
  			Certificates: []tls.Certificate{*keypair},
  		}
  
  		server.TLSConfig = tlsConfig
  	}
  
  	g := &Gatekeeper{
  		defaults: gatekeeperDefaults{
  			Org:  org,
  			Team: team,
  		},
  		s:   server,
  		c:   cfg,
  		api: api,
  	}
  
  	return g, nil
  }
docs: // NewGatekeeper returns a new Gatekeeper.