~robertgzr/asm

buildx simplified
Remove superflous logging
Enable skipping balena compat with ASM_BALENA_ENABLED=0

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~robertgzr/asm
read/write
git@git.sr.ht:~robertgzr/asm

You can also use your local clone with git send-email.

#asm

... is bake

  • compatible with docker-compose version 2

  • compatible with balena projects *

  • easy driver configuration

  • for now without the kubernetes driver

  • with a podman driver

#usage

#via cli

asm gen docker > asm.yml
asm bake -f compose.yaml

#via container image

docker run --rm -it \
	--mount type=bind,src=${PWD}/asm.yml:/run/asm/asm.yml:ro \
	--mount type=bind,src=${PWD}/compose.yaml:/run/asm/compose.yaml:ro \
	robertgzr/asm:latest \
		bake -f ompose.yaml

#podman

The podman driver, relies on the binary being available in your PATH.

#balena

Supports Dockerfile.template handling, and build time secrets/variables.

Template variable values can be set via environment:

Template variable Environment variable
BALENA_MACHINE_NAME ASM_BALENA_MACHINE_NAME
BALENA_ARCH ASM_BALENA_ARCH
BALENA_APP_NAME ASM_BALENA_APP_NAME
BALENA_RELEASE_HASH ASM_BALENA_RELEASE_HASH

For secrets, there is a caveat:
Populating the build image with the secret relies on balenaEngine, asm uses buildkit instead. As such the buildkit syntax needs to be used, rendering this incompatible with balena.

RUN --mount=type=secret,id=my-secret.txt \
	test -f /run/secrets/my-secret.txt