1
0
Fork
You've already forked qutomata
0
Some qubes automation.
2025年09月27日 01:10:35 +02:00
README.md init 2025年09月27日 01:10:35 +02:00

Qutomata

Some qubes automation.

Built with and for qubesos/woodpecker/forgeo.

Vision

I want to run my automation stuff on qubesos as easy like woodpecker:

  • change the image name in pipeline
steps:
 - name: stepname
 image: <RunnerDispVM>
  • then run it the qubes way:
woodpecker-cli exec --backend-engine="qubes" path/to/pipeline.yaml

Yeah, somthing like this.

Of course such thing does not exist (yet?), but we can use woodpecker to emulate it... woodpeckerception :)

Let's start.

Prerequisites

  • a powerful AppVM to run the coordinator (qutomata itself)

    installed apps:

    • git
    • woodpecker-cli
    • qubes-core-admin-client
    • qubes-core-agent-passwordless-root

    permissions:

    • read templates (for cloning)
    • create templates, appvm, disposable
    • start/stop/modify/kill/purge selfcreated qubes

    prefs:

    • flagged as DispVM template if you dont provide own runners

Config

default pipeline: .woodpecker/qutomata.yaml

declare cube configuration:

  • .woodpecker/qutomata/tpl/<TemplateVM>.yaml
  • .woodpecker/qutomata/app/<AppVM>.yaml
  • .woodpecker/qutomata/dsp/<DisposableVM>.yaml

downloader: if not specified, systems default disposable is used.

builder: if not specified, included runner with builderv2 is used.

runner: TODO write instructions

signer: TODO write instructions

publisher: TODO write instructions

Usage

Run pipelines:

qtm run path/to/pipeline.yaml
qtm run {AppVM}:/path/to/project path/to/pipeline.yaml