Resources#

In cijoe the most essential resources are Scripts, Workflows, and Configs. In addition to these are Auxiliary files, and Templates.

Resources are automatically collected from installed cijoe Packages as well as the current working directory (cwd) and any sub-directory with a max depth of 2.

When writing a script then resources are accessed as follows:

from cijoe.core.resources import get_resources

resources = get_resources()

This is convenient as you don’t need to worry about the location of your Auxiliary files – they are readily available.

On the command-line a quick way to list all available resources:

cijoe --resources
Resources collected by the CIJOE collector are listed below.
auxiliary:
  - ident: conf
    path: /cijoe/docs/source/conf.py
  - ident: core.cijoe-completions
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/auxiliary/cijoe-completions
  - ident: core.example
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/auxiliary/example.perfreq
  - ident: emit
    path: /cijoe/docs/emit.py
  - ident: system_imaging.Dockerfile
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/Dockerfile
  - ident: system_imaging.cloudinit-freebsd-metadata
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/cloudinit-freebsd-metadata.meta
  - ident: system_imaging.cloudinit-freebsd-userdata
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/cloudinit-freebsd-userdata.user
  - ident: system_imaging.cloudinit-linux-alpine-userdata
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/cloudinit-linux-alpine-userdata.user
  - ident: system_imaging.cloudinit-linux-common-metadata
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/cloudinit-linux-common-metadata.meta
  - ident: system_imaging.cloudinit-linux-common-userdata
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/cloudinit-linux-common-userdata.user
  - ident: system_imaging.dockerignore
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/auxiliary/dockerignore
configs:
  - ident: core.example_config_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/configs/example_config_default.toml
  - ident: core.transport-ssh
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/configs/transport-ssh.toml
  - ident: fio.example_config_benchmark
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/fio/configs/example_config_benchmark.toml
  - ident: fio.example_config_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/fio/configs/example_config_default.toml
  - ident: gha.example_config_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/gha/configs/example_config_default.toml
  - ident: linux.example_config_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/configs/example_config_default.toml
  - ident: linux.example_config_null_blk
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/configs/example_config_null_blk.toml
  - ident: qemu.example_config_build
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/configs/example_config_build.toml
  - ident: qemu.example_config_guest_aarch64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/configs/example_config_guest_aarch64.toml
  - ident: qemu.example_config_guest_x86_64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/configs/example_config_guest_x86_64.toml
  - ident: system_imaging.example_config_aarch64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/configs/example_config_aarch64.toml
  - ident: system_imaging.example_config_x86_64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/configs/example_config_x86_64.toml
scripts:
  - ident: core.cmdrunner
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/cmdrunner.py
  - ident: core.example_script_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/example_script_default.py
  - ident: core.get
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/get.py
  - ident: core.put
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/put.py
  - ident: core.reporter
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/reporter.py
  - ident: core.repository_prep
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/repository_prep.py
  - ident: core.testrunner
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/scripts/testrunner.py
  - ident: fio.build
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/fio/scripts/build.py
  - ident: fio.check
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/fio/scripts/check.py
  - ident: fio.install
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/fio/scripts/install.py
  - ident: gha.runner_download
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/gha/scripts/runner_download.py
  - ident: gha.runner_remove
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/gha/scripts/runner_remove.py
  - ident: gha.runner_setup
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/gha/scripts/runner_setup.py
  - ident: linux.build_kdebs
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/scripts/build_kdebs.py
  - ident: linux.null_blk
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/scripts/null_blk.py
  - ident: linux.sysinfo
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/scripts/sysinfo.py
  - ident: linux.transfer_and_install_kdebs
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/scripts/transfer_and_install_kdebs.py
  - ident: qemu.build
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/scripts/build.py
  - ident: qemu.guest_initialize
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/scripts/guest_initialize.py
  - ident: qemu.guest_kill
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/scripts/guest_kill.py
  - ident: qemu.guest_start
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/scripts/guest_start.py
  - ident: qemu.install
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/scripts/install.py
  - ident: qemu.qemu_version
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/scripts/qemu_version.py
  - ident: system_imaging.diskimage_from_cloudimage
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/scripts/diskimage_from_cloudimage.py
  - ident: system_imaging.dockerimage_from_diskimage
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/scripts/dockerimage_from_diskimage.py
templates:
  - ident: core.example-tmp-workflow.yaml
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/templates/example-tmp-workflow.yaml.jinja2
  - ident: core.report-workflow.html
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/templates/report-workflow.html.jinja2
workflows:
  - ident: core.example_workflow_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/core/workflows/example_workflow_default.yaml
  - ident: fio.example_workflow_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/fio/workflows/example_workflow_default.yaml
  - ident: gha.example_workflow_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/gha/workflows/example_workflow_default.yaml
  - ident: linux.example_workflow_default
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/workflows/example_workflow_default.yaml
  - ident: linux.example_workflow_null_blk
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/linux/workflows/example_workflow_null_blk.yaml
  - ident: qemu.example_workflow_build
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/workflows/example_workflow_build.yaml
  - ident: qemu.example_workflow_guest_aarch64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/workflows/example_workflow_guest_aarch64.yaml
  - ident: qemu.example_workflow_guest_x86_64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/qemu/workflows/example_workflow_guest_x86_64.yaml
  - ident: system_imaging.example_workflow_aarch64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/workflows/example_workflow_aarch64.yaml
  - ident: system_imaging.example_workflow_x86_64
    path: /home/developer/.local/pipx/venvs/cijoe/lib64/python3.12/site-packages/cijoe/system_imaging/workflows/example_workflow_x86_64.yaml

This is useful when you want to create a modified version of a script, review its details, or verify that all expected resources are available in your installation.

There are gold hidden in the resources for the example, cijoe provides a bash-completion script.

The following sections describe the different types of resources.