- Use custom `crun --root` for all container commands - Implement `cleanup_crun_state` for factory reset - Add retry logic for `crun create` on "File exists" error - Improve OCI config with `set_terminal`, unique env/rlimits - Add default mounts for `/dev/pts`, `/dev/shm`, `/dev/mqueue`, `/sys/fs/cgroup`
20 lines
502 B
GLSL
20 lines
502 B
GLSL
#!/usr/bin/env -S v -n -w -cg -gc none -cc tcc -d use_openssl -enable-globals run
|
|
|
|
import freeflowuniverse.herolib.virt.heropods
|
|
|
|
mut factory := heropods.new(
|
|
reset: false
|
|
use_podman: true
|
|
) or { panic('Failed to init ContainerFactory: ${err}') }
|
|
|
|
mut container := factory.new(
|
|
name: 'alpine_demo'
|
|
image: .custom
|
|
custom_image_name: 'alpine_3_20'
|
|
docker_url: 'docker.io/library/alpine:3.20'
|
|
)!
|
|
|
|
container.start()!
|
|
container.exec(cmd: 'ls')!
|
|
container.stop()!
|