From b598a603a55a2b4cc7bf86785f2cc0dd7ea33da5 Mon Sep 17 00:00:00 2001 From: Luca Bello Date: Mon, 9 Dec 2024 13:55:56 +0100 Subject: [PATCH] feat: add new versions and justfile --- goss.yaml | 15 +++++++++++++++ justfile | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 goss.yaml create mode 100644 justfile diff --git a/goss.yaml b/goss.yaml new file mode 100644 index 0000000..c9eca23 --- /dev/null +++ b/goss.yaml @@ -0,0 +1,15 @@ +process: + grafana: + running: true +package: + ca-certificates: + installed: true +http: + metrics: + status: 200 + url: http://localhost:3000/metrics + timeout: 1000 + health: + status: 200 + url: http://localhost:3000/api/health + timeout: 1000 diff --git a/justfile b/justfile new file mode 100644 index 0000000..51160d0 --- /dev/null +++ b/justfile @@ -0,0 +1,35 @@ +set quiet # Recipes are silent by default +set export # Just variables are exported to environment variables + +kgoss := `which kgoss` # `kgoss` is required + +rock_name := `echo ${PWD##*/} | sed 's/-rock//'` +latest_version := `find . -maxdepth 1 -type d | sort -V | tail -n1 | sed 's@./@@'` + +[private] +default: + just --list + +# Push an OCI image to a local registry +[private] +push-to-registry version: + echo "Pushing $rock_name $version to local registry" + rockcraft.skopeo --insecure-policy copy --dest-tls-verify=false \ + "oci-archive:${version}/${rock_name}_${version}_amd64.rock" \ + "docker://localhost:32000/${rock_name}-dev:${version}" + +# Pack a rock of a specific version +pack version: + cd "$version" && rockcraft pack + +# `rockcraft clean` for a specific version +clean version: + cd "$version" && rockcraft clean + +# Run a rock and open a shell into it with `kgoss` +run version=latest_version: (push-to-registry version) + kgoss edit -i localhost:32000/${rock_name}-dev:${version} + +# Test the rock with `kgoss` +test version=latest_version: (push-to-registry version) + GOSS_OPTS="--retry-timeout 60s" kgoss run -i localhost:32000/${rock_name}-dev:${version}