Skip to content

Run buildah as a woodpecker plugin. Supports privileged and non-privileged execution.

License

Notifications You must be signed in to change notification settings

404systems/plugin-buildah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plugin-buildah

status-badge

Run buildah as a woodpecker plugin.

Development

You can test the image by creating an env file with your settings.

PLUGIN_REGISTRY=ghcr.io
PLUGIN_REPO=404systems/plugin-buildah
PLUGIN_USERNAME=foo
PLUGIN_PASSWORD=bar
PLUGIN_TAGS=dev
PLUGIN_MIRROR=mirror.woodpecker.svc.usmn1.internal:80
PLUGIN_CACHE_REPO=404systems/plugin-buildah-cache
PLUGIN_SKIP_PUSH=true
PLUGIN_SKIP_BUILD=false
BUILDAH_ISOLATION=chroot

nu

podman build . -t plugin-buildah ; podman run --rm -it -v ./:/workspace:ro -v /dev/fuse:/dev/fuse --env-file env plugin-buildah

bash

podman build . -t plugin-buildah && podman run --rm -it -v ./:/workspace:ro -v /dev/fuse:/dev/fuse --env-file env plugin-buildah

My goal is to dogfood the build process, using plugin-buildah to build plugin-builah. As a result, the build process happens on my private server via Woodpecker and not Github Actions. This acts as a good test for whether or not features work correctly.

Contributing

Contributions are welcome as long as they are made in good faith and avoid using AI/LLMs/Agents to directly write code.

Some features that I'm looking to implement next are:

  • detect whether /dev/fuse is available and automatically fall back to vfs
  • detect whether its running with privileged mode and fall back to chroot isolation
  • Configuring multiple registry logins
  • Pushing to multiple registries/destinations
  • Outputting the built image to a file instead of pushing it

About

Run buildah as a woodpecker plugin. Supports privileged and non-privileged execution.

Resources

License

Stars

Watchers

Forks

Packages