diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 283b9b4..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Makefile b/Makefile index 5b362b8..4a3d97a 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,21 @@ SHELL := /bin/bash -BIN := dist/gopkghsrv -ENTRY_POINT := ./cmd/gopkghsrv +PRODUCT_NAME := gopkghsrv +BIN := dist/${PRODUCT_NAME} +DNAME := ${PRODUCT_NAME}_ +ENTRY_POINT := ./cmd/${PRODUCT_NAME} HASH := $(shell git rev-parse --short HEAD) COMMIT_DATE := $(shell git show -s --format=%ci ${HASH}) BUILD_DATE := $(shell date '+%Y-%m-%d %H:%M:%S') VERSION := ${HASH} -LD_FLAGS := -s -w -X 'main.buildVersion=${VERSION}' -X 'main.buildDate=${BUILD_DATE}' +LD_FLAGS := -s -w -X 'main.buildVersion=${VERSION}' -X 'main.buildDate=${BUILD_DATE}' -X 'main.buildName=${PRODUCT_NAME}' COMP_BIN := go ifeq ($(OS),Windows_NT) BIN := $(BIN).exe + DNAME := $(DNAME).exe endif -.PHONY: build dev test clean +.PHONY: build dev test clean deploy d setup s build: mkdir -p dist/ @@ -24,8 +27,30 @@ dev: ./${BIN} test: - go test + ${COMP_BIN} test clean: - go clean + ${COMP_BIN} clean rm -r -f dist/ + +setup: + sudo cp "${PRODUCT_NAME}.service" /etc/systemd/system + sudo mkdir -p "/etc/${PRODUCT_NAME}" + sudo touch "/etc/${PRODUCT_NAME}/.env" + sudo systemctl daemon-reload + +s: + sudo cp "${DNAME}.service" /etc/systemd/system + sudo mkdir -p "/etc/${DNAME}" + sudo touch "/etc/${DNAME}/.env" + sudo systemctl daemon-reload + +deploy: build + sudo systemctl stop "${PRODUCT_NAME}" + sudo cp "${BIN}" /usr/local/bin + sudo systemctl start "${PRODUCT_NAME}" + +d: build + sudo systemctl stop "${DNAME}" + sudo cp "${BIN}" "/usr/local/bin/${DNAME}" + sudo systemctl start "${DNAME}" diff --git a/README.md b/README.md index dda6ba1..922493d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # GO Package Header Server -[![Build Status](https://ci.mrmelon54.xyz/api/badges/alfred/GOPackageHeaderServer/status.svg)](https://ci.mrmelon54.xyz/alfred/GOPackageHeaderServer) +[![Build Status](https://ci.mrmelon54.com/api/badges/alfred/GOPackageHeaderServer/status.svg)](https://ci.mrmelon54.com/alfred/GOPackageHeaderServer) This allows for the required meta headers to be outputted in order for the GO package system to find the source files of the package. @@ -8,11 +8,11 @@ The outputter can be configured in runtime, the server has a YAML configuration. The outputter can be used to add the extra meta tags to the head of the HTML document. Maintainer: -[Captain ALM](https://code.mrmelon54.xyz/alfred) +[Captain ALM](https://code.mrmelon54.com/alfred) License: -[BSD 3-Clause](https://code.mrmelon54.xyz/alfred/GOPackageHeaderServer/src/branch/master/LICENSE.md) +[BSD 3-Clause](https://code.mrmelon54.com/alfred/GOPackageHeaderServer/src/branch/master/LICENSE.md) Example configuration: -[config.example.yml](https://code.mrmelon54.xyz/alfred/GOPackageHeaderServer/src/branch/master/config.example.yml) +[config.example.yml](https://code.mrmelon54.com/alfred/GOPackageHeaderServer/src/branch/master/config.example.yml) The configuration must by placed in a .data sub-directory from the executable. A .env file must also be generated (Can be empty). \ No newline at end of file diff --git a/gopkghsrv.service b/gopkghsrv.service new file mode 100644 index 0000000..724d1cb --- /dev/null +++ b/gopkghsrv.service @@ -0,0 +1,15 @@ +# GO PKG Header Service +[Unit] +Description=GO PKG Header Service + +[Service] +WorkingDirectory=/etc/gopkghsrv +ExecStart=/usr/local/bin/gopkghsrv +User=www-data +Group=www-data +Type=simple +Restart=on-failure +RestartSec=15 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/gopkghsrv_.service b/gopkghsrv_.service new file mode 100644 index 0000000..83d6b61 --- /dev/null +++ b/gopkghsrv_.service @@ -0,0 +1,15 @@ +# GO PKG Header Service (Dev) +[Unit] +Description=GO PKG Header Service (Dev) + +[Service] +WorkingDirectory=/etc/gopkghsrv_ +ExecStart=/usr/local/bin/gopkghsrv_ +User=www-data +Group=www-data +Type=simple +Restart=on-failure +RestartSec=15 + +[Install] +WantedBy=multi-user.target \ No newline at end of file