Skip to content

About

Developer site of Simon Ostendorf: projects, skills and contact

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

ostendorf.dev

The developer site of Simon Ostendorf: projects, skills and contact.

What it does

A Go service serves a Vue 3 single page application built on the organisation's own govue framework. This milestone ships one placeholder page carrying the real contact and profile links from the predecessor link page; projects, skills and a contact form are later milestones, see AGENTS.md.

Install

task setup

Installs the pinned toolchain (Go, Node, pnpm, and the lint and release tooling) through mise.

Use

task web:build   # builds the SPA into cmd/website/dist
task build        # compiles the website binary into bin/website
bin/website

The server listens on :8080 and answers /healthz, /readyz and /metrics on a second, administrative listener at :8081, never on the public one. Neither address is configurable yet: this service has no environment-driven configuration surface until a later milestone needs one.

Configuration

This service reads no environment variables yet. .env.example documents that and stays ready for the first variable a later milestone adds.

Container

docker compose up --build

Builds the multi-stage Dockerfile (frontend, static Go binary, then a minimal non-root runtime stage with no shell) and serves the site at http://localhost:8080. docker-compose.yaml is for local development only; see charts/ostendorf.dev/README.md for a cluster installation.

scripts/smoke-test-image.sh <image-ref> starts an already built image the same way and asserts its admin listener (:8081) answers /healthz, /readyz and /metrics, its public listener serves a request, and the public listener itself does not answer /metrics. The docker-build job in .github/workflows/checks.yaml runs it against the image it just built, so the container has started and served a real request at least once before anyone ever runs it in the cluster.

Development

task setup
task check

task check runs every lint, build and test target one after another; task --list shows them individually. task web:build has to run before task build or task test:go can compile cmd/website, since it embeds that output; task build and task test:go already declare that dependency, so running either one through Task is enough.

Releases are driven by release-me: Conventional Commits decide the version, and merging the release pull request it maintains cuts the release. CHANGELOG.md is generated, never hand edited.

License

Proprietary, all rights reserved. See LICENSE and NOTICE.

About

Developer site of Simon Ostendorf: projects, skills and contact

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages