stgraber / lxd-github-actions Goto Github PK
View Code? Open in Web Editor NEWScripts to run Github Actions runners inside of LXD
License: Apache License 2.0
Scripts to run Github Actions runners inside of LXD
License: Apache License 2.0
Hi @stgraber, I've started playing with a Go implementation of a LXD runner at https://github.com/rgl/lxd-github-actions-runner (aka lxd-ghar).
Its still pretty much a PoC, and I'm using it to learn about lxc/lxd; right now it can:
lxc exec
instead of a systemd service; this seems to give me more control about its execution, and its simpler to send the runner logs to stdout/stderr for easier troubleshoot.I was able to use it to implement a amd64/arm64 workflow that uses Debian live-build to create a custom iso at https://github.com/rgl/tinkerbell-debian-osie/actions.
live-build uses deboostrap internally, and that seems to require me to enable lxc privileged mode and disable apparmor; since I've just started using lxc, I'm not really sure that such a privileged container is really needed, and would really appreciate your advice :-)
I would like to add the features you've mention in this repository README, like being able to maintain a pool of instances. I'm still unsure if this should be handled by systemd instead (if that is actually possible).
The current implementation is interacting with lxc/lxd by calling out the lxc
process; do you think it would be better to use the https://pkg.go.dev/github.com/lxc/lxd/client library instead?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.