Vendor the front-end assets and drop the third-party CDN dependencies (BootstrapCDN is being sunset): the bootstrap 4.0.0 css/js, jquery 3.2.1 slim, and popper 1.12.9 now live under static/ and are served from the app, byte-for-byte identical to the previous SRI-pinned files. Migrate CI from Drone to a Gitea Actions workflow that runs docker build . on push, with the checkout action pinned by SHA. Bring the repo up to standard: - add REPO_POLICIES.md, .editorconfig, .dockerignore, .golangci.yml, and a comprehensive root-anchored .gitignore - rewrite the Makefile with the required test/lint/fmt/fmt-check/check/ docker/hooks targets (golangci-lint, 30s test timeout, verbose rerun on failure, check modifies nothing) - rewrite the Dockerfile as a hash-pinned multistage build: a lint stage (golangci-lint), a glibc build+test stage (the legacy sqlite driver needs cgo+glibc), and a debian-slim runtime carrying the binary, templates, and static assets - add real tests for the hn package - bring the code into golangci-lint (default: all) compliance: fix the malformed gorm struct tags, check previously-ignored errors, dispatch the zerolog error event, avoid a uint->Duration overflow, split long functions, and add doc comments — all behaviour-preserving - expand the README with the required sections
22 lines
436 B
Go
22 lines
436 B
Go
// Command server runs the orangesite transparency-log web application.
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"git.eeqj.de/sneak/orangesite/hn"
|
|
)
|
|
|
|
// Version and Buildarch are injected at build time via
|
|
// -ldflags "-X main.Version=... -X main.Buildarch=...".
|
|
//
|
|
//nolint:gochecknoglobals // set at link time by the build, cannot be const
|
|
var (
|
|
Version string
|
|
Buildarch string
|
|
)
|
|
|
|
func main() {
|
|
os.Exit(hn.RunServer(Version, Buildarch))
|
|
}
|