Private
Public Access
0
0

include an example cmd

This commit is contained in:
teizz
2021-10-24 13:58:11 +02:00
parent 53013812a9
commit c3e6bf0987
7 changed files with 79 additions and 9 deletions

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
export CGO_ENABLED=0
export GO111MODULE=off
echo go build -trimpath \
-ldflags="all=-s -w -buildid= -X main.version=$(cat VERSION) -X main.buildtime=$(date +%FT%T%z)" \
-o pathway \
src/*.go

16
cmd/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM golang:alpine AS builder
RUN apk --no-cache --no-progress add upx
WORKDIR /go/build
COPY . .
RUN echo Building && \
go get -u && \
env CGO_ENABLED=0 go build -trimpath -ldflags="all=-s -w -buildid= -X main.version=v$(cat VERSION) -X main.buildtime=$(date +%FT%T%z)" -o pathway && \
echo Compressing && \
upx pathway > /dev/null
FROM scratch
COPY --from=builder /go/build/pathway /pathway
EXPOSE 8080
CMD ["/pathway"]

1
cmd/VERSION Normal file
View File

@@ -0,0 +1 @@
3.0

3
cmd/build.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
export CGO_ENABLED=0
go build -trimpath -ldflags="all=-s -w -buildid= -X main.version=v$(cat VERSION) -X main.buildtime=$(date +%FT%T%z)" -o pathway

7
cmd/go.mod Normal file
View File

@@ -0,0 +1,7 @@
module main
go 1.16
require (
git.nxdomain.nl/mattijs/pathway v0.1.2
)

2
cmd/go.sum Normal file
View File

@@ -0,0 +1,2 @@
git.nxdomain.nl/mattijs/pathway v0.1.2 h1:EXt0JaDlS4gPvQgGcyslYaLgRC2/AZPC+/8VDba3+bY=
git.nxdomain.nl/mattijs/pathway v0.1.2/go.mod h1:3FllmtSFlVdPPdXmtL+N7V0qdaTtYB/zLyM8uQr+50o=

50
cmd/main.go Normal file
View File

@@ -0,0 +1,50 @@
package main
import (
"log"
"net/http"
"git.nxdomain.nl/mattijs/pathway"
)
var (
// variables to set during build-time
debugging = ""
version = "0.0-undefined"
buildtime = "0000-00-00T00:00:00+0000"
)
func okHandler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("ok"))
}
func emptyHandler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
}
func main() {
info("pathway version:%s buildtime:%s", version, buildtime)
paths := pathway.New()
http.HandleFunc("/health", okHandler)
http.HandleFunc("/favicon.ico", emptyHandler)
http.HandleFunc("/robots.txt", emptyHandler)
http.HandleFunc("/", paths.ServeHTTP)
err := http.ListenAndServe(":8080", nil)
if err != nil {
info("%s", err.Error())
}
}
func info(msg string, args ...interface{}) {
log.Printf("INFO | "+msg, args...)
}
func debug(msg string, args ...interface{}) {
if len(debugging) > 0 {
log.Printf("DEBUG | "+msg, args...)
}
}