mirror of
				https://github.com/h44z/wg-portal.git
				synced 2025-11-03 23:56:18 +00:00 
			
		
		
		
	feat: TLS support for web (#301)
* Added TLS support for web - Added optional configurations `cert_file` and `key_file` to run web server with https Signed-off-by: Dmytro Bondar <git@bonddim.com> * Helm chart update - Refactored Ingress to use one host only (`config.web.external_url` is required) - Added Certificate resource template (secret is mounted to container into `/app/certs/`) - Added support for service with mixed protocols (exposes UI and Wireguard ports on same IP) - Added helm-docs target to makefile - Changed pod labels to use selectorLabels - Removed default probes (app runs without healthy web) - Removed sections from README Signed-off-by: Dmytro Bondar <git@bonddim.com> * Fix chart workflow path filter * Fix chart lint issue * Skip clean-up tested chart * Try k3d cluster --------- Signed-off-by: Dmytro Bondar <git@bonddim.com>
This commit is contained in:
		@@ -68,8 +68,7 @@ func NewServer(cfg *config.Config, endpoints ...ApiEndpointSetupFunc) (*Server,
 | 
			
		||||
		c.Writer.Header().Set("X-Served-By", hostname)
 | 
			
		||||
		c.Next()
 | 
			
		||||
	}).Use(func(c *gin.Context) {
 | 
			
		||||
		var xRequestID string
 | 
			
		||||
		xRequestID = uuid(16)
 | 
			
		||||
		xRequestID := uuid(16)
 | 
			
		||||
 | 
			
		||||
		c.Request.Header.Set(RequestIDKey, xRequestID)
 | 
			
		||||
		c.Set(RequestIDKey, xRequestID)
 | 
			
		||||
@@ -106,7 +105,13 @@ func (s *Server) Run(ctx context.Context, listenAddress string) {
 | 
			
		||||
 | 
			
		||||
	srvContext, cancelFn := context.WithCancel(ctx)
 | 
			
		||||
	go func() {
 | 
			
		||||
		if err := srv.ListenAndServe(); err != nil {
 | 
			
		||||
		var err error
 | 
			
		||||
		if s.cfg.Web.CertFile != "" && s.cfg.Web.KeyFile != "" {
 | 
			
		||||
			err = srv.ListenAndServeTLS(s.cfg.Web.CertFile, s.cfg.Web.KeyFile)
 | 
			
		||||
		} else {
 | 
			
		||||
			err = srv.ListenAndServe()
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			logrus.Infof("web service on %s exited: %v", listenAddress, err)
 | 
			
		||||
			cancelFn()
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,4 +9,6 @@ type WebConfig struct {
 | 
			
		||||
	CsrfSecret        string `yaml:"csrf_secret"`
 | 
			
		||||
	SiteTitle         string `yaml:"site_title"`
 | 
			
		||||
	SiteCompanyName   string `yaml:"site_company_name"`
 | 
			
		||||
	CertFile          string `yaml:"cert_file"`
 | 
			
		||||
	KeyFile           string `yaml:"key_file"`
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user