diff options
| -rw-r--r-- | .platform.app.yaml | 16 | ||||
| -rw-r--r-- | .platform/routes.yaml | 6 | ||||
| -rw-r--r-- | .platform/services.yaml | 0 | ||||
| -rw-r--r-- | cmd/www-kilabit/main.go | 38 | ||||
| -rw-r--r-- | go.mod | 1 | ||||
| -rw-r--r-- | go.sum | 2 |
6 files changed, 53 insertions, 10 deletions
diff --git a/.platform.app.yaml b/.platform.app.yaml new file mode 100644 index 0000000..7f59e5e --- /dev/null +++ b/.platform.app.yaml @@ -0,0 +1,16 @@ +name: www-kilabit +type: 'golang:1.17' +hooks: + build: | + go generate + go build ./cmd/www-kilabit +web: + upstream: + socket_family: "tcp" + protocol: "http" + commands: + start: "./www-kilabit -env=platform.sh" + locations: + '/': + allow: false + passthru: true diff --git a/.platform/routes.yaml b/.platform/routes.yaml new file mode 100644 index 0000000..1da11c4 --- /dev/null +++ b/.platform/routes.yaml @@ -0,0 +1,6 @@ +"https://{default}/": + type: upstream + upstream: "www-kilabit:http" +"https://www.{default}/": + type: redirect + to: "https://{default}/" diff --git a/.platform/services.yaml b/.platform/services.yaml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.platform/services.yaml diff --git a/cmd/www-kilabit/main.go b/cmd/www-kilabit/main.go index 5e9a021..8bdfc2b 100644 --- a/cmd/www-kilabit/main.go +++ b/cmd/www-kilabit/main.go @@ -5,15 +5,33 @@ import ( "log" "strings" + psh "github.com/platformsh/config-reader-go/v2" + "git.sr.ht/~shulhan/ciigo" "github.com/shuLhan/share/lib/memfs" ) +const ( + envNameDev = "dev" + envNamePlatformsh = "platform.sh" +) + var memfsContent *memfs.MemFS func main() { var ( - flagEnv string + port = "7000" + serveOpts = ciigo.ServeOptions{ + ConvertOptions: ciigo.ConvertOptions{ + Root: "_content", + HtmlTemplate: "_content/template.gohtml", + }, + Mfs: memfsContent, + } + + pshConfig *psh.RuntimeConfig + flagEnv string + err error ) log.SetFlags(0) @@ -25,20 +43,20 @@ func main() { flagEnv = strings.ToLower(flagEnv) } - serveOpts := &ciigo.ServeOptions{ - ConvertOptions: ciigo.ConvertOptions{ - Root: "_content", - HtmlTemplate: "_content/template.gohtml", - }, - Mfs: memfsContent, - Address: "127.0.0.1:7000", + if flagEnv == envNamePlatformsh { + pshConfig, err = psh.NewRuntimeConfig() + if err != nil { + log.Fatal("Not in a Platform.sh environment.") + } + port = pshConfig.Port() } + serveOpts.Address = ":" + port - if flagEnv == "dev" { + if flagEnv == envNameDev { serveOpts.IsDevelopment = true } - err := ciigo.Serve(serveOpts) + err = ciigo.Serve(&serveOpts) if err != nil { log.Fatal(err) } @@ -4,6 +4,7 @@ go 1.16 require ( git.sr.ht/~shulhan/ciigo v0.8.0 + github.com/platformsh/config-reader-go/v2 v2.3.1 github.com/shuLhan/share v0.35.0 golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 // indirect @@ -2,6 +2,8 @@ git.sr.ht/~shulhan/asciidoctor-go v0.2.0 h1:CRlqq2CEONKvNfRBVZLwEArSsq5j77h6sU02 git.sr.ht/~shulhan/asciidoctor-go v0.2.0/go.mod h1:B0a6l1ZfmXKPGOuC5ZT8ICjOMxV5z8dGkAJjAdW8DZc= git.sr.ht/~shulhan/ciigo v0.8.0 h1:1Pyo8X6F/v+P8YZpZqY1fCTZbSkrcjGrnoghz5Dbb7M= git.sr.ht/~shulhan/ciigo v0.8.0/go.mod h1:7eIjsXExC+k881ngPexYPcsLGmUB+9RALJtjVPJ/xAc= +github.com/platformsh/config-reader-go/v2 v2.3.1 h1:Lj74RYc2toKhhMV7zgS8Ua2X/fVBgQzd7hrdONioe2U= +github.com/platformsh/config-reader-go/v2 v2.3.1/go.mod h1:b1XoU9pi4yfOL2HGUKp40BQOhhqJFMNbNXBtwousNR0= github.com/shuLhan/share v0.35.0 h1:dS6q3rBvCLWfUinjpzpzkyZWP8vaXVYiJ5gQQw4SrHk= github.com/shuLhan/share v0.35.0/go.mod h1:laKGR1DNboj8+INRIC9VFYRiVEu/IIjrLurUmTHXkw0= golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= |
