Skip to main content

Template Catalog

All templates produce a project with the same structure: application code, a Dockerfile, Kubernetes manifests, and a GitHub Actions workflow. They differ only in language and framework.

Available Templates

TemplateLanguage / FrameworkPortDescription
typescript-basic-webserverTypeScript / Express3000Node.js web server with hot reload
python-basic-webserverPython / Flask6000Flask web server with auto-reload
golang-basic-webserverGo / net/http3000Go web server with health checks
java-basic-webserverJava / Spring Boot3000Spring Boot web server with Actuator
csharp-basic-webserverC# / ASP.NET Core3000ASP.NET Core web server with hot reload
php-basic-webserverPHP / built-in server3000PHP built-in web server
designsystemet-basic-react-appTypeScript / React + Vite3000React app using Digdir Designsystemet components

What every template includes

ComponentPurpose
Application codeA "Hello World" web server in the template's language
DockerfileBuilds the app into a container image
manifests/deployment.yamlKubernetes Deployment and Service definitions
manifests/kustomization.yamlResource list for ArgoCD sync
.github/workflows/GitHub Actions pipeline to build, push, and update manifests
READMETemplate-specific getting started instructions

Docker build patterns

Templates use two build approaches depending on the language:

Single-stage (TypeScript, Python, PHP, React): The Dockerfile installs dependencies and runs the app directly.

Multi-stage (Go, Java, C#): A build stage compiles the application, then a minimal runtime stage copies only the binary. This produces smaller container images.

Full list

The templates are maintained in the urbalurba-dev-templates repository. Check there for the latest templates and detailed README files for each one.