๐Ÿ‘ฉโ€๐Ÿš’ Firefighters API written in Gleam!
lustre gleam

:beer: go back to pods

kacaii.dev 44e4c799 b9ac4dfb

verified
+35 -34
-18
compose.yml
··· 1 - services: 2 - postgres: 3 - image: docker.io/postgres:18-alpine 4 - container_name: postgres 5 - restart: unless-stopped 6 - ports: 7 - - 5432:5432 8 - volumes: 9 - - "./sql/create:/docker-entrypoint-initdb.d" 10 - environment: 11 - - POSTGRES_USER 12 - - POSTGRES_PASSWORD 13 - - POSTGRES_DB 14 - healthcheck: 15 - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] 16 - interval: 5s 17 - timeout: 5s 18 - retries: 5
···
+35 -16
justfile
··· 2 mod server 3 mod shared 4 5 # List available recipes 6 @_default: 7 - just --list 8 9 # Build Lustre runtime and start HTTP server 10 [group("dev")] 11 dev: 12 - just client::build 13 - just server::run 14 15 # Update project dependencies 16 [group("dev")] 17 deps-update: 18 - just shared::deps-update 19 - just client::deps-update 20 - just server::deps-update 21 22 # Check for errors 23 [group("dev")] 24 lint: 25 - just server::lint 26 - just client::lint 27 - just shared::lint 28 29 # Run unit tests 30 [group("dev")] 31 test: 32 - just server::test 33 34 - [group("pod")] 35 - compose-up: 36 - podman-compose up -d 37 38 - [group("pod")] 39 - compose-down: 40 - podman-compose down -v
··· 2 mod server 3 mod shared 4 5 + pod_name := "pod_sigo" 6 + 7 + pg_image := "docker.io/postgres:18-alpine" 8 + pg_env := "-e POSTGRES_USER -e POSTGRES_PASSWORD -e POSTGRES_DB" 9 + pg_port := "5432" 10 + pg_volume := "-v ./sql/create:/docker-entrypoint-initdb.d" 11 + 12 + pg_health_cmd := "--health-cmd 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'" 13 + pg_health_conf := "--health-interval 10s --health-retries 3 --health-timeout 5s" 14 + pg_health_start_period := "--health-start-period 30s" 15 + 16 # List available recipes 17 @_default: 18 + just --list 19 20 # Build Lustre runtime and start HTTP server 21 [group("dev")] 22 dev: 23 + just client::build 24 + just server::run 25 26 # Update project dependencies 27 [group("dev")] 28 deps-update: 29 + just shared::deps-update 30 + just client::deps-update 31 + just server::deps-update 32 33 # Check for errors 34 [group("dev")] 35 lint: 36 + just server::lint 37 + just client::lint 38 + just shared::lint 39 40 # Run unit tests 41 [group("dev")] 42 test: 43 + just server::test 44 + 45 + # Clean pod resources 46 + [group("podman")] 47 + clean: 48 + podman pod rm -f {{ pod_name }} 49 50 + # Init the database container 51 + [group("podman")] 52 + @init-database: create-pod 53 + podman run --rm -d --name postgres-database --pod {{ pod_name }} --replace {{ pg_env }} \ 54 + {{ pg_health_cmd }} {{ pg_health_conf }} {{ pg_health_start_period }} \ 55 + {{ pg_volume }} {{ pg_image }} 56 57 + [private] 58 + @create-pod: 59 + podman pod create --name {{ pod_name }} --replace -p {{ pg_port }}:5432