mirror of
https://github.com/dstotijn/hetty
synced 2024-11-10 06:04:19 +00:00
Scaffold admin app
This commit is contained in:
parent
e4f5f2278a
commit
94363fe196
13 changed files with 5559 additions and 3 deletions
5
admin/.gitignore
vendored
Normal file
5
admin/.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
/node_modules
|
||||
/.next
|
||||
/build
|
||||
|
||||
*.log*
|
16
admin/package.json
Normal file
16
admin/package.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "gurp-admin",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"export": "next build && next export -o build"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "9.1.4",
|
||||
"react": "16.12.0",
|
||||
"react-dom": "16.12.0"
|
||||
}
|
||||
}
|
3
admin/pages/index.js
Normal file
3
admin/pages/index.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
const Page = () => <div>Gurp</div>
|
||||
|
||||
export default Page
|
BIN
admin/public/favicon.ico
Normal file
BIN
admin/public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
5499
admin/yarn.lock
Normal file
5499
admin/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
|
@ -6,13 +6,18 @@ import (
|
|||
"flag"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/http/httputil"
|
||||
"net/url"
|
||||
|
||||
"github.com/dstotijn/gurp/proxy"
|
||||
"github.com/dstotijn/gurp/pkg/proxy"
|
||||
"github.com/gorilla/mux"
|
||||
)
|
||||
|
||||
var (
|
||||
caCertFile = flag.String("cert", "", "CA certificate file path")
|
||||
caKeyFile = flag.String("key", "", "CA private key file path")
|
||||
dev = flag.Bool("dev", false, "Run in development mode")
|
||||
adminPath = flag.String("adminPath", "", "File path to admin build")
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -47,9 +52,27 @@ func main() {
|
|||
}
|
||||
})
|
||||
|
||||
router := mux.NewRouter().SkipClean(true)
|
||||
adminRouter := router.Host("gurp.proxy")
|
||||
|
||||
if *dev {
|
||||
adminURL, err := url.Parse("http://localhost:3000")
|
||||
if err != nil {
|
||||
log.Fatalf("[FATAL] Invalid admin URL: %v", err)
|
||||
}
|
||||
adminRouter.Handler(httputil.NewSingleHostReverseProxy(adminURL))
|
||||
} else {
|
||||
if *adminPath == "" {
|
||||
log.Fatal("[FATAL] `adminPath` must be set")
|
||||
}
|
||||
adminRouter.Handler(http.FileServer(http.Dir(*adminPath)))
|
||||
}
|
||||
|
||||
router.PathPrefix("").Handler(p)
|
||||
|
||||
s := &http.Server{
|
||||
Addr: ":8080",
|
||||
Handler: p,
|
||||
Handler: router,
|
||||
TLSNextProto: map[string]func(*http.Server, *tls.Conn, http.Handler){}, // Disable HTTP/2
|
||||
}
|
||||
|
2
go.mod
2
go.mod
|
@ -1,3 +1,5 @@
|
|||
module github.com/dstotijn/gurp
|
||||
|
||||
go 1.13
|
||||
|
||||
require github.com/gorilla/mux v1.7.3
|
||||
|
|
2
go.sum
2
go.sum
|
@ -0,0 +1,2 @@
|
|||
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
|
||||
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
|
@ -1,6 +1,12 @@
|
|||
@cert = $HOME/.ssh/gurp_cert.pem
|
||||
@key = $HOME/.ssh/gurp_key.pem
|
||||
@dev = false
|
||||
@adminPath = $PWD/admin/build
|
||||
|
||||
**/*.go {
|
||||
daemon +sigterm: go run . -cert @cert -key @key
|
||||
daemon +sigterm: go run ./cmd \
|
||||
-cert=@cert \
|
||||
-key=@key \
|
||||
-dev=@dev \
|
||||
-adminPath=@adminPath
|
||||
}
|
Loading…
Reference in a new issue