Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZ.J. van de Weg <git@zjvandeweg.nl>2017-02-03 00:08:19 +0300
committerZ.J. van de Weg <git@zjvandeweg.nl>2017-02-07 21:38:47 +0300
commitddff37bc7cecf2f73a7bb82d60391505ad96a426 (patch)
tree88bdfc87ba74866da6224ddea200062fee31e5aa /main.go
parent1e31fac9d8a60efb3b2b536a46e059f286ab62c0 (diff)
Improve complexity metrics
Also fixed the dependencies, moved metrics to its own package and updated the tests
Diffstat (limited to 'main.go')
-rw-r--r--main.go60
1 files changed, 37 insertions, 23 deletions
diff --git a/main.go b/main.go
index 6238e6eb..172d41e8 100644
--- a/main.go
+++ b/main.go
@@ -13,6 +13,36 @@ var VERSION = "dev"
// REVISION stores the information about the git revision of application
var REVISION = "HEAD"
+var (
+ pagesRootCert = flag.String("root-cert", "", "The default path to file certificate to serve static pages")
+ pagesRootKey = flag.String("root-key", "", "The default path to file certificate to serve static pages")
+ redirectHTTP = flag.Bool("redirect-http", true, "Serve the pages under HTTP")
+ useHTTP2 = flag.Bool("use-http2", true, "Enable HTTP2 support")
+ pagesRoot = flag.String("pages-root", "shared/pages", "The directory where pages are stored")
+ pagesDomain = flag.String("pages-domain", "gitlab-example.com", "The domain to serve static pages")
+ metricsAddress = flag.String("metrics-address", "", "The address to listen on for metrics requests")
+ daemonUID = flag.Uint("daemon-uid", 0, "Drop privileges to this user")
+ daemonGID = flag.Uint("daemon-gid", 0, "Drop privileges to this group")
+)
+
+func configFromFlags() appConfig {
+ var config appConfig
+
+ config.Domain = strings.ToLower(*pagesDomain)
+ config.RedirectHTTP = *redirectHTTP
+ config.HTTP2 = *useHTTP2
+
+ if *pagesRootCert != "" {
+ config.RootCertificate = readFile(*pagesRootCert)
+ }
+
+ if *pagesRootKey != "" {
+ config.RootKey = readFile(*pagesRootKey)
+ }
+
+ return config
+}
+
func appMain() {
var showVersion = flag.Bool("version", false, "Show version")
var listenHTTP, listenHTTPS, listenProxy MultiStringFlag
@@ -21,16 +51,6 @@ func appMain() {
flag.Var(&listenHTTPS, "listen-https", "The address(es) to listen on for HTTPS requests")
flag.Var(&listenProxy, "listen-proxy", "The address(es) to listen on for proxy requests")
- var pagesRootCert = flag.String("root-cert", "", "The default path to file certificate to serve static pages")
- var pagesRootKey = flag.String("root-key", "", "The default path to file certificate to serve static pages")
- var redirectHTTP = flag.Bool("redirect-http", true, "Serve the pages under HTTP")
- var useHTTP2 = flag.Bool("use-http2", true, "Enable HTTP2 support")
- var pagesRoot = flag.String("pages-root", "shared/pages", "The directory where pages are stored")
- var pagesDomain = flag.String("pages-domain", "gitlab-example.com", "The domain to serve static pages")
- var metricsAdress = flag.String("metrics-address", "", "The adress to server metrics to")
- var daemonUID = flag.Uint("daemon-uid", 0, "Drop privileges to this user")
- var daemonGID = flag.Uint("daemon-gid", 0, "Drop privileges to this group")
-
flag.Parse()
printVersion(*showVersion, VERSION)
@@ -43,19 +63,7 @@ func appMain() {
log.Fatalln(err)
}
- var config appConfig
- config.Domain = strings.ToLower(*pagesDomain)
- config.RedirectHTTP = *redirectHTTP
- config.HTTP2 = *useHTTP2
- config.MetricsAddress = *metricsAdress
-
- if *pagesRootCert != "" {
- config.RootCertificate = readFile(*pagesRootCert)
- }
-
- if *pagesRootKey != "" {
- config.RootKey = readFile(*pagesRootKey)
- }
+ config := configFromFlags()
for _, addr := range listenHTTP {
l, fd := createSocket(addr)
@@ -75,6 +83,12 @@ func appMain() {
config.ListenProxy = append(config.ListenProxy, fd)
}
+ if *metricsAddress != "" {
+ l, fd := createSocket(*metricsAddress)
+ defer l.Close()
+ config.ListenMetrics = fd
+ }
+
if *daemonUID != 0 || *daemonGID != 0 {
daemonize(config, *daemonUID, *daemonGID)
return