Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(docker): add command to inject packed docker images into firmware images #119

Merged
merged 25 commits into from
Jun 10, 2024

Commits on May 29, 2024

  1. feat(file): add ability to read file contents from image

    We add a small helper function to read file contents from the image
    programmatically.
    empwilli committed May 29, 2024
    Configuration menu
    Copy the full SHA
    337d633 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aec69de View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. feat(image): add methods to determine arch for images

    We add helper functionality to determine the architecture for which an image was
    built. This feature relies on this information being stored in the os-release
    file.
    empwilli committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    2561811 View commit details
    Browse the repository at this point in the history
  2. feat(docker): add command to inject docker images

    With omnect-ui (and possibly other use cases) we want to inject docker images
    post-built via omnect-cli. This commit adds a new command that realizes this
    feature. To this end, we extend the omnect-cli to fetch docker images, pack
    them, and copy them into the platform image.
    empwilli committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    3eac612 View commit details
    Browse the repository at this point in the history
  3. test: update /usr/lib/os-release in test images

    We update the test images to reflect the information currently supplied in
    /usr/lib/os-release. In particular, this now includes the `OMNECT_TARGET_ARCH`
    variable. The updated content reflects a build for
    `build-omnect-gateway-devel-rpi4-omnect-lab` and contains the following info:
    
    ```
    ID=omnect-os
    NAME="dobi-OMNECT-gateway-devel"
    VERSION="4.0.18.0"
    VERSION_ID=4.0.18.0
    PRETTY_NAME="dobi-OMNECT-gateway-devel 4.0.18.0"
    DISTRO_FEATURES="debuginfod ipv4 ipv6 polkit seccomp zeroconf  bluetooth wifi wifi-commissioning flash-mode-2 flash-mode-3 iotedge persistent-var-log resize-data systemd virtualization"
    MACHINE="raspberrypi4-64"
    MACHINE_FEATURES="  apm  keyboard   screen touchscreen  bluetooth wifi sdio vc4graphics"
    META_OMNECT_GIT_SHA="15bae4449c8246bc7cd497329ae61e8b3177880b"
    META_OMNECT_GIT_BRANCH="fix/os-release_target_arch"
    META_OMNECT_GIT_REPO="META_OMNECT_GIT_REPO_NOT_SET"
    META_OMNECT_VERSION="META_OMNECT_VERSION_NOT_SET"
    OMNECT_OS_GIT_SHA="OMNECT_OS_GIT_SHA_NOT_SET"
    OMNECT_OS_GIT_BRANCH="OMNECT_OS_GIT_BRANCH_NOT_SET"
    OMNECT_OS_GIT_REPO="OMNECT_OS_GIT_REPO_NOT_SET"
    OMNECT_OS_VERSION="OMNECT_OS_VERSION_NOT_SET"
    OMNECT_DEVEL_TOOLS="    curl     e2fsprogs     ethtool     gdbserver     htop     iproute2-ip     ldd     less     lshw     lsof     ltrace     mmc-utils     screen     strace     sysstat     tcpdump     valgrind           "
    OMNECT_RELEASE_IMAGE="0"
    OMNECT_TARGET_ARCH="aarch64"
    ```
    empwilli committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    7ea5a64 View commit details
    Browse the repository at this point in the history
  4. test: add mock feature for testing purposes

    We add the mock feature to the omnect-cli to enable conditional compilation for
    some testing scenarios which require mocking.
    empwilli committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    c61d1e5 View commit details
    Browse the repository at this point in the history
  5. test: add integration test for docker inject feature

    We therefore also restructure the docker module with an inner module. This way
    we can encapsulate the used implementation depending on the `mock` feature flag.
    empwilli committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    4d946d0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6786764 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    86a5d86 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Configuration menu
    Copy the full SHA
    104c977 View commit details
    Browse the repository at this point in the history
  2. feat: add display trait implementation for partition types

    We add an implementation of the display trait for the partitions to print them
    from omnect-cli.
    empwilli committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    38eb673 View commit details
    Browse the repository at this point in the history
  3. fix(cli): ensure partition names are not renamed

    We ensure that clap uses partition names as they are. Until now clap converts
    them to kebab-case, which leads to inconsistencies with the omnect-cli file
    copy-* commands.
    empwilli committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    eac71c9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8c8ca3f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    132b746 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7fce216 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2ac4e03 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    cb9c31a View commit details
    Browse the repository at this point in the history
  9. refactor: make Compression type interface public

    We want to reuse the compression functionality for `File` types within the
    crate. Thus, we make the operations public. To this end we type to enclose
    compression options parameters to the value types.
    empwilli committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    a7202da View commit details
    Browse the repository at this point in the history
  10. fix(docker): fix archive file suffix to xz

    We pack the docker image with xz, as such use the correct file suffix.
    empwilli committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    4872f39 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a33b05c View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    519b995 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ea334f8 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. Configuration menu
    Copy the full SHA
    48d58fe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3c80175 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    66e99c7 View commit details
    Browse the repository at this point in the history